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

com.dota2.proto.Usermessages Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: usermessages.proto

package com.dota2.proto;

public final class Usermessages {
  private Usermessages() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code EBaseUserMessages}
   */
  public enum EBaseUserMessages
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * UM_AchievementEvent = 1;
     */
    UM_AchievementEvent(0, 1),
    /**
     * UM_CloseCaption = 2;
     */
    UM_CloseCaption(1, 2),
    /**
     * UM_CloseCaptionDirect = 3;
     */
    UM_CloseCaptionDirect(2, 3),
    /**
     * UM_CurrentTimescale = 4;
     */
    UM_CurrentTimescale(3, 4),
    /**
     * UM_DesiredTimescale = 5;
     */
    UM_DesiredTimescale(4, 5),
    /**
     * UM_Fade = 6;
     */
    UM_Fade(5, 6),
    /**
     * UM_GameTitle = 7;
     */
    UM_GameTitle(6, 7),
    /**
     * UM_Geiger = 8;
     */
    UM_Geiger(7, 8),
    /**
     * UM_HintText = 9;
     */
    UM_HintText(8, 9),
    /**
     * UM_HudMsg = 10;
     */
    UM_HudMsg(9, 10),
    /**
     * UM_HudText = 11;
     */
    UM_HudText(10, 11),
    /**
     * UM_KeyHintText = 12;
     */
    UM_KeyHintText(11, 12),
    /**
     * UM_MessageText = 13;
     */
    UM_MessageText(12, 13),
    /**
     * UM_RequestState = 14;
     */
    UM_RequestState(13, 14),
    /**
     * UM_ResetHUD = 15;
     */
    UM_ResetHUD(14, 15),
    /**
     * UM_Rumble = 16;
     */
    UM_Rumble(15, 16),
    /**
     * UM_SayText = 17;
     */
    UM_SayText(16, 17),
    /**
     * UM_SayText2 = 18;
     */
    UM_SayText2(17, 18),
    /**
     * UM_SayTextChannel = 19;
     */
    UM_SayTextChannel(18, 19),
    /**
     * UM_Shake = 20;
     */
    UM_Shake(19, 20),
    /**
     * UM_ShakeDir = 21;
     */
    UM_ShakeDir(20, 21),
    /**
     * UM_StatsCrawlMsg = 22;
     */
    UM_StatsCrawlMsg(21, 22),
    /**
     * UM_StatsSkipState = 23;
     */
    UM_StatsSkipState(22, 23),
    /**
     * UM_TextMsg = 24;
     */
    UM_TextMsg(23, 24),
    /**
     * UM_Tilt = 25;
     */
    UM_Tilt(24, 25),
    /**
     * UM_Train = 26;
     */
    UM_Train(25, 26),
    /**
     * UM_VGUIMenu = 27;
     */
    UM_VGUIMenu(26, 27),
    /**
     * UM_VoiceMask = 28;
     */
    UM_VoiceMask(27, 28),
    /**
     * UM_VoiceSubtitle = 29;
     */
    UM_VoiceSubtitle(28, 29),
    /**
     * UM_SendAudio = 30;
     */
    UM_SendAudio(29, 30),
    /**
     * UM_CameraTransition = 31;
     */
    UM_CameraTransition(30, 31),
    /**
     * UM_MAX_BASE = 63;
     */
    UM_MAX_BASE(31, 63),
    ;

    /**
     * UM_AchievementEvent = 1;
     */
    public static final int UM_AchievementEvent_VALUE = 1;
    /**
     * UM_CloseCaption = 2;
     */
    public static final int UM_CloseCaption_VALUE = 2;
    /**
     * UM_CloseCaptionDirect = 3;
     */
    public static final int UM_CloseCaptionDirect_VALUE = 3;
    /**
     * UM_CurrentTimescale = 4;
     */
    public static final int UM_CurrentTimescale_VALUE = 4;
    /**
     * UM_DesiredTimescale = 5;
     */
    public static final int UM_DesiredTimescale_VALUE = 5;
    /**
     * UM_Fade = 6;
     */
    public static final int UM_Fade_VALUE = 6;
    /**
     * UM_GameTitle = 7;
     */
    public static final int UM_GameTitle_VALUE = 7;
    /**
     * UM_Geiger = 8;
     */
    public static final int UM_Geiger_VALUE = 8;
    /**
     * UM_HintText = 9;
     */
    public static final int UM_HintText_VALUE = 9;
    /**
     * UM_HudMsg = 10;
     */
    public static final int UM_HudMsg_VALUE = 10;
    /**
     * UM_HudText = 11;
     */
    public static final int UM_HudText_VALUE = 11;
    /**
     * UM_KeyHintText = 12;
     */
    public static final int UM_KeyHintText_VALUE = 12;
    /**
     * UM_MessageText = 13;
     */
    public static final int UM_MessageText_VALUE = 13;
    /**
     * UM_RequestState = 14;
     */
    public static final int UM_RequestState_VALUE = 14;
    /**
     * UM_ResetHUD = 15;
     */
    public static final int UM_ResetHUD_VALUE = 15;
    /**
     * UM_Rumble = 16;
     */
    public static final int UM_Rumble_VALUE = 16;
    /**
     * UM_SayText = 17;
     */
    public static final int UM_SayText_VALUE = 17;
    /**
     * UM_SayText2 = 18;
     */
    public static final int UM_SayText2_VALUE = 18;
    /**
     * UM_SayTextChannel = 19;
     */
    public static final int UM_SayTextChannel_VALUE = 19;
    /**
     * UM_Shake = 20;
     */
    public static final int UM_Shake_VALUE = 20;
    /**
     * UM_ShakeDir = 21;
     */
    public static final int UM_ShakeDir_VALUE = 21;
    /**
     * UM_StatsCrawlMsg = 22;
     */
    public static final int UM_StatsCrawlMsg_VALUE = 22;
    /**
     * UM_StatsSkipState = 23;
     */
    public static final int UM_StatsSkipState_VALUE = 23;
    /**
     * UM_TextMsg = 24;
     */
    public static final int UM_TextMsg_VALUE = 24;
    /**
     * UM_Tilt = 25;
     */
    public static final int UM_Tilt_VALUE = 25;
    /**
     * UM_Train = 26;
     */
    public static final int UM_Train_VALUE = 26;
    /**
     * UM_VGUIMenu = 27;
     */
    public static final int UM_VGUIMenu_VALUE = 27;
    /**
     * UM_VoiceMask = 28;
     */
    public static final int UM_VoiceMask_VALUE = 28;
    /**
     * UM_VoiceSubtitle = 29;
     */
    public static final int UM_VoiceSubtitle_VALUE = 29;
    /**
     * UM_SendAudio = 30;
     */
    public static final int UM_SendAudio_VALUE = 30;
    /**
     * UM_CameraTransition = 31;
     */
    public static final int UM_CameraTransition_VALUE = 31;
    /**
     * UM_MAX_BASE = 63;
     */
    public static final int UM_MAX_BASE_VALUE = 63;


    public final int getNumber() { return value; }

    public static EBaseUserMessages valueOf(int value) {
      switch (value) {
        case 1: return UM_AchievementEvent;
        case 2: return UM_CloseCaption;
        case 3: return UM_CloseCaptionDirect;
        case 4: return UM_CurrentTimescale;
        case 5: return UM_DesiredTimescale;
        case 6: return UM_Fade;
        case 7: return UM_GameTitle;
        case 8: return UM_Geiger;
        case 9: return UM_HintText;
        case 10: return UM_HudMsg;
        case 11: return UM_HudText;
        case 12: return UM_KeyHintText;
        case 13: return UM_MessageText;
        case 14: return UM_RequestState;
        case 15: return UM_ResetHUD;
        case 16: return UM_Rumble;
        case 17: return UM_SayText;
        case 18: return UM_SayText2;
        case 19: return UM_SayTextChannel;
        case 20: return UM_Shake;
        case 21: return UM_ShakeDir;
        case 22: return UM_StatsCrawlMsg;
        case 23: return UM_StatsSkipState;
        case 24: return UM_TextMsg;
        case 25: return UM_Tilt;
        case 26: return UM_Train;
        case 27: return UM_VGUIMenu;
        case 28: return UM_VoiceMask;
        case 29: return UM_VoiceSubtitle;
        case 30: return UM_SendAudio;
        case 31: return UM_CameraTransition;
        case 63: return UM_MAX_BASE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public EBaseUserMessages findValueByNumber(int number) {
              return EBaseUserMessages.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.getDescriptor().getEnumTypes().get(0);
    }

    private static final EBaseUserMessages[] VALUES = values();

    public static EBaseUserMessages valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int index;
    private final int value;

    private EBaseUserMessages(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:EBaseUserMessages)
  }

  public interface CUserMsg_AchievementEventOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 achievement = 1;
    /**
     * optional uint32 achievement = 1;
     */
    boolean hasAchievement();
    /**
     * optional uint32 achievement = 1;
     */
    int getAchievement();
  }
  /**
   * Protobuf type {@code CUserMsg_AchievementEvent}
   */
  public static final class CUserMsg_AchievementEvent extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_AchievementEventOrBuilder {
    // Use CUserMsg_AchievementEvent.newBuilder() to construct.
    private CUserMsg_AchievementEvent(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_AchievementEvent(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_AchievementEvent defaultInstance;
    public static CUserMsg_AchievementEvent getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_AchievementEvent getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_AchievementEvent(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              achievement_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_AchievementEvent_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_AchievementEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_AchievementEvent.class, com.dota2.proto.Usermessages.CUserMsg_AchievementEvent.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_AchievementEvent parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_AchievementEvent(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 achievement = 1;
    public static final int ACHIEVEMENT_FIELD_NUMBER = 1;
    private int achievement_;
    /**
     * optional uint32 achievement = 1;
     */
    public boolean hasAchievement() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 achievement = 1;
     */
    public int getAchievement() {
      return achievement_;
    }

    private void initFields() {
      achievement_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, achievement_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, achievement_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_AchievementEvent prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_AchievementEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_AchievementEventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_AchievementEvent_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_AchievementEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_AchievementEvent.class, com.dota2.proto.Usermessages.CUserMsg_AchievementEvent.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_AchievementEvent.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        achievement_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_AchievementEvent_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_AchievementEvent getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_AchievementEvent.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_AchievementEvent build() {
        com.dota2.proto.Usermessages.CUserMsg_AchievementEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_AchievementEvent buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_AchievementEvent result = new com.dota2.proto.Usermessages.CUserMsg_AchievementEvent(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.achievement_ = achievement_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_AchievementEvent) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_AchievementEvent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_AchievementEvent other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_AchievementEvent.getDefaultInstance()) return this;
        if (other.hasAchievement()) {
          setAchievement(other.getAchievement());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_AchievementEvent parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_AchievementEvent) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 achievement = 1;
      private int achievement_ ;
      /**
       * optional uint32 achievement = 1;
       */
      public boolean hasAchievement() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 achievement = 1;
       */
      public int getAchievement() {
        return achievement_;
      }
      /**
       * optional uint32 achievement = 1;
       */
      public Builder setAchievement(int value) {
        bitField0_ |= 0x00000001;
        achievement_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 achievement = 1;
       */
      public Builder clearAchievement() {
        bitField0_ = (bitField0_ & ~0x00000001);
        achievement_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_AchievementEvent)
    }

    static {
      defaultInstance = new CUserMsg_AchievementEvent(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_AchievementEvent)
  }

  public interface CUserMsg_CloseCaptionOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional fixed32 hash = 1;
    /**
     * optional fixed32 hash = 1;
     */
    boolean hasHash();
    /**
     * optional fixed32 hash = 1;
     */
    int getHash();

    // optional float duration = 2;
    /**
     * optional float duration = 2;
     */
    boolean hasDuration();
    /**
     * optional float duration = 2;
     */
    float getDuration();

    // optional bool from_player = 3;
    /**
     * optional bool from_player = 3;
     */
    boolean hasFromPlayer();
    /**
     * optional bool from_player = 3;
     */
    boolean getFromPlayer();

    // optional int32 ent_index = 4;
    /**
     * optional int32 ent_index = 4;
     */
    boolean hasEntIndex();
    /**
     * optional int32 ent_index = 4;
     */
    int getEntIndex();
  }
  /**
   * Protobuf type {@code CUserMsg_CloseCaption}
   */
  public static final class CUserMsg_CloseCaption extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_CloseCaptionOrBuilder {
    // Use CUserMsg_CloseCaption.newBuilder() to construct.
    private CUserMsg_CloseCaption(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_CloseCaption(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_CloseCaption defaultInstance;
    public static CUserMsg_CloseCaption getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_CloseCaption getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_CloseCaption(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              hash_ = input.readFixed32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              duration_ = input.readFloat();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              fromPlayer_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              entIndex_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_CloseCaption_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_CloseCaption_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_CloseCaption.class, com.dota2.proto.Usermessages.CUserMsg_CloseCaption.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_CloseCaption parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_CloseCaption(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional fixed32 hash = 1;
    public static final int HASH_FIELD_NUMBER = 1;
    private int hash_;
    /**
     * optional fixed32 hash = 1;
     */
    public boolean hasHash() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional fixed32 hash = 1;
     */
    public int getHash() {
      return hash_;
    }

    // optional float duration = 2;
    public static final int DURATION_FIELD_NUMBER = 2;
    private float duration_;
    /**
     * optional float duration = 2;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float duration = 2;
     */
    public float getDuration() {
      return duration_;
    }

    // optional bool from_player = 3;
    public static final int FROM_PLAYER_FIELD_NUMBER = 3;
    private boolean fromPlayer_;
    /**
     * optional bool from_player = 3;
     */
    public boolean hasFromPlayer() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool from_player = 3;
     */
    public boolean getFromPlayer() {
      return fromPlayer_;
    }

    // optional int32 ent_index = 4;
    public static final int ENT_INDEX_FIELD_NUMBER = 4;
    private int entIndex_;
    /**
     * optional int32 ent_index = 4;
     */
    public boolean hasEntIndex() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 ent_index = 4;
     */
    public int getEntIndex() {
      return entIndex_;
    }

    private void initFields() {
      hash_ = 0;
      duration_ = 0F;
      fromPlayer_ = false;
      entIndex_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFixed32(1, hash_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, entIndex_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(1, hash_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, entIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CloseCaption parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_CloseCaption prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_CloseCaption}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_CloseCaptionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CloseCaption_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CloseCaption_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_CloseCaption.class, com.dota2.proto.Usermessages.CUserMsg_CloseCaption.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_CloseCaption.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        hash_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        fromPlayer_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        entIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CloseCaption_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_CloseCaption getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_CloseCaption.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_CloseCaption build() {
        com.dota2.proto.Usermessages.CUserMsg_CloseCaption result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_CloseCaption buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_CloseCaption result = new com.dota2.proto.Usermessages.CUserMsg_CloseCaption(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.hash_ = hash_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.fromPlayer_ = fromPlayer_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.entIndex_ = entIndex_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_CloseCaption) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_CloseCaption)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_CloseCaption other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_CloseCaption.getDefaultInstance()) return this;
        if (other.hasHash()) {
          setHash(other.getHash());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasFromPlayer()) {
          setFromPlayer(other.getFromPlayer());
        }
        if (other.hasEntIndex()) {
          setEntIndex(other.getEntIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_CloseCaption parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_CloseCaption) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional fixed32 hash = 1;
      private int hash_ ;
      /**
       * optional fixed32 hash = 1;
       */
      public boolean hasHash() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional fixed32 hash = 1;
       */
      public int getHash() {
        return hash_;
      }
      /**
       * optional fixed32 hash = 1;
       */
      public Builder setHash(int value) {
        bitField0_ |= 0x00000001;
        hash_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 hash = 1;
       */
      public Builder clearHash() {
        bitField0_ = (bitField0_ & ~0x00000001);
        hash_ = 0;
        onChanged();
        return this;
      }

      // optional float duration = 2;
      private float duration_ ;
      /**
       * optional float duration = 2;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float duration = 2;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 2;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 2;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0F;
        onChanged();
        return this;
      }

      // optional bool from_player = 3;
      private boolean fromPlayer_ ;
      /**
       * optional bool from_player = 3;
       */
      public boolean hasFromPlayer() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool from_player = 3;
       */
      public boolean getFromPlayer() {
        return fromPlayer_;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder setFromPlayer(boolean value) {
        bitField0_ |= 0x00000004;
        fromPlayer_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder clearFromPlayer() {
        bitField0_ = (bitField0_ & ~0x00000004);
        fromPlayer_ = false;
        onChanged();
        return this;
      }

      // optional int32 ent_index = 4;
      private int entIndex_ ;
      /**
       * optional int32 ent_index = 4;
       */
      public boolean hasEntIndex() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 ent_index = 4;
       */
      public int getEntIndex() {
        return entIndex_;
      }
      /**
       * optional int32 ent_index = 4;
       */
      public Builder setEntIndex(int value) {
        bitField0_ |= 0x00000008;
        entIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 ent_index = 4;
       */
      public Builder clearEntIndex() {
        bitField0_ = (bitField0_ & ~0x00000008);
        entIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_CloseCaption)
    }

    static {
      defaultInstance = new CUserMsg_CloseCaption(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_CloseCaption)
  }

  public interface CUserMsg_CurrentTimescaleOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional float current = 1;
    /**
     * optional float current = 1;
     */
    boolean hasCurrent();
    /**
     * optional float current = 1;
     */
    float getCurrent();
  }
  /**
   * Protobuf type {@code CUserMsg_CurrentTimescale}
   */
  public static final class CUserMsg_CurrentTimescale extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_CurrentTimescaleOrBuilder {
    // Use CUserMsg_CurrentTimescale.newBuilder() to construct.
    private CUserMsg_CurrentTimescale(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_CurrentTimescale(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_CurrentTimescale defaultInstance;
    public static CUserMsg_CurrentTimescale getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_CurrentTimescale getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_CurrentTimescale(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              current_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_CurrentTimescale_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_CurrentTimescale_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale.class, com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_CurrentTimescale parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_CurrentTimescale(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional float current = 1;
    public static final int CURRENT_FIELD_NUMBER = 1;
    private float current_;
    /**
     * optional float current = 1;
     */
    public boolean hasCurrent() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional float current = 1;
     */
    public float getCurrent() {
      return current_;
    }

    private void initFields() {
      current_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(1, current_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, current_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_CurrentTimescale}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_CurrentTimescaleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CurrentTimescale_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CurrentTimescale_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale.class, com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        current_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CurrentTimescale_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale build() {
        com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale result = new com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.current_ = current_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale.getDefaultInstance()) return this;
        if (other.hasCurrent()) {
          setCurrent(other.getCurrent());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_CurrentTimescale) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional float current = 1;
      private float current_ ;
      /**
       * optional float current = 1;
       */
      public boolean hasCurrent() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional float current = 1;
       */
      public float getCurrent() {
        return current_;
      }
      /**
       * optional float current = 1;
       */
      public Builder setCurrent(float value) {
        bitField0_ |= 0x00000001;
        current_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float current = 1;
       */
      public Builder clearCurrent() {
        bitField0_ = (bitField0_ & ~0x00000001);
        current_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_CurrentTimescale)
    }

    static {
      defaultInstance = new CUserMsg_CurrentTimescale(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_CurrentTimescale)
  }

  public interface CUserMsg_DesiredTimescaleOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional float desired = 1;
    /**
     * optional float desired = 1;
     */
    boolean hasDesired();
    /**
     * optional float desired = 1;
     */
    float getDesired();

    // optional float duration = 2;
    /**
     * optional float duration = 2;
     */
    boolean hasDuration();
    /**
     * optional float duration = 2;
     */
    float getDuration();

    // optional uint32 interpolator = 3;
    /**
     * optional uint32 interpolator = 3;
     */
    boolean hasInterpolator();
    /**
     * optional uint32 interpolator = 3;
     */
    int getInterpolator();

    // optional float start_blend_time = 4;
    /**
     * optional float start_blend_time = 4;
     */
    boolean hasStartBlendTime();
    /**
     * optional float start_blend_time = 4;
     */
    float getStartBlendTime();
  }
  /**
   * Protobuf type {@code CUserMsg_DesiredTimescale}
   */
  public static final class CUserMsg_DesiredTimescale extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_DesiredTimescaleOrBuilder {
    // Use CUserMsg_DesiredTimescale.newBuilder() to construct.
    private CUserMsg_DesiredTimescale(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_DesiredTimescale(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_DesiredTimescale defaultInstance;
    public static CUserMsg_DesiredTimescale getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_DesiredTimescale getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_DesiredTimescale(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              desired_ = input.readFloat();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              duration_ = input.readFloat();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              interpolator_ = input.readUInt32();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              startBlendTime_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_DesiredTimescale_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_DesiredTimescale_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale.class, com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_DesiredTimescale parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_DesiredTimescale(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional float desired = 1;
    public static final int DESIRED_FIELD_NUMBER = 1;
    private float desired_;
    /**
     * optional float desired = 1;
     */
    public boolean hasDesired() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional float desired = 1;
     */
    public float getDesired() {
      return desired_;
    }

    // optional float duration = 2;
    public static final int DURATION_FIELD_NUMBER = 2;
    private float duration_;
    /**
     * optional float duration = 2;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float duration = 2;
     */
    public float getDuration() {
      return duration_;
    }

    // optional uint32 interpolator = 3;
    public static final int INTERPOLATOR_FIELD_NUMBER = 3;
    private int interpolator_;
    /**
     * optional uint32 interpolator = 3;
     */
    public boolean hasInterpolator() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 interpolator = 3;
     */
    public int getInterpolator() {
      return interpolator_;
    }

    // optional float start_blend_time = 4;
    public static final int START_BLEND_TIME_FIELD_NUMBER = 4;
    private float startBlendTime_;
    /**
     * optional float start_blend_time = 4;
     */
    public boolean hasStartBlendTime() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float start_blend_time = 4;
     */
    public float getStartBlendTime() {
      return startBlendTime_;
    }

    private void initFields() {
      desired_ = 0F;
      duration_ = 0F;
      interpolator_ = 0;
      startBlendTime_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(1, desired_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, interpolator_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, startBlendTime_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, desired_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, interpolator_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, startBlendTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_DesiredTimescale}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_DesiredTimescaleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_DesiredTimescale_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_DesiredTimescale_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale.class, com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        desired_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        interpolator_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        startBlendTime_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_DesiredTimescale_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale build() {
        com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale result = new com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.desired_ = desired_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.interpolator_ = interpolator_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.startBlendTime_ = startBlendTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale.getDefaultInstance()) return this;
        if (other.hasDesired()) {
          setDesired(other.getDesired());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasInterpolator()) {
          setInterpolator(other.getInterpolator());
        }
        if (other.hasStartBlendTime()) {
          setStartBlendTime(other.getStartBlendTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_DesiredTimescale) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional float desired = 1;
      private float desired_ ;
      /**
       * optional float desired = 1;
       */
      public boolean hasDesired() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional float desired = 1;
       */
      public float getDesired() {
        return desired_;
      }
      /**
       * optional float desired = 1;
       */
      public Builder setDesired(float value) {
        bitField0_ |= 0x00000001;
        desired_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float desired = 1;
       */
      public Builder clearDesired() {
        bitField0_ = (bitField0_ & ~0x00000001);
        desired_ = 0F;
        onChanged();
        return this;
      }

      // optional float duration = 2;
      private float duration_ ;
      /**
       * optional float duration = 2;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float duration = 2;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 2;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 2;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0F;
        onChanged();
        return this;
      }

      // optional uint32 interpolator = 3;
      private int interpolator_ ;
      /**
       * optional uint32 interpolator = 3;
       */
      public boolean hasInterpolator() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 interpolator = 3;
       */
      public int getInterpolator() {
        return interpolator_;
      }
      /**
       * optional uint32 interpolator = 3;
       */
      public Builder setInterpolator(int value) {
        bitField0_ |= 0x00000004;
        interpolator_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 interpolator = 3;
       */
      public Builder clearInterpolator() {
        bitField0_ = (bitField0_ & ~0x00000004);
        interpolator_ = 0;
        onChanged();
        return this;
      }

      // optional float start_blend_time = 4;
      private float startBlendTime_ ;
      /**
       * optional float start_blend_time = 4;
       */
      public boolean hasStartBlendTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float start_blend_time = 4;
       */
      public float getStartBlendTime() {
        return startBlendTime_;
      }
      /**
       * optional float start_blend_time = 4;
       */
      public Builder setStartBlendTime(float value) {
        bitField0_ |= 0x00000008;
        startBlendTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float start_blend_time = 4;
       */
      public Builder clearStartBlendTime() {
        bitField0_ = (bitField0_ & ~0x00000008);
        startBlendTime_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_DesiredTimescale)
    }

    static {
      defaultInstance = new CUserMsg_DesiredTimescale(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_DesiredTimescale)
  }

  public interface CUserMsg_FadeOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 duration = 1;
    /**
     * optional uint32 duration = 1;
     */
    boolean hasDuration();
    /**
     * optional uint32 duration = 1;
     */
    int getDuration();

    // optional uint32 hold_time = 2;
    /**
     * optional uint32 hold_time = 2;
     */
    boolean hasHoldTime();
    /**
     * optional uint32 hold_time = 2;
     */
    int getHoldTime();

    // optional uint32 flags = 3;
    /**
     * optional uint32 flags = 3;
     */
    boolean hasFlags();
    /**
     * optional uint32 flags = 3;
     */
    int getFlags();

    // optional fixed32 color = 4;
    /**
     * optional fixed32 color = 4;
     */
    boolean hasColor();
    /**
     * optional fixed32 color = 4;
     */
    int getColor();
  }
  /**
   * Protobuf type {@code CUserMsg_Fade}
   */
  public static final class CUserMsg_Fade extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_FadeOrBuilder {
    // Use CUserMsg_Fade.newBuilder() to construct.
    private CUserMsg_Fade(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_Fade(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_Fade defaultInstance;
    public static CUserMsg_Fade getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_Fade getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_Fade(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              duration_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              holdTime_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              flags_ = input.readUInt32();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              color_ = input.readFixed32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Fade_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Fade_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_Fade.class, com.dota2.proto.Usermessages.CUserMsg_Fade.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_Fade parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_Fade(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 duration = 1;
    public static final int DURATION_FIELD_NUMBER = 1;
    private int duration_;
    /**
     * optional uint32 duration = 1;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 duration = 1;
     */
    public int getDuration() {
      return duration_;
    }

    // optional uint32 hold_time = 2;
    public static final int HOLD_TIME_FIELD_NUMBER = 2;
    private int holdTime_;
    /**
     * optional uint32 hold_time = 2;
     */
    public boolean hasHoldTime() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 hold_time = 2;
     */
    public int getHoldTime() {
      return holdTime_;
    }

    // optional uint32 flags = 3;
    public static final int FLAGS_FIELD_NUMBER = 3;
    private int flags_;
    /**
     * optional uint32 flags = 3;
     */
    public boolean hasFlags() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 flags = 3;
     */
    public int getFlags() {
      return flags_;
    }

    // optional fixed32 color = 4;
    public static final int COLOR_FIELD_NUMBER = 4;
    private int color_;
    /**
     * optional fixed32 color = 4;
     */
    public boolean hasColor() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional fixed32 color = 4;
     */
    public int getColor() {
      return color_;
    }

    private void initFields() {
      duration_ = 0;
      holdTime_ = 0;
      flags_ = 0;
      color_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, duration_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, holdTime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, flags_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFixed32(4, color_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, duration_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, holdTime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, flags_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(4, color_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Fade parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_Fade prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_Fade}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_FadeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Fade_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Fade_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_Fade.class, com.dota2.proto.Usermessages.CUserMsg_Fade.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_Fade.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        duration_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        holdTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Fade_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Fade getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_Fade.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_Fade build() {
        com.dota2.proto.Usermessages.CUserMsg_Fade result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Fade buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_Fade result = new com.dota2.proto.Usermessages.CUserMsg_Fade(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.holdTime_ = holdTime_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.flags_ = flags_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.color_ = color_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_Fade) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_Fade)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_Fade other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_Fade.getDefaultInstance()) return this;
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasHoldTime()) {
          setHoldTime(other.getHoldTime());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_Fade parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_Fade) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 duration = 1;
      private int duration_ ;
      /**
       * optional uint32 duration = 1;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 duration = 1;
       */
      public int getDuration() {
        return duration_;
      }
      /**
       * optional uint32 duration = 1;
       */
      public Builder setDuration(int value) {
        bitField0_ |= 0x00000001;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 duration = 1;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 hold_time = 2;
      private int holdTime_ ;
      /**
       * optional uint32 hold_time = 2;
       */
      public boolean hasHoldTime() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 hold_time = 2;
       */
      public int getHoldTime() {
        return holdTime_;
      }
      /**
       * optional uint32 hold_time = 2;
       */
      public Builder setHoldTime(int value) {
        bitField0_ |= 0x00000002;
        holdTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 hold_time = 2;
       */
      public Builder clearHoldTime() {
        bitField0_ = (bitField0_ & ~0x00000002);
        holdTime_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 flags = 3;
      private int flags_ ;
      /**
       * optional uint32 flags = 3;
       */
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 flags = 3;
       */
      public int getFlags() {
        return flags_;
      }
      /**
       * optional uint32 flags = 3;
       */
      public Builder setFlags(int value) {
        bitField0_ |= 0x00000004;
        flags_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 flags = 3;
       */
      public Builder clearFlags() {
        bitField0_ = (bitField0_ & ~0x00000004);
        flags_ = 0;
        onChanged();
        return this;
      }

      // optional fixed32 color = 4;
      private int color_ ;
      /**
       * optional fixed32 color = 4;
       */
      public boolean hasColor() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional fixed32 color = 4;
       */
      public int getColor() {
        return color_;
      }
      /**
       * optional fixed32 color = 4;
       */
      public Builder setColor(int value) {
        bitField0_ |= 0x00000008;
        color_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 color = 4;
       */
      public Builder clearColor() {
        bitField0_ = (bitField0_ & ~0x00000008);
        color_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_Fade)
    }

    static {
      defaultInstance = new CUserMsg_Fade(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_Fade)
  }

  public interface CUserMsg_ShakeOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 command = 1;
    /**
     * optional uint32 command = 1;
     */
    boolean hasCommand();
    /**
     * optional uint32 command = 1;
     */
    int getCommand();

    // optional float amplitude = 2;
    /**
     * optional float amplitude = 2;
     */
    boolean hasAmplitude();
    /**
     * optional float amplitude = 2;
     */
    float getAmplitude();

    // optional float frequency = 3;
    /**
     * optional float frequency = 3;
     */
    boolean hasFrequency();
    /**
     * optional float frequency = 3;
     */
    float getFrequency();

    // optional float duration = 4;
    /**
     * optional float duration = 4;
     */
    boolean hasDuration();
    /**
     * optional float duration = 4;
     */
    float getDuration();
  }
  /**
   * Protobuf type {@code CUserMsg_Shake}
   */
  public static final class CUserMsg_Shake extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_ShakeOrBuilder {
    // Use CUserMsg_Shake.newBuilder() to construct.
    private CUserMsg_Shake(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_Shake(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_Shake defaultInstance;
    public static CUserMsg_Shake getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_Shake getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_Shake(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              command_ = input.readUInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              amplitude_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              frequency_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              duration_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Shake_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Shake_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_Shake.class, com.dota2.proto.Usermessages.CUserMsg_Shake.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_Shake parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_Shake(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 command = 1;
    public static final int COMMAND_FIELD_NUMBER = 1;
    private int command_;
    /**
     * optional uint32 command = 1;
     */
    public boolean hasCommand() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 command = 1;
     */
    public int getCommand() {
      return command_;
    }

    // optional float amplitude = 2;
    public static final int AMPLITUDE_FIELD_NUMBER = 2;
    private float amplitude_;
    /**
     * optional float amplitude = 2;
     */
    public boolean hasAmplitude() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float amplitude = 2;
     */
    public float getAmplitude() {
      return amplitude_;
    }

    // optional float frequency = 3;
    public static final int FREQUENCY_FIELD_NUMBER = 3;
    private float frequency_;
    /**
     * optional float frequency = 3;
     */
    public boolean hasFrequency() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float frequency = 3;
     */
    public float getFrequency() {
      return frequency_;
    }

    // optional float duration = 4;
    public static final int DURATION_FIELD_NUMBER = 4;
    private float duration_;
    /**
     * optional float duration = 4;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float duration = 4;
     */
    public float getDuration() {
      return duration_;
    }

    private void initFields() {
      command_ = 0;
      amplitude_ = 0F;
      frequency_ = 0F;
      duration_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, amplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, frequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, duration_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, amplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, frequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, duration_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Shake parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_Shake prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_Shake}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_ShakeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Shake_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Shake_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_Shake.class, com.dota2.proto.Usermessages.CUserMsg_Shake.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_Shake.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        command_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        amplitude_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        frequency_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Shake_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Shake getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_Shake.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_Shake build() {
        com.dota2.proto.Usermessages.CUserMsg_Shake result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Shake buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_Shake result = new com.dota2.proto.Usermessages.CUserMsg_Shake(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.command_ = command_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.amplitude_ = amplitude_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.frequency_ = frequency_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.duration_ = duration_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_Shake) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_Shake)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_Shake other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_Shake.getDefaultInstance()) return this;
        if (other.hasCommand()) {
          setCommand(other.getCommand());
        }
        if (other.hasAmplitude()) {
          setAmplitude(other.getAmplitude());
        }
        if (other.hasFrequency()) {
          setFrequency(other.getFrequency());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_Shake parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_Shake) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 command = 1;
      private int command_ ;
      /**
       * optional uint32 command = 1;
       */
      public boolean hasCommand() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 command = 1;
       */
      public int getCommand() {
        return command_;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder setCommand(int value) {
        bitField0_ |= 0x00000001;
        command_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder clearCommand() {
        bitField0_ = (bitField0_ & ~0x00000001);
        command_ = 0;
        onChanged();
        return this;
      }

      // optional float amplitude = 2;
      private float amplitude_ ;
      /**
       * optional float amplitude = 2;
       */
      public boolean hasAmplitude() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float amplitude = 2;
       */
      public float getAmplitude() {
        return amplitude_;
      }
      /**
       * optional float amplitude = 2;
       */
      public Builder setAmplitude(float value) {
        bitField0_ |= 0x00000002;
        amplitude_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float amplitude = 2;
       */
      public Builder clearAmplitude() {
        bitField0_ = (bitField0_ & ~0x00000002);
        amplitude_ = 0F;
        onChanged();
        return this;
      }

      // optional float frequency = 3;
      private float frequency_ ;
      /**
       * optional float frequency = 3;
       */
      public boolean hasFrequency() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float frequency = 3;
       */
      public float getFrequency() {
        return frequency_;
      }
      /**
       * optional float frequency = 3;
       */
      public Builder setFrequency(float value) {
        bitField0_ |= 0x00000004;
        frequency_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float frequency = 3;
       */
      public Builder clearFrequency() {
        bitField0_ = (bitField0_ & ~0x00000004);
        frequency_ = 0F;
        onChanged();
        return this;
      }

      // optional float duration = 4;
      private float duration_ ;
      /**
       * optional float duration = 4;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float duration = 4;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 4;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000008;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 4;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000008);
        duration_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_Shake)
    }

    static {
      defaultInstance = new CUserMsg_Shake(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_Shake)
  }

  public interface CUserMsg_ShakeDirOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional .CUserMsg_Shake shake = 1;
    /**
     * optional .CUserMsg_Shake shake = 1;
     */
    boolean hasShake();
    /**
     * optional .CUserMsg_Shake shake = 1;
     */
    com.dota2.proto.Usermessages.CUserMsg_Shake getShake();
    /**
     * optional .CUserMsg_Shake shake = 1;
     */
    com.dota2.proto.Usermessages.CUserMsg_ShakeOrBuilder getShakeOrBuilder();

    // optional .CMsgVector direction = 2;
    /**
     * optional .CMsgVector direction = 2;
     */
    boolean hasDirection();
    /**
     * optional .CMsgVector direction = 2;
     */
    com.dota2.proto.Networkbasetypes.CMsgVector getDirection();
    /**
     * optional .CMsgVector direction = 2;
     */
    com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getDirectionOrBuilder();
  }
  /**
   * Protobuf type {@code CUserMsg_ShakeDir}
   */
  public static final class CUserMsg_ShakeDir extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_ShakeDirOrBuilder {
    // Use CUserMsg_ShakeDir.newBuilder() to construct.
    private CUserMsg_ShakeDir(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_ShakeDir(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_ShakeDir defaultInstance;
    public static CUserMsg_ShakeDir getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_ShakeDir getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_ShakeDir(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.dota2.proto.Usermessages.CUserMsg_Shake.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = shake_.toBuilder();
              }
              shake_ = input.readMessage(com.dota2.proto.Usermessages.CUserMsg_Shake.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(shake_);
                shake_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              com.dota2.proto.Networkbasetypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = direction_.toBuilder();
              }
              direction_ = input.readMessage(com.dota2.proto.Networkbasetypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(direction_);
                direction_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_ShakeDir_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_ShakeDir_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_ShakeDir.class, com.dota2.proto.Usermessages.CUserMsg_ShakeDir.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_ShakeDir parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_ShakeDir(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional .CUserMsg_Shake shake = 1;
    public static final int SHAKE_FIELD_NUMBER = 1;
    private com.dota2.proto.Usermessages.CUserMsg_Shake shake_;
    /**
     * optional .CUserMsg_Shake shake = 1;
     */
    public boolean hasShake() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CUserMsg_Shake shake = 1;
     */
    public com.dota2.proto.Usermessages.CUserMsg_Shake getShake() {
      return shake_;
    }
    /**
     * optional .CUserMsg_Shake shake = 1;
     */
    public com.dota2.proto.Usermessages.CUserMsg_ShakeOrBuilder getShakeOrBuilder() {
      return shake_;
    }

    // optional .CMsgVector direction = 2;
    public static final int DIRECTION_FIELD_NUMBER = 2;
    private com.dota2.proto.Networkbasetypes.CMsgVector direction_;
    /**
     * optional .CMsgVector direction = 2;
     */
    public boolean hasDirection() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector direction = 2;
     */
    public com.dota2.proto.Networkbasetypes.CMsgVector getDirection() {
      return direction_;
    }
    /**
     * optional .CMsgVector direction = 2;
     */
    public com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getDirectionOrBuilder() {
      return direction_;
    }

    private void initFields() {
      shake_ = com.dota2.proto.Usermessages.CUserMsg_Shake.getDefaultInstance();
      direction_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, shake_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, direction_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, shake_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, direction_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ShakeDir parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_ShakeDir prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_ShakeDir}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_ShakeDirOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_ShakeDir_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_ShakeDir_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_ShakeDir.class, com.dota2.proto.Usermessages.CUserMsg_ShakeDir.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_ShakeDir.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getShakeFieldBuilder();
          getDirectionFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (shakeBuilder_ == null) {
          shake_ = com.dota2.proto.Usermessages.CUserMsg_Shake.getDefaultInstance();
        } else {
          shakeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (directionBuilder_ == null) {
          direction_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_ShakeDir_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_ShakeDir getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_ShakeDir.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_ShakeDir build() {
        com.dota2.proto.Usermessages.CUserMsg_ShakeDir result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_ShakeDir buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_ShakeDir result = new com.dota2.proto.Usermessages.CUserMsg_ShakeDir(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (shakeBuilder_ == null) {
          result.shake_ = shake_;
        } else {
          result.shake_ = shakeBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (directionBuilder_ == null) {
          result.direction_ = direction_;
        } else {
          result.direction_ = directionBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_ShakeDir) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_ShakeDir)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_ShakeDir other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_ShakeDir.getDefaultInstance()) return this;
        if (other.hasShake()) {
          mergeShake(other.getShake());
        }
        if (other.hasDirection()) {
          mergeDirection(other.getDirection());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_ShakeDir parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_ShakeDir) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .CUserMsg_Shake shake = 1;
      private com.dota2.proto.Usermessages.CUserMsg_Shake shake_ = com.dota2.proto.Usermessages.CUserMsg_Shake.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Usermessages.CUserMsg_Shake, com.dota2.proto.Usermessages.CUserMsg_Shake.Builder, com.dota2.proto.Usermessages.CUserMsg_ShakeOrBuilder> shakeBuilder_;
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public boolean hasShake() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public com.dota2.proto.Usermessages.CUserMsg_Shake getShake() {
        if (shakeBuilder_ == null) {
          return shake_;
        } else {
          return shakeBuilder_.getMessage();
        }
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public Builder setShake(com.dota2.proto.Usermessages.CUserMsg_Shake value) {
        if (shakeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          shake_ = value;
          onChanged();
        } else {
          shakeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public Builder setShake(
          com.dota2.proto.Usermessages.CUserMsg_Shake.Builder builderForValue) {
        if (shakeBuilder_ == null) {
          shake_ = builderForValue.build();
          onChanged();
        } else {
          shakeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public Builder mergeShake(com.dota2.proto.Usermessages.CUserMsg_Shake value) {
        if (shakeBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              shake_ != com.dota2.proto.Usermessages.CUserMsg_Shake.getDefaultInstance()) {
            shake_ =
              com.dota2.proto.Usermessages.CUserMsg_Shake.newBuilder(shake_).mergeFrom(value).buildPartial();
          } else {
            shake_ = value;
          }
          onChanged();
        } else {
          shakeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public Builder clearShake() {
        if (shakeBuilder_ == null) {
          shake_ = com.dota2.proto.Usermessages.CUserMsg_Shake.getDefaultInstance();
          onChanged();
        } else {
          shakeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public com.dota2.proto.Usermessages.CUserMsg_Shake.Builder getShakeBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getShakeFieldBuilder().getBuilder();
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      public com.dota2.proto.Usermessages.CUserMsg_ShakeOrBuilder getShakeOrBuilder() {
        if (shakeBuilder_ != null) {
          return shakeBuilder_.getMessageOrBuilder();
        } else {
          return shake_;
        }
      }
      /**
       * optional .CUserMsg_Shake shake = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Usermessages.CUserMsg_Shake, com.dota2.proto.Usermessages.CUserMsg_Shake.Builder, com.dota2.proto.Usermessages.CUserMsg_ShakeOrBuilder> 
          getShakeFieldBuilder() {
        if (shakeBuilder_ == null) {
          shakeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Usermessages.CUserMsg_Shake, com.dota2.proto.Usermessages.CUserMsg_Shake.Builder, com.dota2.proto.Usermessages.CUserMsg_ShakeOrBuilder>(
                  shake_,
                  getParentForChildren(),
                  isClean());
          shake_ = null;
        }
        return shakeBuilder_;
      }

      // optional .CMsgVector direction = 2;
      private com.dota2.proto.Networkbasetypes.CMsgVector direction_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder> directionBuilder_;
      /**
       * optional .CMsgVector direction = 2;
       */
      public boolean hasDirection() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVector getDirection() {
        if (directionBuilder_ == null) {
          return direction_;
        } else {
          return directionBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder setDirection(com.dota2.proto.Networkbasetypes.CMsgVector value) {
        if (directionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          direction_ = value;
          onChanged();
        } else {
          directionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder setDirection(
          com.dota2.proto.Networkbasetypes.CMsgVector.Builder builderForValue) {
        if (directionBuilder_ == null) {
          direction_ = builderForValue.build();
          onChanged();
        } else {
          directionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder mergeDirection(com.dota2.proto.Networkbasetypes.CMsgVector value) {
        if (directionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              direction_ != com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance()) {
            direction_ =
              com.dota2.proto.Networkbasetypes.CMsgVector.newBuilder(direction_).mergeFrom(value).buildPartial();
          } else {
            direction_ = value;
          }
          onChanged();
        } else {
          directionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder clearDirection() {
        if (directionBuilder_ == null) {
          direction_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVector.Builder getDirectionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDirectionFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getDirectionOrBuilder() {
        if (directionBuilder_ != null) {
          return directionBuilder_.getMessageOrBuilder();
        } else {
          return direction_;
        }
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder> 
          getDirectionFieldBuilder() {
        if (directionBuilder_ == null) {
          directionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder>(
                  direction_,
                  getParentForChildren(),
                  isClean());
          direction_ = null;
        }
        return directionBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_ShakeDir)
    }

    static {
      defaultInstance = new CUserMsg_ShakeDir(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_ShakeDir)
  }

  public interface CUserMsg_TiltOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 command = 1;
    /**
     * optional uint32 command = 1;
     */
    boolean hasCommand();
    /**
     * optional uint32 command = 1;
     */
    int getCommand();

    // optional bool ease_in_out = 2;
    /**
     * optional bool ease_in_out = 2;
     */
    boolean hasEaseInOut();
    /**
     * optional bool ease_in_out = 2;
     */
    boolean getEaseInOut();

    // optional .CMsgVector angle = 3;
    /**
     * optional .CMsgVector angle = 3;
     */
    boolean hasAngle();
    /**
     * optional .CMsgVector angle = 3;
     */
    com.dota2.proto.Networkbasetypes.CMsgVector getAngle();
    /**
     * optional .CMsgVector angle = 3;
     */
    com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getAngleOrBuilder();

    // optional float duration = 4;
    /**
     * optional float duration = 4;
     */
    boolean hasDuration();
    /**
     * optional float duration = 4;
     */
    float getDuration();

    // optional float time = 5;
    /**
     * optional float time = 5;
     */
    boolean hasTime();
    /**
     * optional float time = 5;
     */
    float getTime();
  }
  /**
   * Protobuf type {@code CUserMsg_Tilt}
   */
  public static final class CUserMsg_Tilt extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_TiltOrBuilder {
    // Use CUserMsg_Tilt.newBuilder() to construct.
    private CUserMsg_Tilt(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_Tilt(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_Tilt defaultInstance;
    public static CUserMsg_Tilt getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_Tilt getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_Tilt(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              command_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              easeInOut_ = input.readBool();
              break;
            }
            case 26: {
              com.dota2.proto.Networkbasetypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = angle_.toBuilder();
              }
              angle_ = input.readMessage(com.dota2.proto.Networkbasetypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angle_);
                angle_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              duration_ = input.readFloat();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              time_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Tilt_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Tilt_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_Tilt.class, com.dota2.proto.Usermessages.CUserMsg_Tilt.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_Tilt parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_Tilt(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 command = 1;
    public static final int COMMAND_FIELD_NUMBER = 1;
    private int command_;
    /**
     * optional uint32 command = 1;
     */
    public boolean hasCommand() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 command = 1;
     */
    public int getCommand() {
      return command_;
    }

    // optional bool ease_in_out = 2;
    public static final int EASE_IN_OUT_FIELD_NUMBER = 2;
    private boolean easeInOut_;
    /**
     * optional bool ease_in_out = 2;
     */
    public boolean hasEaseInOut() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool ease_in_out = 2;
     */
    public boolean getEaseInOut() {
      return easeInOut_;
    }

    // optional .CMsgVector angle = 3;
    public static final int ANGLE_FIELD_NUMBER = 3;
    private com.dota2.proto.Networkbasetypes.CMsgVector angle_;
    /**
     * optional .CMsgVector angle = 3;
     */
    public boolean hasAngle() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector angle = 3;
     */
    public com.dota2.proto.Networkbasetypes.CMsgVector getAngle() {
      return angle_;
    }
    /**
     * optional .CMsgVector angle = 3;
     */
    public com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getAngleOrBuilder() {
      return angle_;
    }

    // optional float duration = 4;
    public static final int DURATION_FIELD_NUMBER = 4;
    private float duration_;
    /**
     * optional float duration = 4;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float duration = 4;
     */
    public float getDuration() {
      return duration_;
    }

    // optional float time = 5;
    public static final int TIME_FIELD_NUMBER = 5;
    private float time_;
    /**
     * optional float time = 5;
     */
    public boolean hasTime() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional float time = 5;
     */
    public float getTime() {
      return time_;
    }

    private void initFields() {
      command_ = 0;
      easeInOut_ = false;
      angle_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
      duration_ = 0F;
      time_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, easeInOut_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, angle_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, duration_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(5, time_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, easeInOut_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, angle_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, duration_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, time_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Tilt parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_Tilt prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_Tilt}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_TiltOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Tilt_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Tilt_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_Tilt.class, com.dota2.proto.Usermessages.CUserMsg_Tilt.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_Tilt.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAngleFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        command_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        easeInOut_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (angleBuilder_ == null) {
          angle_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        time_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Tilt_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Tilt getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_Tilt.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_Tilt build() {
        com.dota2.proto.Usermessages.CUserMsg_Tilt result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Tilt buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_Tilt result = new com.dota2.proto.Usermessages.CUserMsg_Tilt(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.command_ = command_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.easeInOut_ = easeInOut_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (angleBuilder_ == null) {
          result.angle_ = angle_;
        } else {
          result.angle_ = angleBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.time_ = time_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_Tilt) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_Tilt)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_Tilt other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_Tilt.getDefaultInstance()) return this;
        if (other.hasCommand()) {
          setCommand(other.getCommand());
        }
        if (other.hasEaseInOut()) {
          setEaseInOut(other.getEaseInOut());
        }
        if (other.hasAngle()) {
          mergeAngle(other.getAngle());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasTime()) {
          setTime(other.getTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_Tilt parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_Tilt) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 command = 1;
      private int command_ ;
      /**
       * optional uint32 command = 1;
       */
      public boolean hasCommand() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 command = 1;
       */
      public int getCommand() {
        return command_;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder setCommand(int value) {
        bitField0_ |= 0x00000001;
        command_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder clearCommand() {
        bitField0_ = (bitField0_ & ~0x00000001);
        command_ = 0;
        onChanged();
        return this;
      }

      // optional bool ease_in_out = 2;
      private boolean easeInOut_ ;
      /**
       * optional bool ease_in_out = 2;
       */
      public boolean hasEaseInOut() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool ease_in_out = 2;
       */
      public boolean getEaseInOut() {
        return easeInOut_;
      }
      /**
       * optional bool ease_in_out = 2;
       */
      public Builder setEaseInOut(boolean value) {
        bitField0_ |= 0x00000002;
        easeInOut_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool ease_in_out = 2;
       */
      public Builder clearEaseInOut() {
        bitField0_ = (bitField0_ & ~0x00000002);
        easeInOut_ = false;
        onChanged();
        return this;
      }

      // optional .CMsgVector angle = 3;
      private com.dota2.proto.Networkbasetypes.CMsgVector angle_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder> angleBuilder_;
      /**
       * optional .CMsgVector angle = 3;
       */
      public boolean hasAngle() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVector getAngle() {
        if (angleBuilder_ == null) {
          return angle_;
        } else {
          return angleBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder setAngle(com.dota2.proto.Networkbasetypes.CMsgVector value) {
        if (angleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angle_ = value;
          onChanged();
        } else {
          angleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder setAngle(
          com.dota2.proto.Networkbasetypes.CMsgVector.Builder builderForValue) {
        if (angleBuilder_ == null) {
          angle_ = builderForValue.build();
          onChanged();
        } else {
          angleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder mergeAngle(com.dota2.proto.Networkbasetypes.CMsgVector value) {
        if (angleBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              angle_ != com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance()) {
            angle_ =
              com.dota2.proto.Networkbasetypes.CMsgVector.newBuilder(angle_).mergeFrom(value).buildPartial();
          } else {
            angle_ = value;
          }
          onChanged();
        } else {
          angleBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder clearAngle() {
        if (angleBuilder_ == null) {
          angle_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVector.Builder getAngleBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getAngleFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getAngleOrBuilder() {
        if (angleBuilder_ != null) {
          return angleBuilder_.getMessageOrBuilder();
        } else {
          return angle_;
        }
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder> 
          getAngleFieldBuilder() {
        if (angleBuilder_ == null) {
          angleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder>(
                  angle_,
                  getParentForChildren(),
                  isClean());
          angle_ = null;
        }
        return angleBuilder_;
      }

      // optional float duration = 4;
      private float duration_ ;
      /**
       * optional float duration = 4;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float duration = 4;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 4;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000008;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 4;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000008);
        duration_ = 0F;
        onChanged();
        return this;
      }

      // optional float time = 5;
      private float time_ ;
      /**
       * optional float time = 5;
       */
      public boolean hasTime() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float time = 5;
       */
      public float getTime() {
        return time_;
      }
      /**
       * optional float time = 5;
       */
      public Builder setTime(float value) {
        bitField0_ |= 0x00000010;
        time_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float time = 5;
       */
      public Builder clearTime() {
        bitField0_ = (bitField0_ & ~0x00000010);
        time_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_Tilt)
    }

    static {
      defaultInstance = new CUserMsg_Tilt(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_Tilt)
  }

  public interface CUserMsg_SayTextOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 client = 1;
    /**
     * optional uint32 client = 1;
     */
    boolean hasClient();
    /**
     * optional uint32 client = 1;
     */
    int getClient();

    // optional string text = 2;
    /**
     * optional string text = 2;
     */
    boolean hasText();
    /**
     * optional string text = 2;
     */
    java.lang.String getText();
    /**
     * optional string text = 2;
     */
    com.google.protobuf.ByteString
        getTextBytes();

    // optional bool chat = 3;
    /**
     * optional bool chat = 3;
     */
    boolean hasChat();
    /**
     * optional bool chat = 3;
     */
    boolean getChat();
  }
  /**
   * Protobuf type {@code CUserMsg_SayText}
   */
  public static final class CUserMsg_SayText extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_SayTextOrBuilder {
    // Use CUserMsg_SayText.newBuilder() to construct.
    private CUserMsg_SayText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_SayText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_SayText defaultInstance;
    public static CUserMsg_SayText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_SayText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_SayText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              client_ = input.readUInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              text_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              chat_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_SayText.class, com.dota2.proto.Usermessages.CUserMsg_SayText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_SayText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_SayText(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 client = 1;
    public static final int CLIENT_FIELD_NUMBER = 1;
    private int client_;
    /**
     * optional uint32 client = 1;
     */
    public boolean hasClient() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 client = 1;
     */
    public int getClient() {
      return client_;
    }

    // optional string text = 2;
    public static final int TEXT_FIELD_NUMBER = 2;
    private java.lang.Object text_;
    /**
     * optional string text = 2;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string text = 2;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 2;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bool chat = 3;
    public static final int CHAT_FIELD_NUMBER = 3;
    private boolean chat_;
    /**
     * optional bool chat = 3;
     */
    public boolean hasChat() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool chat = 3;
     */
    public boolean getChat() {
      return chat_;
    }

    private void initFields() {
      client_ = 0;
      text_ = "";
      chat_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, client_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getTextBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, chat_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, client_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getTextBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, chat_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_SayText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_SayText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_SayTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_SayText.class, com.dota2.proto.Usermessages.CUserMsg_SayText.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_SayText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        client_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        chat_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayText getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_SayText.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayText build() {
        com.dota2.proto.Usermessages.CUserMsg_SayText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayText buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_SayText result = new com.dota2.proto.Usermessages.CUserMsg_SayText(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.client_ = client_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.text_ = text_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.chat_ = chat_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_SayText) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_SayText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_SayText other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_SayText.getDefaultInstance()) return this;
        if (other.hasClient()) {
          setClient(other.getClient());
        }
        if (other.hasText()) {
          bitField0_ |= 0x00000002;
          text_ = other.text_;
          onChanged();
        }
        if (other.hasChat()) {
          setChat(other.getChat());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_SayText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_SayText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 client = 1;
      private int client_ ;
      /**
       * optional uint32 client = 1;
       */
      public boolean hasClient() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 client = 1;
       */
      public int getClient() {
        return client_;
      }
      /**
       * optional uint32 client = 1;
       */
      public Builder setClient(int value) {
        bitField0_ |= 0x00000001;
        client_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 client = 1;
       */
      public Builder clearClient() {
        bitField0_ = (bitField0_ & ~0x00000001);
        client_ = 0;
        onChanged();
        return this;
      }

      // optional string text = 2;
      private java.lang.Object text_ = "";
      /**
       * optional string text = 2;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string text = 2;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          text_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000002);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }

      // optional bool chat = 3;
      private boolean chat_ ;
      /**
       * optional bool chat = 3;
       */
      public boolean hasChat() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool chat = 3;
       */
      public boolean getChat() {
        return chat_;
      }
      /**
       * optional bool chat = 3;
       */
      public Builder setChat(boolean value) {
        bitField0_ |= 0x00000004;
        chat_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool chat = 3;
       */
      public Builder clearChat() {
        bitField0_ = (bitField0_ & ~0x00000004);
        chat_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_SayText)
    }

    static {
      defaultInstance = new CUserMsg_SayText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_SayText)
  }

  public interface CUserMsg_SayText2OrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 client = 1;
    /**
     * optional uint32 client = 1;
     */
    boolean hasClient();
    /**
     * optional uint32 client = 1;
     */
    int getClient();

    // optional bool chat = 2;
    /**
     * optional bool chat = 2;
     */
    boolean hasChat();
    /**
     * optional bool chat = 2;
     */
    boolean getChat();

    // optional string format = 3;
    /**
     * optional string format = 3;
     */
    boolean hasFormat();
    /**
     * optional string format = 3;
     */
    java.lang.String getFormat();
    /**
     * optional string format = 3;
     */
    com.google.protobuf.ByteString
        getFormatBytes();

    // optional string prefix = 4;
    /**
     * optional string prefix = 4;
     */
    boolean hasPrefix();
    /**
     * optional string prefix = 4;
     */
    java.lang.String getPrefix();
    /**
     * optional string prefix = 4;
     */
    com.google.protobuf.ByteString
        getPrefixBytes();

    // optional string text = 5;
    /**
     * optional string text = 5;
     */
    boolean hasText();
    /**
     * optional string text = 5;
     */
    java.lang.String getText();
    /**
     * optional string text = 5;
     */
    com.google.protobuf.ByteString
        getTextBytes();

    // optional string location = 6;
    /**
     * optional string location = 6;
     */
    boolean hasLocation();
    /**
     * optional string location = 6;
     */
    java.lang.String getLocation();
    /**
     * optional string location = 6;
     */
    com.google.protobuf.ByteString
        getLocationBytes();
  }
  /**
   * Protobuf type {@code CUserMsg_SayText2}
   */
  public static final class CUserMsg_SayText2 extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_SayText2OrBuilder {
    // Use CUserMsg_SayText2.newBuilder() to construct.
    private CUserMsg_SayText2(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_SayText2(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_SayText2 defaultInstance;
    public static CUserMsg_SayText2 getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_SayText2 getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_SayText2(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              client_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              chat_ = input.readBool();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              format_ = input.readBytes();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              prefix_ = input.readBytes();
              break;
            }
            case 42: {
              bitField0_ |= 0x00000010;
              text_ = input.readBytes();
              break;
            }
            case 50: {
              bitField0_ |= 0x00000020;
              location_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText2_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText2_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_SayText2.class, com.dota2.proto.Usermessages.CUserMsg_SayText2.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_SayText2 parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_SayText2(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 client = 1;
    public static final int CLIENT_FIELD_NUMBER = 1;
    private int client_;
    /**
     * optional uint32 client = 1;
     */
    public boolean hasClient() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 client = 1;
     */
    public int getClient() {
      return client_;
    }

    // optional bool chat = 2;
    public static final int CHAT_FIELD_NUMBER = 2;
    private boolean chat_;
    /**
     * optional bool chat = 2;
     */
    public boolean hasChat() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool chat = 2;
     */
    public boolean getChat() {
      return chat_;
    }

    // optional string format = 3;
    public static final int FORMAT_FIELD_NUMBER = 3;
    private java.lang.Object format_;
    /**
     * optional string format = 3;
     */
    public boolean hasFormat() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string format = 3;
     */
    public java.lang.String getFormat() {
      java.lang.Object ref = format_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          format_ = s;
        }
        return s;
      }
    }
    /**
     * optional string format = 3;
     */
    public com.google.protobuf.ByteString
        getFormatBytes() {
      java.lang.Object ref = format_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        format_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string prefix = 4;
    public static final int PREFIX_FIELD_NUMBER = 4;
    private java.lang.Object prefix_;
    /**
     * optional string prefix = 4;
     */
    public boolean hasPrefix() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional string prefix = 4;
     */
    public java.lang.String getPrefix() {
      java.lang.Object ref = prefix_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          prefix_ = s;
        }
        return s;
      }
    }
    /**
     * optional string prefix = 4;
     */
    public com.google.protobuf.ByteString
        getPrefixBytes() {
      java.lang.Object ref = prefix_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        prefix_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string text = 5;
    public static final int TEXT_FIELD_NUMBER = 5;
    private java.lang.Object text_;
    /**
     * optional string text = 5;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional string text = 5;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 5;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string location = 6;
    public static final int LOCATION_FIELD_NUMBER = 6;
    private java.lang.Object location_;
    /**
     * optional string location = 6;
     */
    public boolean hasLocation() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional string location = 6;
     */
    public java.lang.String getLocation() {
      java.lang.Object ref = location_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          location_ = s;
        }
        return s;
      }
    }
    /**
     * optional string location = 6;
     */
    public com.google.protobuf.ByteString
        getLocationBytes() {
      java.lang.Object ref = location_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        location_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      client_ = 0;
      chat_ = false;
      format_ = "";
      prefix_ = "";
      text_ = "";
      location_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, client_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, chat_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getFormatBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, getPrefixBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, getTextBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, getLocationBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, client_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, chat_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getFormatBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getPrefixBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, getTextBytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, getLocationBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayText2 parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_SayText2 prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_SayText2}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_SayText2OrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText2_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText2_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_SayText2.class, com.dota2.proto.Usermessages.CUserMsg_SayText2.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_SayText2.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        client_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        chat_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        format_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        prefix_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        location_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayText2_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayText2 getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_SayText2.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayText2 build() {
        com.dota2.proto.Usermessages.CUserMsg_SayText2 result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayText2 buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_SayText2 result = new com.dota2.proto.Usermessages.CUserMsg_SayText2(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.client_ = client_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.chat_ = chat_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.format_ = format_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.prefix_ = prefix_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.text_ = text_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.location_ = location_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_SayText2) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_SayText2)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_SayText2 other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_SayText2.getDefaultInstance()) return this;
        if (other.hasClient()) {
          setClient(other.getClient());
        }
        if (other.hasChat()) {
          setChat(other.getChat());
        }
        if (other.hasFormat()) {
          bitField0_ |= 0x00000004;
          format_ = other.format_;
          onChanged();
        }
        if (other.hasPrefix()) {
          bitField0_ |= 0x00000008;
          prefix_ = other.prefix_;
          onChanged();
        }
        if (other.hasText()) {
          bitField0_ |= 0x00000010;
          text_ = other.text_;
          onChanged();
        }
        if (other.hasLocation()) {
          bitField0_ |= 0x00000020;
          location_ = other.location_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_SayText2 parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_SayText2) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 client = 1;
      private int client_ ;
      /**
       * optional uint32 client = 1;
       */
      public boolean hasClient() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 client = 1;
       */
      public int getClient() {
        return client_;
      }
      /**
       * optional uint32 client = 1;
       */
      public Builder setClient(int value) {
        bitField0_ |= 0x00000001;
        client_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 client = 1;
       */
      public Builder clearClient() {
        bitField0_ = (bitField0_ & ~0x00000001);
        client_ = 0;
        onChanged();
        return this;
      }

      // optional bool chat = 2;
      private boolean chat_ ;
      /**
       * optional bool chat = 2;
       */
      public boolean hasChat() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool chat = 2;
       */
      public boolean getChat() {
        return chat_;
      }
      /**
       * optional bool chat = 2;
       */
      public Builder setChat(boolean value) {
        bitField0_ |= 0x00000002;
        chat_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool chat = 2;
       */
      public Builder clearChat() {
        bitField0_ = (bitField0_ & ~0x00000002);
        chat_ = false;
        onChanged();
        return this;
      }

      // optional string format = 3;
      private java.lang.Object format_ = "";
      /**
       * optional string format = 3;
       */
      public boolean hasFormat() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string format = 3;
       */
      public java.lang.String getFormat() {
        java.lang.Object ref = format_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          format_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string format = 3;
       */
      public com.google.protobuf.ByteString
          getFormatBytes() {
        java.lang.Object ref = format_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          format_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string format = 3;
       */
      public Builder setFormat(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        format_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string format = 3;
       */
      public Builder clearFormat() {
        bitField0_ = (bitField0_ & ~0x00000004);
        format_ = getDefaultInstance().getFormat();
        onChanged();
        return this;
      }
      /**
       * optional string format = 3;
       */
      public Builder setFormatBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        format_ = value;
        onChanged();
        return this;
      }

      // optional string prefix = 4;
      private java.lang.Object prefix_ = "";
      /**
       * optional string prefix = 4;
       */
      public boolean hasPrefix() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string prefix = 4;
       */
      public java.lang.String getPrefix() {
        java.lang.Object ref = prefix_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          prefix_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string prefix = 4;
       */
      public com.google.protobuf.ByteString
          getPrefixBytes() {
        java.lang.Object ref = prefix_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          prefix_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string prefix = 4;
       */
      public Builder setPrefix(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        prefix_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string prefix = 4;
       */
      public Builder clearPrefix() {
        bitField0_ = (bitField0_ & ~0x00000008);
        prefix_ = getDefaultInstance().getPrefix();
        onChanged();
        return this;
      }
      /**
       * optional string prefix = 4;
       */
      public Builder setPrefixBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        prefix_ = value;
        onChanged();
        return this;
      }

      // optional string text = 5;
      private java.lang.Object text_ = "";
      /**
       * optional string text = 5;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional string text = 5;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          text_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 5;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 5;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 5;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000010);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 5;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        text_ = value;
        onChanged();
        return this;
      }

      // optional string location = 6;
      private java.lang.Object location_ = "";
      /**
       * optional string location = 6;
       */
      public boolean hasLocation() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional string location = 6;
       */
      public java.lang.String getLocation() {
        java.lang.Object ref = location_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          location_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string location = 6;
       */
      public com.google.protobuf.ByteString
          getLocationBytes() {
        java.lang.Object ref = location_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          location_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string location = 6;
       */
      public Builder setLocation(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        location_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string location = 6;
       */
      public Builder clearLocation() {
        bitField0_ = (bitField0_ & ~0x00000020);
        location_ = getDefaultInstance().getLocation();
        onChanged();
        return this;
      }
      /**
       * optional string location = 6;
       */
      public Builder setLocationBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        location_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_SayText2)
    }

    static {
      defaultInstance = new CUserMsg_SayText2(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_SayText2)
  }

  public interface CUserMsg_HudMsgOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 channel = 1;
    /**
     * optional uint32 channel = 1;
     */
    boolean hasChannel();
    /**
     * optional uint32 channel = 1;
     */
    int getChannel();

    // optional float x = 2;
    /**
     * optional float x = 2;
     */
    boolean hasX();
    /**
     * optional float x = 2;
     */
    float getX();

    // optional float y = 3;
    /**
     * optional float y = 3;
     */
    boolean hasY();
    /**
     * optional float y = 3;
     */
    float getY();

    // optional uint32 color1 = 4;
    /**
     * optional uint32 color1 = 4;
     */
    boolean hasColor1();
    /**
     * optional uint32 color1 = 4;
     */
    int getColor1();

    // optional uint32 color2 = 5;
    /**
     * optional uint32 color2 = 5;
     */
    boolean hasColor2();
    /**
     * optional uint32 color2 = 5;
     */
    int getColor2();

    // optional uint32 effect = 6;
    /**
     * optional uint32 effect = 6;
     */
    boolean hasEffect();
    /**
     * optional uint32 effect = 6;
     */
    int getEffect();

    // optional float fade_in_time = 7;
    /**
     * optional float fade_in_time = 7;
     */
    boolean hasFadeInTime();
    /**
     * optional float fade_in_time = 7;
     */
    float getFadeInTime();

    // optional float fade_out_time = 8;
    /**
     * optional float fade_out_time = 8;
     */
    boolean hasFadeOutTime();
    /**
     * optional float fade_out_time = 8;
     */
    float getFadeOutTime();

    // optional float hold_time = 9;
    /**
     * optional float hold_time = 9;
     */
    boolean hasHoldTime();
    /**
     * optional float hold_time = 9;
     */
    float getHoldTime();

    // optional float fx_time = 10;
    /**
     * optional float fx_time = 10;
     */
    boolean hasFxTime();
    /**
     * optional float fx_time = 10;
     */
    float getFxTime();

    // optional string message = 11;
    /**
     * optional string message = 11;
     */
    boolean hasMessage();
    /**
     * optional string message = 11;
     */
    java.lang.String getMessage();
    /**
     * optional string message = 11;
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * Protobuf type {@code CUserMsg_HudMsg}
   */
  public static final class CUserMsg_HudMsg extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_HudMsgOrBuilder {
    // Use CUserMsg_HudMsg.newBuilder() to construct.
    private CUserMsg_HudMsg(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_HudMsg(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_HudMsg defaultInstance;
    public static CUserMsg_HudMsg getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_HudMsg getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_HudMsg(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              channel_ = input.readUInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              x_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              y_ = input.readFloat();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              color1_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              color2_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              effect_ = input.readUInt32();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              fadeInTime_ = input.readFloat();
              break;
            }
            case 69: {
              bitField0_ |= 0x00000080;
              fadeOutTime_ = input.readFloat();
              break;
            }
            case 77: {
              bitField0_ |= 0x00000100;
              holdTime_ = input.readFloat();
              break;
            }
            case 85: {
              bitField0_ |= 0x00000200;
              fxTime_ = input.readFloat();
              break;
            }
            case 90: {
              bitField0_ |= 0x00000400;
              message_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudMsg_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudMsg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_HudMsg.class, com.dota2.proto.Usermessages.CUserMsg_HudMsg.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_HudMsg parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_HudMsg(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 channel = 1;
    public static final int CHANNEL_FIELD_NUMBER = 1;
    private int channel_;
    /**
     * optional uint32 channel = 1;
     */
    public boolean hasChannel() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 channel = 1;
     */
    public int getChannel() {
      return channel_;
    }

    // optional float x = 2;
    public static final int X_FIELD_NUMBER = 2;
    private float x_;
    /**
     * optional float x = 2;
     */
    public boolean hasX() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float x = 2;
     */
    public float getX() {
      return x_;
    }

    // optional float y = 3;
    public static final int Y_FIELD_NUMBER = 3;
    private float y_;
    /**
     * optional float y = 3;
     */
    public boolean hasY() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float y = 3;
     */
    public float getY() {
      return y_;
    }

    // optional uint32 color1 = 4;
    public static final int COLOR1_FIELD_NUMBER = 4;
    private int color1_;
    /**
     * optional uint32 color1 = 4;
     */
    public boolean hasColor1() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 color1 = 4;
     */
    public int getColor1() {
      return color1_;
    }

    // optional uint32 color2 = 5;
    public static final int COLOR2_FIELD_NUMBER = 5;
    private int color2_;
    /**
     * optional uint32 color2 = 5;
     */
    public boolean hasColor2() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 color2 = 5;
     */
    public int getColor2() {
      return color2_;
    }

    // optional uint32 effect = 6;
    public static final int EFFECT_FIELD_NUMBER = 6;
    private int effect_;
    /**
     * optional uint32 effect = 6;
     */
    public boolean hasEffect() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional uint32 effect = 6;
     */
    public int getEffect() {
      return effect_;
    }

    // optional float fade_in_time = 7;
    public static final int FADE_IN_TIME_FIELD_NUMBER = 7;
    private float fadeInTime_;
    /**
     * optional float fade_in_time = 7;
     */
    public boolean hasFadeInTime() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional float fade_in_time = 7;
     */
    public float getFadeInTime() {
      return fadeInTime_;
    }

    // optional float fade_out_time = 8;
    public static final int FADE_OUT_TIME_FIELD_NUMBER = 8;
    private float fadeOutTime_;
    /**
     * optional float fade_out_time = 8;
     */
    public boolean hasFadeOutTime() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional float fade_out_time = 8;
     */
    public float getFadeOutTime() {
      return fadeOutTime_;
    }

    // optional float hold_time = 9;
    public static final int HOLD_TIME_FIELD_NUMBER = 9;
    private float holdTime_;
    /**
     * optional float hold_time = 9;
     */
    public boolean hasHoldTime() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional float hold_time = 9;
     */
    public float getHoldTime() {
      return holdTime_;
    }

    // optional float fx_time = 10;
    public static final int FX_TIME_FIELD_NUMBER = 10;
    private float fxTime_;
    /**
     * optional float fx_time = 10;
     */
    public boolean hasFxTime() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional float fx_time = 10;
     */
    public float getFxTime() {
      return fxTime_;
    }

    // optional string message = 11;
    public static final int MESSAGE_FIELD_NUMBER = 11;
    private java.lang.Object message_;
    /**
     * optional string message = 11;
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * optional string message = 11;
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * optional string message = 11;
     */
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      channel_ = 0;
      x_ = 0F;
      y_ = 0F;
      color1_ = 0;
      color2_ = 0;
      effect_ = 0;
      fadeInTime_ = 0F;
      fadeOutTime_ = 0F;
      holdTime_ = 0F;
      fxTime_ = 0F;
      message_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, channel_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, x_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, y_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, color1_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, color2_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt32(6, effect_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFloat(7, fadeInTime_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeFloat(8, fadeOutTime_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeFloat(9, holdTime_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeFloat(10, fxTime_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeBytes(11, getMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, channel_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, x_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, y_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, color1_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, color2_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, effect_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, fadeInTime_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(8, fadeOutTime_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(9, holdTime_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(10, fxTime_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(11, getMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudMsg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_HudMsg prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_HudMsg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_HudMsgOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudMsg_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudMsg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_HudMsg.class, com.dota2.proto.Usermessages.CUserMsg_HudMsg.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_HudMsg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        channel_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        x_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        y_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        color1_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        color2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        effect_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        fadeInTime_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000040);
        fadeOutTime_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000080);
        holdTime_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000100);
        fxTime_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000200);
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000400);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudMsg_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_HudMsg getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_HudMsg.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_HudMsg build() {
        com.dota2.proto.Usermessages.CUserMsg_HudMsg result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_HudMsg buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_HudMsg result = new com.dota2.proto.Usermessages.CUserMsg_HudMsg(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.channel_ = channel_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.x_ = x_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.y_ = y_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.color1_ = color1_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.color2_ = color2_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.effect_ = effect_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.fadeInTime_ = fadeInTime_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.fadeOutTime_ = fadeOutTime_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.holdTime_ = holdTime_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.fxTime_ = fxTime_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.message_ = message_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_HudMsg) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_HudMsg)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_HudMsg other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_HudMsg.getDefaultInstance()) return this;
        if (other.hasChannel()) {
          setChannel(other.getChannel());
        }
        if (other.hasX()) {
          setX(other.getX());
        }
        if (other.hasY()) {
          setY(other.getY());
        }
        if (other.hasColor1()) {
          setColor1(other.getColor1());
        }
        if (other.hasColor2()) {
          setColor2(other.getColor2());
        }
        if (other.hasEffect()) {
          setEffect(other.getEffect());
        }
        if (other.hasFadeInTime()) {
          setFadeInTime(other.getFadeInTime());
        }
        if (other.hasFadeOutTime()) {
          setFadeOutTime(other.getFadeOutTime());
        }
        if (other.hasHoldTime()) {
          setHoldTime(other.getHoldTime());
        }
        if (other.hasFxTime()) {
          setFxTime(other.getFxTime());
        }
        if (other.hasMessage()) {
          bitField0_ |= 0x00000400;
          message_ = other.message_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_HudMsg parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_HudMsg) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 channel = 1;
      private int channel_ ;
      /**
       * optional uint32 channel = 1;
       */
      public boolean hasChannel() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 channel = 1;
       */
      public int getChannel() {
        return channel_;
      }
      /**
       * optional uint32 channel = 1;
       */
      public Builder setChannel(int value) {
        bitField0_ |= 0x00000001;
        channel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 channel = 1;
       */
      public Builder clearChannel() {
        bitField0_ = (bitField0_ & ~0x00000001);
        channel_ = 0;
        onChanged();
        return this;
      }

      // optional float x = 2;
      private float x_ ;
      /**
       * optional float x = 2;
       */
      public boolean hasX() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float x = 2;
       */
      public float getX() {
        return x_;
      }
      /**
       * optional float x = 2;
       */
      public Builder setX(float value) {
        bitField0_ |= 0x00000002;
        x_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float x = 2;
       */
      public Builder clearX() {
        bitField0_ = (bitField0_ & ~0x00000002);
        x_ = 0F;
        onChanged();
        return this;
      }

      // optional float y = 3;
      private float y_ ;
      /**
       * optional float y = 3;
       */
      public boolean hasY() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float y = 3;
       */
      public float getY() {
        return y_;
      }
      /**
       * optional float y = 3;
       */
      public Builder setY(float value) {
        bitField0_ |= 0x00000004;
        y_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float y = 3;
       */
      public Builder clearY() {
        bitField0_ = (bitField0_ & ~0x00000004);
        y_ = 0F;
        onChanged();
        return this;
      }

      // optional uint32 color1 = 4;
      private int color1_ ;
      /**
       * optional uint32 color1 = 4;
       */
      public boolean hasColor1() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 color1 = 4;
       */
      public int getColor1() {
        return color1_;
      }
      /**
       * optional uint32 color1 = 4;
       */
      public Builder setColor1(int value) {
        bitField0_ |= 0x00000008;
        color1_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 color1 = 4;
       */
      public Builder clearColor1() {
        bitField0_ = (bitField0_ & ~0x00000008);
        color1_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 color2 = 5;
      private int color2_ ;
      /**
       * optional uint32 color2 = 5;
       */
      public boolean hasColor2() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 color2 = 5;
       */
      public int getColor2() {
        return color2_;
      }
      /**
       * optional uint32 color2 = 5;
       */
      public Builder setColor2(int value) {
        bitField0_ |= 0x00000010;
        color2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 color2 = 5;
       */
      public Builder clearColor2() {
        bitField0_ = (bitField0_ & ~0x00000010);
        color2_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 effect = 6;
      private int effect_ ;
      /**
       * optional uint32 effect = 6;
       */
      public boolean hasEffect() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional uint32 effect = 6;
       */
      public int getEffect() {
        return effect_;
      }
      /**
       * optional uint32 effect = 6;
       */
      public Builder setEffect(int value) {
        bitField0_ |= 0x00000020;
        effect_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 effect = 6;
       */
      public Builder clearEffect() {
        bitField0_ = (bitField0_ & ~0x00000020);
        effect_ = 0;
        onChanged();
        return this;
      }

      // optional float fade_in_time = 7;
      private float fadeInTime_ ;
      /**
       * optional float fade_in_time = 7;
       */
      public boolean hasFadeInTime() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional float fade_in_time = 7;
       */
      public float getFadeInTime() {
        return fadeInTime_;
      }
      /**
       * optional float fade_in_time = 7;
       */
      public Builder setFadeInTime(float value) {
        bitField0_ |= 0x00000040;
        fadeInTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float fade_in_time = 7;
       */
      public Builder clearFadeInTime() {
        bitField0_ = (bitField0_ & ~0x00000040);
        fadeInTime_ = 0F;
        onChanged();
        return this;
      }

      // optional float fade_out_time = 8;
      private float fadeOutTime_ ;
      /**
       * optional float fade_out_time = 8;
       */
      public boolean hasFadeOutTime() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional float fade_out_time = 8;
       */
      public float getFadeOutTime() {
        return fadeOutTime_;
      }
      /**
       * optional float fade_out_time = 8;
       */
      public Builder setFadeOutTime(float value) {
        bitField0_ |= 0x00000080;
        fadeOutTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float fade_out_time = 8;
       */
      public Builder clearFadeOutTime() {
        bitField0_ = (bitField0_ & ~0x00000080);
        fadeOutTime_ = 0F;
        onChanged();
        return this;
      }

      // optional float hold_time = 9;
      private float holdTime_ ;
      /**
       * optional float hold_time = 9;
       */
      public boolean hasHoldTime() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional float hold_time = 9;
       */
      public float getHoldTime() {
        return holdTime_;
      }
      /**
       * optional float hold_time = 9;
       */
      public Builder setHoldTime(float value) {
        bitField0_ |= 0x00000100;
        holdTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float hold_time = 9;
       */
      public Builder clearHoldTime() {
        bitField0_ = (bitField0_ & ~0x00000100);
        holdTime_ = 0F;
        onChanged();
        return this;
      }

      // optional float fx_time = 10;
      private float fxTime_ ;
      /**
       * optional float fx_time = 10;
       */
      public boolean hasFxTime() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional float fx_time = 10;
       */
      public float getFxTime() {
        return fxTime_;
      }
      /**
       * optional float fx_time = 10;
       */
      public Builder setFxTime(float value) {
        bitField0_ |= 0x00000200;
        fxTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float fx_time = 10;
       */
      public Builder clearFxTime() {
        bitField0_ = (bitField0_ & ~0x00000200);
        fxTime_ = 0F;
        onChanged();
        return this;
      }

      // optional string message = 11;
      private java.lang.Object message_ = "";
      /**
       * optional string message = 11;
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional string message = 11;
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string message = 11;
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string message = 11;
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string message = 11;
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000400);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * optional string message = 11;
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
        message_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_HudMsg)
    }

    static {
      defaultInstance = new CUserMsg_HudMsg(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_HudMsg)
  }

  public interface CUserMsg_HudTextOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string message = 1;
    /**
     * optional string message = 1;
     */
    boolean hasMessage();
    /**
     * optional string message = 1;
     */
    java.lang.String getMessage();
    /**
     * optional string message = 1;
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * Protobuf type {@code CUserMsg_HudText}
   */
  public static final class CUserMsg_HudText extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_HudTextOrBuilder {
    // Use CUserMsg_HudText.newBuilder() to construct.
    private CUserMsg_HudText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_HudText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_HudText defaultInstance;
    public static CUserMsg_HudText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_HudText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_HudText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              message_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_HudText.class, com.dota2.proto.Usermessages.CUserMsg_HudText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_HudText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_HudText(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional string message = 1;
    public static final int MESSAGE_FIELD_NUMBER = 1;
    private java.lang.Object message_;
    /**
     * optional string message = 1;
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string message = 1;
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * optional string message = 1;
     */
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      message_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HudText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_HudText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_HudText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_HudTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_HudText.class, com.dota2.proto.Usermessages.CUserMsg_HudText.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_HudText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HudText_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_HudText getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_HudText.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_HudText build() {
        com.dota2.proto.Usermessages.CUserMsg_HudText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_HudText buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_HudText result = new com.dota2.proto.Usermessages.CUserMsg_HudText(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.message_ = message_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_HudText) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_HudText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_HudText other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_HudText.getDefaultInstance()) return this;
        if (other.hasMessage()) {
          bitField0_ |= 0x00000001;
          message_ = other.message_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_HudText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_HudText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string message = 1;
      private java.lang.Object message_ = "";
      /**
       * optional string message = 1;
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string message = 1;
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string message = 1;
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string message = 1;
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_HudText)
    }

    static {
      defaultInstance = new CUserMsg_HudText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_HudText)
  }

  public interface CUserMsg_TextMsgOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 dest = 1;
    /**
     * optional uint32 dest = 1;
     */
    boolean hasDest();
    /**
     * optional uint32 dest = 1;
     */
    int getDest();

    // repeated string param = 2;
    /**
     * repeated string param = 2;
     */
    java.util.List
    getParamList();
    /**
     * repeated string param = 2;
     */
    int getParamCount();
    /**
     * repeated string param = 2;
     */
    java.lang.String getParam(int index);
    /**
     * repeated string param = 2;
     */
    com.google.protobuf.ByteString
        getParamBytes(int index);
  }
  /**
   * Protobuf type {@code CUserMsg_TextMsg}
   */
  public static final class CUserMsg_TextMsg extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_TextMsgOrBuilder {
    // Use CUserMsg_TextMsg.newBuilder() to construct.
    private CUserMsg_TextMsg(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_TextMsg(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_TextMsg defaultInstance;
    public static CUserMsg_TextMsg getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_TextMsg getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_TextMsg(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              dest_ = input.readUInt32();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                param_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              param_.add(input.readBytes());
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          param_ = new com.google.protobuf.UnmodifiableLazyStringList(param_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_TextMsg_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_TextMsg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_TextMsg.class, com.dota2.proto.Usermessages.CUserMsg_TextMsg.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_TextMsg parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_TextMsg(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 dest = 1;
    public static final int DEST_FIELD_NUMBER = 1;
    private int dest_;
    /**
     * optional uint32 dest = 1;
     */
    public boolean hasDest() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 dest = 1;
     */
    public int getDest() {
      return dest_;
    }

    // repeated string param = 2;
    public static final int PARAM_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList param_;
    /**
     * repeated string param = 2;
     */
    public java.util.List
        getParamList() {
      return param_;
    }
    /**
     * repeated string param = 2;
     */
    public int getParamCount() {
      return param_.size();
    }
    /**
     * repeated string param = 2;
     */
    public java.lang.String getParam(int index) {
      return param_.get(index);
    }
    /**
     * repeated string param = 2;
     */
    public com.google.protobuf.ByteString
        getParamBytes(int index) {
      return param_.getByteString(index);
    }

    private void initFields() {
      dest_ = 0;
      param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, dest_);
      }
      for (int i = 0; i < param_.size(); i++) {
        output.writeBytes(2, param_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, dest_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < param_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(param_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getParamList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_TextMsg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_TextMsg prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_TextMsg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_TextMsgOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_TextMsg_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_TextMsg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_TextMsg.class, com.dota2.proto.Usermessages.CUserMsg_TextMsg.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_TextMsg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        dest_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_TextMsg_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_TextMsg getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_TextMsg.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_TextMsg build() {
        com.dota2.proto.Usermessages.CUserMsg_TextMsg result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_TextMsg buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_TextMsg result = new com.dota2.proto.Usermessages.CUserMsg_TextMsg(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.dest_ = dest_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          param_ = new com.google.protobuf.UnmodifiableLazyStringList(
              param_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.param_ = param_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_TextMsg) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_TextMsg)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_TextMsg other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_TextMsg.getDefaultInstance()) return this;
        if (other.hasDest()) {
          setDest(other.getDest());
        }
        if (!other.param_.isEmpty()) {
          if (param_.isEmpty()) {
            param_ = other.param_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureParamIsMutable();
            param_.addAll(other.param_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_TextMsg parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_TextMsg) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 dest = 1;
      private int dest_ ;
      /**
       * optional uint32 dest = 1;
       */
      public boolean hasDest() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 dest = 1;
       */
      public int getDest() {
        return dest_;
      }
      /**
       * optional uint32 dest = 1;
       */
      public Builder setDest(int value) {
        bitField0_ |= 0x00000001;
        dest_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 dest = 1;
       */
      public Builder clearDest() {
        bitField0_ = (bitField0_ & ~0x00000001);
        dest_ = 0;
        onChanged();
        return this;
      }

      // repeated string param = 2;
      private com.google.protobuf.LazyStringList param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureParamIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          param_ = new com.google.protobuf.LazyStringArrayList(param_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * repeated string param = 2;
       */
      public java.util.List
          getParamList() {
        return java.util.Collections.unmodifiableList(param_);
      }
      /**
       * repeated string param = 2;
       */
      public int getParamCount() {
        return param_.size();
      }
      /**
       * repeated string param = 2;
       */
      public java.lang.String getParam(int index) {
        return param_.get(index);
      }
      /**
       * repeated string param = 2;
       */
      public com.google.protobuf.ByteString
          getParamBytes(int index) {
        return param_.getByteString(index);
      }
      /**
       * repeated string param = 2;
       */
      public Builder setParam(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureParamIsMutable();
        param_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder addParam(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureParamIsMutable();
        param_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder addAllParam(
          java.lang.Iterable values) {
        ensureParamIsMutable();
        super.addAll(values, param_);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder clearParam() {
        param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder addParamBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureParamIsMutable();
        param_.add(value);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_TextMsg)
    }

    static {
      defaultInstance = new CUserMsg_TextMsg(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_TextMsg)
  }

  public interface CUserMsg_GameTitleOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CUserMsg_GameTitle}
   */
  public static final class CUserMsg_GameTitle extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_GameTitleOrBuilder {
    // Use CUserMsg_GameTitle.newBuilder() to construct.
    private CUserMsg_GameTitle(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_GameTitle(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_GameTitle defaultInstance;
    public static CUserMsg_GameTitle getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_GameTitle getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_GameTitle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_GameTitle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_GameTitle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_GameTitle.class, com.dota2.proto.Usermessages.CUserMsg_GameTitle.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_GameTitle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_GameTitle(input, extensionRegistry);
      }
    };

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

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_GameTitle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_GameTitle prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_GameTitle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_GameTitleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_GameTitle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_GameTitle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_GameTitle.class, com.dota2.proto.Usermessages.CUserMsg_GameTitle.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_GameTitle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_GameTitle_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_GameTitle getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_GameTitle.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_GameTitle build() {
        com.dota2.proto.Usermessages.CUserMsg_GameTitle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_GameTitle buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_GameTitle result = new com.dota2.proto.Usermessages.CUserMsg_GameTitle(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_GameTitle) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_GameTitle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_GameTitle other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_GameTitle.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_GameTitle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_GameTitle) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_GameTitle)
    }

    static {
      defaultInstance = new CUserMsg_GameTitle(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_GameTitle)
  }

  public interface CUserMsg_ResetHUDOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CUserMsg_ResetHUD}
   */
  public static final class CUserMsg_ResetHUD extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_ResetHUDOrBuilder {
    // Use CUserMsg_ResetHUD.newBuilder() to construct.
    private CUserMsg_ResetHUD(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_ResetHUD(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_ResetHUD defaultInstance;
    public static CUserMsg_ResetHUD getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_ResetHUD getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_ResetHUD(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_ResetHUD_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_ResetHUD_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_ResetHUD.class, com.dota2.proto.Usermessages.CUserMsg_ResetHUD.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_ResetHUD parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_ResetHUD(input, extensionRegistry);
      }
    };

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

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_ResetHUD parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_ResetHUD prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_ResetHUD}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_ResetHUDOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_ResetHUD_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_ResetHUD_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_ResetHUD.class, com.dota2.proto.Usermessages.CUserMsg_ResetHUD.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_ResetHUD.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_ResetHUD_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_ResetHUD getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_ResetHUD.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_ResetHUD build() {
        com.dota2.proto.Usermessages.CUserMsg_ResetHUD result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_ResetHUD buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_ResetHUD result = new com.dota2.proto.Usermessages.CUserMsg_ResetHUD(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_ResetHUD) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_ResetHUD)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_ResetHUD other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_ResetHUD.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_ResetHUD parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_ResetHUD) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_ResetHUD)
    }

    static {
      defaultInstance = new CUserMsg_ResetHUD(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_ResetHUD)
  }

  public interface CUserMsg_SendAudioOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bool stop = 2;
    /**
     * optional bool stop = 2;
     */
    boolean hasStop();
    /**
     * optional bool stop = 2;
     */
    boolean getStop();

    // optional string name = 3;
    /**
     * optional string name = 3;
     */
    boolean hasName();
    /**
     * optional string name = 3;
     */
    java.lang.String getName();
    /**
     * optional string name = 3;
     */
    com.google.protobuf.ByteString
        getNameBytes();
  }
  /**
   * Protobuf type {@code CUserMsg_SendAudio}
   */
  public static final class CUserMsg_SendAudio extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_SendAudioOrBuilder {
    // Use CUserMsg_SendAudio.newBuilder() to construct.
    private CUserMsg_SendAudio(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_SendAudio(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_SendAudio defaultInstance;
    public static CUserMsg_SendAudio getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_SendAudio getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_SendAudio(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 16: {
              bitField0_ |= 0x00000001;
              stop_ = input.readBool();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000002;
              name_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SendAudio_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SendAudio_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_SendAudio.class, com.dota2.proto.Usermessages.CUserMsg_SendAudio.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_SendAudio parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_SendAudio(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional bool stop = 2;
    public static final int STOP_FIELD_NUMBER = 2;
    private boolean stop_;
    /**
     * optional bool stop = 2;
     */
    public boolean hasStop() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool stop = 2;
     */
    public boolean getStop() {
      return stop_;
    }

    // optional string name = 3;
    public static final int NAME_FIELD_NUMBER = 3;
    private java.lang.Object name_;
    /**
     * optional string name = 3;
     */
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string name = 3;
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name = 3;
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      stop_ = false;
      name_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(2, stop_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(3, getNameBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, stop_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getNameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SendAudio parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_SendAudio prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_SendAudio}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_SendAudioOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SendAudio_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SendAudio_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_SendAudio.class, com.dota2.proto.Usermessages.CUserMsg_SendAudio.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_SendAudio.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        stop_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SendAudio_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SendAudio getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_SendAudio.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_SendAudio build() {
        com.dota2.proto.Usermessages.CUserMsg_SendAudio result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SendAudio buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_SendAudio result = new com.dota2.proto.Usermessages.CUserMsg_SendAudio(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.stop_ = stop_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.name_ = name_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_SendAudio) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_SendAudio)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_SendAudio other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_SendAudio.getDefaultInstance()) return this;
        if (other.hasStop()) {
          setStop(other.getStop());
        }
        if (other.hasName()) {
          bitField0_ |= 0x00000002;
          name_ = other.name_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_SendAudio parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_SendAudio) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bool stop = 2;
      private boolean stop_ ;
      /**
       * optional bool stop = 2;
       */
      public boolean hasStop() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool stop = 2;
       */
      public boolean getStop() {
        return stop_;
      }
      /**
       * optional bool stop = 2;
       */
      public Builder setStop(boolean value) {
        bitField0_ |= 0x00000001;
        stop_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool stop = 2;
       */
      public Builder clearStop() {
        bitField0_ = (bitField0_ & ~0x00000001);
        stop_ = false;
        onChanged();
        return this;
      }

      // optional string name = 3;
      private java.lang.Object name_ = "";
      /**
       * optional string name = 3;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string name = 3;
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name = 3;
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name = 3;
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string name = 3;
       */
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000002);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * optional string name = 3;
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        name_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_SendAudio)
    }

    static {
      defaultInstance = new CUserMsg_SendAudio(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_SendAudio)
  }

  public interface CUserMsg_VoiceMaskOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated int32 audible_players_mask = 1;
    /**
     * repeated int32 audible_players_mask = 1;
     */
    java.util.List getAudiblePlayersMaskList();
    /**
     * repeated int32 audible_players_mask = 1;
     */
    int getAudiblePlayersMaskCount();
    /**
     * repeated int32 audible_players_mask = 1;
     */
    int getAudiblePlayersMask(int index);

    // optional bool player_mod_enabled = 2;
    /**
     * optional bool player_mod_enabled = 2;
     */
    boolean hasPlayerModEnabled();
    /**
     * optional bool player_mod_enabled = 2;
     */
    boolean getPlayerModEnabled();
  }
  /**
   * Protobuf type {@code CUserMsg_VoiceMask}
   */
  public static final class CUserMsg_VoiceMask extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_VoiceMaskOrBuilder {
    // Use CUserMsg_VoiceMask.newBuilder() to construct.
    private CUserMsg_VoiceMask(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_VoiceMask(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_VoiceMask defaultInstance;
    public static CUserMsg_VoiceMask getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_VoiceMask getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_VoiceMask(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                audiblePlayersMask_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              audiblePlayersMask_.add(input.readInt32());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                audiblePlayersMask_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                audiblePlayersMask_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 16: {
              bitField0_ |= 0x00000001;
              playerModEnabled_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          audiblePlayersMask_ = java.util.Collections.unmodifiableList(audiblePlayersMask_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceMask_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceMask_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_VoiceMask.class, com.dota2.proto.Usermessages.CUserMsg_VoiceMask.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_VoiceMask parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_VoiceMask(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // repeated int32 audible_players_mask = 1;
    public static final int AUDIBLE_PLAYERS_MASK_FIELD_NUMBER = 1;
    private java.util.List audiblePlayersMask_;
    /**
     * repeated int32 audible_players_mask = 1;
     */
    public java.util.List
        getAudiblePlayersMaskList() {
      return audiblePlayersMask_;
    }
    /**
     * repeated int32 audible_players_mask = 1;
     */
    public int getAudiblePlayersMaskCount() {
      return audiblePlayersMask_.size();
    }
    /**
     * repeated int32 audible_players_mask = 1;
     */
    public int getAudiblePlayersMask(int index) {
      return audiblePlayersMask_.get(index);
    }

    // optional bool player_mod_enabled = 2;
    public static final int PLAYER_MOD_ENABLED_FIELD_NUMBER = 2;
    private boolean playerModEnabled_;
    /**
     * optional bool player_mod_enabled = 2;
     */
    public boolean hasPlayerModEnabled() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool player_mod_enabled = 2;
     */
    public boolean getPlayerModEnabled() {
      return playerModEnabled_;
    }

    private void initFields() {
      audiblePlayersMask_ = java.util.Collections.emptyList();
      playerModEnabled_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < audiblePlayersMask_.size(); i++) {
        output.writeInt32(1, audiblePlayersMask_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(2, playerModEnabled_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < audiblePlayersMask_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(audiblePlayersMask_.get(i));
        }
        size += dataSize;
        size += 1 * getAudiblePlayersMaskList().size();
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, playerModEnabled_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceMask parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_VoiceMask prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_VoiceMask}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_VoiceMaskOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceMask_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceMask_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_VoiceMask.class, com.dota2.proto.Usermessages.CUserMsg_VoiceMask.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_VoiceMask.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        audiblePlayersMask_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        playerModEnabled_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceMask_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_VoiceMask getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_VoiceMask.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_VoiceMask build() {
        com.dota2.proto.Usermessages.CUserMsg_VoiceMask result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_VoiceMask buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_VoiceMask result = new com.dota2.proto.Usermessages.CUserMsg_VoiceMask(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          audiblePlayersMask_ = java.util.Collections.unmodifiableList(audiblePlayersMask_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.audiblePlayersMask_ = audiblePlayersMask_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000001;
        }
        result.playerModEnabled_ = playerModEnabled_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_VoiceMask) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_VoiceMask)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_VoiceMask other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_VoiceMask.getDefaultInstance()) return this;
        if (!other.audiblePlayersMask_.isEmpty()) {
          if (audiblePlayersMask_.isEmpty()) {
            audiblePlayersMask_ = other.audiblePlayersMask_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureAudiblePlayersMaskIsMutable();
            audiblePlayersMask_.addAll(other.audiblePlayersMask_);
          }
          onChanged();
        }
        if (other.hasPlayerModEnabled()) {
          setPlayerModEnabled(other.getPlayerModEnabled());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_VoiceMask parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_VoiceMask) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated int32 audible_players_mask = 1;
      private java.util.List audiblePlayersMask_ = java.util.Collections.emptyList();
      private void ensureAudiblePlayersMaskIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          audiblePlayersMask_ = new java.util.ArrayList(audiblePlayersMask_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated int32 audible_players_mask = 1;
       */
      public java.util.List
          getAudiblePlayersMaskList() {
        return java.util.Collections.unmodifiableList(audiblePlayersMask_);
      }
      /**
       * repeated int32 audible_players_mask = 1;
       */
      public int getAudiblePlayersMaskCount() {
        return audiblePlayersMask_.size();
      }
      /**
       * repeated int32 audible_players_mask = 1;
       */
      public int getAudiblePlayersMask(int index) {
        return audiblePlayersMask_.get(index);
      }
      /**
       * repeated int32 audible_players_mask = 1;
       */
      public Builder setAudiblePlayersMask(
          int index, int value) {
        ensureAudiblePlayersMaskIsMutable();
        audiblePlayersMask_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 audible_players_mask = 1;
       */
      public Builder addAudiblePlayersMask(int value) {
        ensureAudiblePlayersMaskIsMutable();
        audiblePlayersMask_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 audible_players_mask = 1;
       */
      public Builder addAllAudiblePlayersMask(
          java.lang.Iterable values) {
        ensureAudiblePlayersMaskIsMutable();
        super.addAll(values, audiblePlayersMask_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 audible_players_mask = 1;
       */
      public Builder clearAudiblePlayersMask() {
        audiblePlayersMask_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      // optional bool player_mod_enabled = 2;
      private boolean playerModEnabled_ ;
      /**
       * optional bool player_mod_enabled = 2;
       */
      public boolean hasPlayerModEnabled() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool player_mod_enabled = 2;
       */
      public boolean getPlayerModEnabled() {
        return playerModEnabled_;
      }
      /**
       * optional bool player_mod_enabled = 2;
       */
      public Builder setPlayerModEnabled(boolean value) {
        bitField0_ |= 0x00000002;
        playerModEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool player_mod_enabled = 2;
       */
      public Builder clearPlayerModEnabled() {
        bitField0_ = (bitField0_ & ~0x00000002);
        playerModEnabled_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_VoiceMask)
    }

    static {
      defaultInstance = new CUserMsg_VoiceMask(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_VoiceMask)
  }

  public interface CUserMsg_RequestStateOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CUserMsg_RequestState}
   */
  public static final class CUserMsg_RequestState extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_RequestStateOrBuilder {
    // Use CUserMsg_RequestState.newBuilder() to construct.
    private CUserMsg_RequestState(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_RequestState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_RequestState defaultInstance;
    public static CUserMsg_RequestState getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_RequestState getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_RequestState(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_RequestState_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_RequestState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_RequestState.class, com.dota2.proto.Usermessages.CUserMsg_RequestState.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_RequestState parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_RequestState(input, extensionRegistry);
      }
    };

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

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_RequestState parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_RequestState prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_RequestState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_RequestStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_RequestState_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_RequestState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_RequestState.class, com.dota2.proto.Usermessages.CUserMsg_RequestState.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_RequestState.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_RequestState_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_RequestState getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_RequestState.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_RequestState build() {
        com.dota2.proto.Usermessages.CUserMsg_RequestState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_RequestState buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_RequestState result = new com.dota2.proto.Usermessages.CUserMsg_RequestState(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_RequestState) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_RequestState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_RequestState other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_RequestState.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_RequestState parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_RequestState) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_RequestState)
    }

    static {
      defaultInstance = new CUserMsg_RequestState(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_RequestState)
  }

  public interface CUserMsg_HintTextOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string message = 1;
    /**
     * optional string message = 1;
     */
    boolean hasMessage();
    /**
     * optional string message = 1;
     */
    java.lang.String getMessage();
    /**
     * optional string message = 1;
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * Protobuf type {@code CUserMsg_HintText}
   */
  public static final class CUserMsg_HintText extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_HintTextOrBuilder {
    // Use CUserMsg_HintText.newBuilder() to construct.
    private CUserMsg_HintText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_HintText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_HintText defaultInstance;
    public static CUserMsg_HintText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_HintText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_HintText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              message_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_HintText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_HintText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_HintText.class, com.dota2.proto.Usermessages.CUserMsg_HintText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_HintText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_HintText(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional string message = 1;
    public static final int MESSAGE_FIELD_NUMBER = 1;
    private java.lang.Object message_;
    /**
     * optional string message = 1;
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string message = 1;
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * optional string message = 1;
     */
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      message_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_HintText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_HintText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_HintText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_HintTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HintText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HintText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_HintText.class, com.dota2.proto.Usermessages.CUserMsg_HintText.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_HintText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_HintText_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_HintText getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_HintText.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_HintText build() {
        com.dota2.proto.Usermessages.CUserMsg_HintText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_HintText buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_HintText result = new com.dota2.proto.Usermessages.CUserMsg_HintText(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.message_ = message_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_HintText) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_HintText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_HintText other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_HintText.getDefaultInstance()) return this;
        if (other.hasMessage()) {
          bitField0_ |= 0x00000001;
          message_ = other.message_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_HintText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_HintText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string message = 1;
      private java.lang.Object message_ = "";
      /**
       * optional string message = 1;
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string message = 1;
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string message = 1;
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string message = 1;
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_HintText)
    }

    static {
      defaultInstance = new CUserMsg_HintText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_HintText)
  }

  public interface CUserMsg_KeyHintTextOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated string messages = 1;
    /**
     * repeated string messages = 1;
     */
    java.util.List
    getMessagesList();
    /**
     * repeated string messages = 1;
     */
    int getMessagesCount();
    /**
     * repeated string messages = 1;
     */
    java.lang.String getMessages(int index);
    /**
     * repeated string messages = 1;
     */
    com.google.protobuf.ByteString
        getMessagesBytes(int index);
  }
  /**
   * Protobuf type {@code CUserMsg_KeyHintText}
   */
  public static final class CUserMsg_KeyHintText extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_KeyHintTextOrBuilder {
    // Use CUserMsg_KeyHintText.newBuilder() to construct.
    private CUserMsg_KeyHintText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_KeyHintText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_KeyHintText defaultInstance;
    public static CUserMsg_KeyHintText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_KeyHintText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_KeyHintText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                messages_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              messages_.add(input.readBytes());
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          messages_ = new com.google.protobuf.UnmodifiableLazyStringList(messages_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_KeyHintText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_KeyHintText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_KeyHintText.class, com.dota2.proto.Usermessages.CUserMsg_KeyHintText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_KeyHintText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_KeyHintText(input, extensionRegistry);
      }
    };

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

    // repeated string messages = 1;
    public static final int MESSAGES_FIELD_NUMBER = 1;
    private com.google.protobuf.LazyStringList messages_;
    /**
     * repeated string messages = 1;
     */
    public java.util.List
        getMessagesList() {
      return messages_;
    }
    /**
     * repeated string messages = 1;
     */
    public int getMessagesCount() {
      return messages_.size();
    }
    /**
     * repeated string messages = 1;
     */
    public java.lang.String getMessages(int index) {
      return messages_.get(index);
    }
    /**
     * repeated string messages = 1;
     */
    public com.google.protobuf.ByteString
        getMessagesBytes(int index) {
      return messages_.getByteString(index);
    }

    private void initFields() {
      messages_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < messages_.size(); i++) {
        output.writeBytes(1, messages_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < messages_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(messages_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getMessagesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_KeyHintText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_KeyHintText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_KeyHintText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_KeyHintTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_KeyHintText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_KeyHintText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_KeyHintText.class, com.dota2.proto.Usermessages.CUserMsg_KeyHintText.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_KeyHintText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        messages_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_KeyHintText_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_KeyHintText getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_KeyHintText.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_KeyHintText build() {
        com.dota2.proto.Usermessages.CUserMsg_KeyHintText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_KeyHintText buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_KeyHintText result = new com.dota2.proto.Usermessages.CUserMsg_KeyHintText(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          messages_ = new com.google.protobuf.UnmodifiableLazyStringList(
              messages_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.messages_ = messages_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_KeyHintText) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_KeyHintText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_KeyHintText other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_KeyHintText.getDefaultInstance()) return this;
        if (!other.messages_.isEmpty()) {
          if (messages_.isEmpty()) {
            messages_ = other.messages_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureMessagesIsMutable();
            messages_.addAll(other.messages_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_KeyHintText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_KeyHintText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated string messages = 1;
      private com.google.protobuf.LazyStringList messages_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureMessagesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          messages_ = new com.google.protobuf.LazyStringArrayList(messages_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated string messages = 1;
       */
      public java.util.List
          getMessagesList() {
        return java.util.Collections.unmodifiableList(messages_);
      }
      /**
       * repeated string messages = 1;
       */
      public int getMessagesCount() {
        return messages_.size();
      }
      /**
       * repeated string messages = 1;
       */
      public java.lang.String getMessages(int index) {
        return messages_.get(index);
      }
      /**
       * repeated string messages = 1;
       */
      public com.google.protobuf.ByteString
          getMessagesBytes(int index) {
        return messages_.getByteString(index);
      }
      /**
       * repeated string messages = 1;
       */
      public Builder setMessages(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureMessagesIsMutable();
        messages_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated string messages = 1;
       */
      public Builder addMessages(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureMessagesIsMutable();
        messages_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated string messages = 1;
       */
      public Builder addAllMessages(
          java.lang.Iterable values) {
        ensureMessagesIsMutable();
        super.addAll(values, messages_);
        onChanged();
        return this;
      }
      /**
       * repeated string messages = 1;
       */
      public Builder clearMessages() {
        messages_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * repeated string messages = 1;
       */
      public Builder addMessagesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureMessagesIsMutable();
        messages_.add(value);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_KeyHintText)
    }

    static {
      defaultInstance = new CUserMsg_KeyHintText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_KeyHintText)
  }

  public interface CUserMsg_StatsCrawlMsgOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CUserMsg_StatsCrawlMsg}
   */
  public static final class CUserMsg_StatsCrawlMsg extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_StatsCrawlMsgOrBuilder {
    // Use CUserMsg_StatsCrawlMsg.newBuilder() to construct.
    private CUserMsg_StatsCrawlMsg(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_StatsCrawlMsg(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_StatsCrawlMsg defaultInstance;
    public static CUserMsg_StatsCrawlMsg getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_StatsCrawlMsg getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_StatsCrawlMsg(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsCrawlMsg_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsCrawlMsg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg.class, com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_StatsCrawlMsg parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_StatsCrawlMsg(input, extensionRegistry);
      }
    };

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

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_StatsCrawlMsg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsgOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsCrawlMsg_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsCrawlMsg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg.class, com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsCrawlMsg_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg build() {
        com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg result = new com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_StatsCrawlMsg) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_StatsCrawlMsg)
    }

    static {
      defaultInstance = new CUserMsg_StatsCrawlMsg(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_StatsCrawlMsg)
  }

  public interface CUserMsg_StatsSkipStateOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 num_skips = 1;
    /**
     * optional int32 num_skips = 1;
     */
    boolean hasNumSkips();
    /**
     * optional int32 num_skips = 1;
     */
    int getNumSkips();

    // optional int32 num_players = 2;
    /**
     * optional int32 num_players = 2;
     */
    boolean hasNumPlayers();
    /**
     * optional int32 num_players = 2;
     */
    int getNumPlayers();
  }
  /**
   * Protobuf type {@code CUserMsg_StatsSkipState}
   */
  public static final class CUserMsg_StatsSkipState extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_StatsSkipStateOrBuilder {
    // Use CUserMsg_StatsSkipState.newBuilder() to construct.
    private CUserMsg_StatsSkipState(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_StatsSkipState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_StatsSkipState defaultInstance;
    public static CUserMsg_StatsSkipState getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_StatsSkipState getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_StatsSkipState(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              numSkips_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              numPlayers_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsSkipState_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsSkipState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_StatsSkipState.class, com.dota2.proto.Usermessages.CUserMsg_StatsSkipState.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_StatsSkipState parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_StatsSkipState(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 num_skips = 1;
    public static final int NUM_SKIPS_FIELD_NUMBER = 1;
    private int numSkips_;
    /**
     * optional int32 num_skips = 1;
     */
    public boolean hasNumSkips() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 num_skips = 1;
     */
    public int getNumSkips() {
      return numSkips_;
    }

    // optional int32 num_players = 2;
    public static final int NUM_PLAYERS_FIELD_NUMBER = 2;
    private int numPlayers_;
    /**
     * optional int32 num_players = 2;
     */
    public boolean hasNumPlayers() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 num_players = 2;
     */
    public int getNumPlayers() {
      return numPlayers_;
    }

    private void initFields() {
      numSkips_ = 0;
      numPlayers_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, numSkips_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, numPlayers_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, numSkips_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, numPlayers_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_StatsSkipState prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_StatsSkipState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_StatsSkipStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsSkipState_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsSkipState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_StatsSkipState.class, com.dota2.proto.Usermessages.CUserMsg_StatsSkipState.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_StatsSkipState.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        numSkips_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        numPlayers_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_StatsSkipState_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_StatsSkipState getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_StatsSkipState.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_StatsSkipState build() {
        com.dota2.proto.Usermessages.CUserMsg_StatsSkipState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_StatsSkipState buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_StatsSkipState result = new com.dota2.proto.Usermessages.CUserMsg_StatsSkipState(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.numSkips_ = numSkips_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.numPlayers_ = numPlayers_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_StatsSkipState) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_StatsSkipState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_StatsSkipState other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_StatsSkipState.getDefaultInstance()) return this;
        if (other.hasNumSkips()) {
          setNumSkips(other.getNumSkips());
        }
        if (other.hasNumPlayers()) {
          setNumPlayers(other.getNumPlayers());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_StatsSkipState parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_StatsSkipState) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 num_skips = 1;
      private int numSkips_ ;
      /**
       * optional int32 num_skips = 1;
       */
      public boolean hasNumSkips() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 num_skips = 1;
       */
      public int getNumSkips() {
        return numSkips_;
      }
      /**
       * optional int32 num_skips = 1;
       */
      public Builder setNumSkips(int value) {
        bitField0_ |= 0x00000001;
        numSkips_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 num_skips = 1;
       */
      public Builder clearNumSkips() {
        bitField0_ = (bitField0_ & ~0x00000001);
        numSkips_ = 0;
        onChanged();
        return this;
      }

      // optional int32 num_players = 2;
      private int numPlayers_ ;
      /**
       * optional int32 num_players = 2;
       */
      public boolean hasNumPlayers() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 num_players = 2;
       */
      public int getNumPlayers() {
        return numPlayers_;
      }
      /**
       * optional int32 num_players = 2;
       */
      public Builder setNumPlayers(int value) {
        bitField0_ |= 0x00000002;
        numPlayers_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 num_players = 2;
       */
      public Builder clearNumPlayers() {
        bitField0_ = (bitField0_ & ~0x00000002);
        numPlayers_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_StatsSkipState)
    }

    static {
      defaultInstance = new CUserMsg_StatsSkipState(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_StatsSkipState)
  }

  public interface CUserMsg_VoiceSubtitleOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 ent_index = 1;
    /**
     * optional int32 ent_index = 1;
     */
    boolean hasEntIndex();
    /**
     * optional int32 ent_index = 1;
     */
    int getEntIndex();

    // optional int32 menu = 2;
    /**
     * optional int32 menu = 2;
     */
    boolean hasMenu();
    /**
     * optional int32 menu = 2;
     */
    int getMenu();

    // optional int32 item = 3;
    /**
     * optional int32 item = 3;
     */
    boolean hasItem();
    /**
     * optional int32 item = 3;
     */
    int getItem();
  }
  /**
   * Protobuf type {@code CUserMsg_VoiceSubtitle}
   */
  public static final class CUserMsg_VoiceSubtitle extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_VoiceSubtitleOrBuilder {
    // Use CUserMsg_VoiceSubtitle.newBuilder() to construct.
    private CUserMsg_VoiceSubtitle(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_VoiceSubtitle(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_VoiceSubtitle defaultInstance;
    public static CUserMsg_VoiceSubtitle getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_VoiceSubtitle getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_VoiceSubtitle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              entIndex_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              menu_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              item_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceSubtitle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceSubtitle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle.class, com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_VoiceSubtitle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_VoiceSubtitle(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 ent_index = 1;
    public static final int ENT_INDEX_FIELD_NUMBER = 1;
    private int entIndex_;
    /**
     * optional int32 ent_index = 1;
     */
    public boolean hasEntIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 ent_index = 1;
     */
    public int getEntIndex() {
      return entIndex_;
    }

    // optional int32 menu = 2;
    public static final int MENU_FIELD_NUMBER = 2;
    private int menu_;
    /**
     * optional int32 menu = 2;
     */
    public boolean hasMenu() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 menu = 2;
     */
    public int getMenu() {
      return menu_;
    }

    // optional int32 item = 3;
    public static final int ITEM_FIELD_NUMBER = 3;
    private int item_;
    /**
     * optional int32 item = 3;
     */
    public boolean hasItem() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 item = 3;
     */
    public int getItem() {
      return item_;
    }

    private void initFields() {
      entIndex_ = 0;
      menu_ = 0;
      item_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, entIndex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, menu_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, item_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, entIndex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, menu_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, item_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_VoiceSubtitle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceSubtitle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceSubtitle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle.class, com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        entIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        menu_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        item_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VoiceSubtitle_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle build() {
        com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle result = new com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.entIndex_ = entIndex_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.menu_ = menu_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.item_ = item_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle.getDefaultInstance()) return this;
        if (other.hasEntIndex()) {
          setEntIndex(other.getEntIndex());
        }
        if (other.hasMenu()) {
          setMenu(other.getMenu());
        }
        if (other.hasItem()) {
          setItem(other.getItem());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_VoiceSubtitle) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 ent_index = 1;
      private int entIndex_ ;
      /**
       * optional int32 ent_index = 1;
       */
      public boolean hasEntIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 ent_index = 1;
       */
      public int getEntIndex() {
        return entIndex_;
      }
      /**
       * optional int32 ent_index = 1;
       */
      public Builder setEntIndex(int value) {
        bitField0_ |= 0x00000001;
        entIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 ent_index = 1;
       */
      public Builder clearEntIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        entIndex_ = 0;
        onChanged();
        return this;
      }

      // optional int32 menu = 2;
      private int menu_ ;
      /**
       * optional int32 menu = 2;
       */
      public boolean hasMenu() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 menu = 2;
       */
      public int getMenu() {
        return menu_;
      }
      /**
       * optional int32 menu = 2;
       */
      public Builder setMenu(int value) {
        bitField0_ |= 0x00000002;
        menu_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 menu = 2;
       */
      public Builder clearMenu() {
        bitField0_ = (bitField0_ & ~0x00000002);
        menu_ = 0;
        onChanged();
        return this;
      }

      // optional int32 item = 3;
      private int item_ ;
      /**
       * optional int32 item = 3;
       */
      public boolean hasItem() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 item = 3;
       */
      public int getItem() {
        return item_;
      }
      /**
       * optional int32 item = 3;
       */
      public Builder setItem(int value) {
        bitField0_ |= 0x00000004;
        item_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 item = 3;
       */
      public Builder clearItem() {
        bitField0_ = (bitField0_ & ~0x00000004);
        item_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_VoiceSubtitle)
    }

    static {
      defaultInstance = new CUserMsg_VoiceSubtitle(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_VoiceSubtitle)
  }

  public interface CUserMsg_VGUIMenuOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string name = 1;
    /**
     * optional string name = 1;
     */
    boolean hasName();
    /**
     * optional string name = 1;
     */
    java.lang.String getName();
    /**
     * optional string name = 1;
     */
    com.google.protobuf.ByteString
        getNameBytes();

    // optional bool show = 2;
    /**
     * optional bool show = 2;
     */
    boolean hasShow();
    /**
     * optional bool show = 2;
     */
    boolean getShow();

    // repeated .CUserMsg_VGUIMenu.Keys keys = 3;
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    java.util.List 
        getKeysList();
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys getKeys(int index);
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    int getKeysCount();
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    java.util.List 
        getKeysOrBuilderList();
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.KeysOrBuilder getKeysOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CUserMsg_VGUIMenu}
   */
  public static final class CUserMsg_VGUIMenu extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_VGUIMenuOrBuilder {
    // Use CUserMsg_VGUIMenu.newBuilder() to construct.
    private CUserMsg_VGUIMenu(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_VGUIMenu(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_VGUIMenu defaultInstance;
    public static CUserMsg_VGUIMenu getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_VGUIMenu getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_VGUIMenu(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              name_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              show_ = input.readBool();
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                keys_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              keys_.add(input.readMessage(com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          keys_ = java.util.Collections.unmodifiableList(keys_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.class, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_VGUIMenu parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_VGUIMenu(input, extensionRegistry);
      }
    };

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

    public interface KeysOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional string name = 1;
      /**
       * optional string name = 1;
       */
      boolean hasName();
      /**
       * optional string name = 1;
       */
      java.lang.String getName();
      /**
       * optional string name = 1;
       */
      com.google.protobuf.ByteString
          getNameBytes();

      // optional string value = 2;
      /**
       * optional string value = 2;
       */
      boolean hasValue();
      /**
       * optional string value = 2;
       */
      java.lang.String getValue();
      /**
       * optional string value = 2;
       */
      com.google.protobuf.ByteString
          getValueBytes();
    }
    /**
     * Protobuf type {@code CUserMsg_VGUIMenu.Keys}
     */
    public static final class Keys extends
        com.google.protobuf.GeneratedMessage
        implements KeysOrBuilder {
      // Use Keys.newBuilder() to construct.
      private Keys(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Keys(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Keys defaultInstance;
      public static Keys getDefaultInstance() {
        return defaultInstance;
      }

      public Keys getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Keys(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                name_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                value_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_Keys_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_Keys_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.class, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public Keys parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Keys(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional string name = 1;
      public static final int NAME_FIELD_NUMBER = 1;
      private java.lang.Object name_;
      /**
       * optional string name = 1;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string name = 1;
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        }
      }
      /**
       * optional string name = 1;
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // optional string value = 2;
      public static final int VALUE_FIELD_NUMBER = 2;
      private java.lang.Object value_;
      /**
       * optional string value = 2;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string value = 2;
       */
      public java.lang.String getValue() {
        java.lang.Object ref = value_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            value_ = s;
          }
          return s;
        }
      }
      /**
       * optional string value = 2;
       */
      public com.google.protobuf.ByteString
          getValueBytes() {
        java.lang.Object ref = value_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          value_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private void initFields() {
        name_ = "";
        value_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getValueBytes());
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getValueBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CUserMsg_VGUIMenu.Keys}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder
         implements com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.KeysOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_Keys_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_Keys_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.class, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder.class);
        }

        // Construct using com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          value_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_Keys_descriptor;
        }

        public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys getDefaultInstanceForType() {
          return com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.getDefaultInstance();
        }

        public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys build() {
          com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys buildPartial() {
          com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys result = new com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.name_ = name_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.value_ = value_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys) {
            return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys other) {
          if (other == com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.getDefaultInstance()) return this;
          if (other.hasName()) {
            bitField0_ |= 0x00000001;
            name_ = other.name_;
            onChanged();
          }
          if (other.hasValue()) {
            bitField0_ |= 0x00000002;
            value_ = other.value_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional string name = 1;
        private java.lang.Object name_ = "";
        /**
         * optional string name = 1;
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional string name = 1;
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string name = 1;
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string name = 1;
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string name = 1;
         */
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * optional string name = 1;
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }

        // optional string value = 2;
        private java.lang.Object value_ = "";
        /**
         * optional string value = 2;
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional string value = 2;
         */
        public java.lang.String getValue() {
          java.lang.Object ref = value_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            value_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string value = 2;
         */
        public com.google.protobuf.ByteString
            getValueBytes() {
          java.lang.Object ref = value_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            value_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string value = 2;
         */
        public Builder setValue(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string value = 2;
         */
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = getDefaultInstance().getValue();
          onChanged();
          return this;
        }
        /**
         * optional string value = 2;
         */
        public Builder setValueBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CUserMsg_VGUIMenu.Keys)
      }

      static {
        defaultInstance = new Keys(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CUserMsg_VGUIMenu.Keys)
    }

    private int bitField0_;
    // optional string name = 1;
    public static final int NAME_FIELD_NUMBER = 1;
    private java.lang.Object name_;
    /**
     * optional string name = 1;
     */
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string name = 1;
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name = 1;
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bool show = 2;
    public static final int SHOW_FIELD_NUMBER = 2;
    private boolean show_;
    /**
     * optional bool show = 2;
     */
    public boolean hasShow() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool show = 2;
     */
    public boolean getShow() {
      return show_;
    }

    // repeated .CUserMsg_VGUIMenu.Keys keys = 3;
    public static final int KEYS_FIELD_NUMBER = 3;
    private java.util.List keys_;
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    public java.util.List getKeysList() {
      return keys_;
    }
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    public java.util.List 
        getKeysOrBuilderList() {
      return keys_;
    }
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    public int getKeysCount() {
      return keys_.size();
    }
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys getKeys(int index) {
      return keys_.get(index);
    }
    /**
     * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
     */
    public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.KeysOrBuilder getKeysOrBuilder(
        int index) {
      return keys_.get(index);
    }

    private void initFields() {
      name_ = "";
      show_ = false;
      keys_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, show_);
      }
      for (int i = 0; i < keys_.size(); i++) {
        output.writeMessage(3, keys_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, show_);
      }
      for (int i = 0; i < keys_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, keys_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_VGUIMenu prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_VGUIMenu}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_VGUIMenuOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.class, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getKeysFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        show_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (keysBuilder_ == null) {
          keys_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          keysBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_VGUIMenu_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu build() {
        com.dota2.proto.Usermessages.CUserMsg_VGUIMenu result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_VGUIMenu result = new com.dota2.proto.Usermessages.CUserMsg_VGUIMenu(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.name_ = name_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.show_ = show_;
        if (keysBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            keys_ = java.util.Collections.unmodifiableList(keys_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.keys_ = keys_;
        } else {
          result.keys_ = keysBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_VGUIMenu) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_VGUIMenu)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_VGUIMenu other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.getDefaultInstance()) return this;
        if (other.hasName()) {
          bitField0_ |= 0x00000001;
          name_ = other.name_;
          onChanged();
        }
        if (other.hasShow()) {
          setShow(other.getShow());
        }
        if (keysBuilder_ == null) {
          if (!other.keys_.isEmpty()) {
            if (keys_.isEmpty()) {
              keys_ = other.keys_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureKeysIsMutable();
              keys_.addAll(other.keys_);
            }
            onChanged();
          }
        } else {
          if (!other.keys_.isEmpty()) {
            if (keysBuilder_.isEmpty()) {
              keysBuilder_.dispose();
              keysBuilder_ = null;
              keys_ = other.keys_;
              bitField0_ = (bitField0_ & ~0x00000004);
              keysBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getKeysFieldBuilder() : null;
            } else {
              keysBuilder_.addAllMessages(other.keys_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_VGUIMenu parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_VGUIMenu) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string name = 1;
      private java.lang.Object name_ = "";
      /**
       * optional string name = 1;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string name = 1;
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name = 1;
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name = 1;
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string name = 1;
       */
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * optional string name = 1;
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }

      // optional bool show = 2;
      private boolean show_ ;
      /**
       * optional bool show = 2;
       */
      public boolean hasShow() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool show = 2;
       */
      public boolean getShow() {
        return show_;
      }
      /**
       * optional bool show = 2;
       */
      public Builder setShow(boolean value) {
        bitField0_ |= 0x00000002;
        show_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool show = 2;
       */
      public Builder clearShow() {
        bitField0_ = (bitField0_ & ~0x00000002);
        show_ = false;
        onChanged();
        return this;
      }

      // repeated .CUserMsg_VGUIMenu.Keys keys = 3;
      private java.util.List keys_ =
        java.util.Collections.emptyList();
      private void ensureKeysIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          keys_ = new java.util.ArrayList(keys_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.KeysOrBuilder> keysBuilder_;

      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public java.util.List getKeysList() {
        if (keysBuilder_ == null) {
          return java.util.Collections.unmodifiableList(keys_);
        } else {
          return keysBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public int getKeysCount() {
        if (keysBuilder_ == null) {
          return keys_.size();
        } else {
          return keysBuilder_.getCount();
        }
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys getKeys(int index) {
        if (keysBuilder_ == null) {
          return keys_.get(index);
        } else {
          return keysBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder setKeys(
          int index, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys value) {
        if (keysBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureKeysIsMutable();
          keys_.set(index, value);
          onChanged();
        } else {
          keysBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder setKeys(
          int index, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder builderForValue) {
        if (keysBuilder_ == null) {
          ensureKeysIsMutable();
          keys_.set(index, builderForValue.build());
          onChanged();
        } else {
          keysBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder addKeys(com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys value) {
        if (keysBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureKeysIsMutable();
          keys_.add(value);
          onChanged();
        } else {
          keysBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder addKeys(
          int index, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys value) {
        if (keysBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureKeysIsMutable();
          keys_.add(index, value);
          onChanged();
        } else {
          keysBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder addKeys(
          com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder builderForValue) {
        if (keysBuilder_ == null) {
          ensureKeysIsMutable();
          keys_.add(builderForValue.build());
          onChanged();
        } else {
          keysBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder addKeys(
          int index, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder builderForValue) {
        if (keysBuilder_ == null) {
          ensureKeysIsMutable();
          keys_.add(index, builderForValue.build());
          onChanged();
        } else {
          keysBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder addAllKeys(
          java.lang.Iterable values) {
        if (keysBuilder_ == null) {
          ensureKeysIsMutable();
          super.addAll(values, keys_);
          onChanged();
        } else {
          keysBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder clearKeys() {
        if (keysBuilder_ == null) {
          keys_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          keysBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public Builder removeKeys(int index) {
        if (keysBuilder_ == null) {
          ensureKeysIsMutable();
          keys_.remove(index);
          onChanged();
        } else {
          keysBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder getKeysBuilder(
          int index) {
        return getKeysFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.KeysOrBuilder getKeysOrBuilder(
          int index) {
        if (keysBuilder_ == null) {
          return keys_.get(index);  } else {
          return keysBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public java.util.List 
           getKeysOrBuilderList() {
        if (keysBuilder_ != null) {
          return keysBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(keys_);
        }
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder addKeysBuilder() {
        return getKeysFieldBuilder().addBuilder(
            com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.getDefaultInstance());
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder addKeysBuilder(
          int index) {
        return getKeysFieldBuilder().addBuilder(
            index, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.getDefaultInstance());
      }
      /**
       * repeated .CUserMsg_VGUIMenu.Keys keys = 3;
       */
      public java.util.List 
           getKeysBuilderList() {
        return getKeysFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.KeysOrBuilder> 
          getKeysFieldBuilder() {
        if (keysBuilder_ == null) {
          keysBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.Keys.Builder, com.dota2.proto.Usermessages.CUserMsg_VGUIMenu.KeysOrBuilder>(
                  keys_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          keys_ = null;
        }
        return keysBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_VGUIMenu)
    }

    static {
      defaultInstance = new CUserMsg_VGUIMenu(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_VGUIMenu)
  }

  public interface CUserMsg_GeigerOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 range = 1;
    /**
     * optional int32 range = 1;
     */
    boolean hasRange();
    /**
     * optional int32 range = 1;
     */
    int getRange();
  }
  /**
   * Protobuf type {@code CUserMsg_Geiger}
   */
  public static final class CUserMsg_Geiger extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_GeigerOrBuilder {
    // Use CUserMsg_Geiger.newBuilder() to construct.
    private CUserMsg_Geiger(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_Geiger(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_Geiger defaultInstance;
    public static CUserMsg_Geiger getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_Geiger getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_Geiger(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              range_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Geiger_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Geiger_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_Geiger.class, com.dota2.proto.Usermessages.CUserMsg_Geiger.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_Geiger parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_Geiger(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 range = 1;
    public static final int RANGE_FIELD_NUMBER = 1;
    private int range_;
    /**
     * optional int32 range = 1;
     */
    public boolean hasRange() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 range = 1;
     */
    public int getRange() {
      return range_;
    }

    private void initFields() {
      range_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, range_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, range_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Geiger parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_Geiger prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_Geiger}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_GeigerOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Geiger_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Geiger_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_Geiger.class, com.dota2.proto.Usermessages.CUserMsg_Geiger.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_Geiger.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        range_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Geiger_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Geiger getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_Geiger.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_Geiger build() {
        com.dota2.proto.Usermessages.CUserMsg_Geiger result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Geiger buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_Geiger result = new com.dota2.proto.Usermessages.CUserMsg_Geiger(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.range_ = range_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_Geiger) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_Geiger)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_Geiger other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_Geiger.getDefaultInstance()) return this;
        if (other.hasRange()) {
          setRange(other.getRange());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_Geiger parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_Geiger) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 range = 1;
      private int range_ ;
      /**
       * optional int32 range = 1;
       */
      public boolean hasRange() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 range = 1;
       */
      public int getRange() {
        return range_;
      }
      /**
       * optional int32 range = 1;
       */
      public Builder setRange(int value) {
        bitField0_ |= 0x00000001;
        range_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 range = 1;
       */
      public Builder clearRange() {
        bitField0_ = (bitField0_ & ~0x00000001);
        range_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_Geiger)
    }

    static {
      defaultInstance = new CUserMsg_Geiger(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_Geiger)
  }

  public interface CUserMsg_RumbleOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 index = 1;
    /**
     * optional int32 index = 1;
     */
    boolean hasIndex();
    /**
     * optional int32 index = 1;
     */
    int getIndex();

    // optional int32 data = 2;
    /**
     * optional int32 data = 2;
     */
    boolean hasData();
    /**
     * optional int32 data = 2;
     */
    int getData();

    // optional int32 flags = 3;
    /**
     * optional int32 flags = 3;
     */
    boolean hasFlags();
    /**
     * optional int32 flags = 3;
     */
    int getFlags();
  }
  /**
   * Protobuf type {@code CUserMsg_Rumble}
   */
  public static final class CUserMsg_Rumble extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_RumbleOrBuilder {
    // Use CUserMsg_Rumble.newBuilder() to construct.
    private CUserMsg_Rumble(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_Rumble(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_Rumble defaultInstance;
    public static CUserMsg_Rumble getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_Rumble getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_Rumble(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              index_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              data_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              flags_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Rumble_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Rumble_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_Rumble.class, com.dota2.proto.Usermessages.CUserMsg_Rumble.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_Rumble parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_Rumble(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 index = 1;
    public static final int INDEX_FIELD_NUMBER = 1;
    private int index_;
    /**
     * optional int32 index = 1;
     */
    public boolean hasIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 index = 1;
     */
    public int getIndex() {
      return index_;
    }

    // optional int32 data = 2;
    public static final int DATA_FIELD_NUMBER = 2;
    private int data_;
    /**
     * optional int32 data = 2;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 data = 2;
     */
    public int getData() {
      return data_;
    }

    // optional int32 flags = 3;
    public static final int FLAGS_FIELD_NUMBER = 3;
    private int flags_;
    /**
     * optional int32 flags = 3;
     */
    public boolean hasFlags() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 flags = 3;
     */
    public int getFlags() {
      return flags_;
    }

    private void initFields() {
      index_ = 0;
      data_ = 0;
      flags_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, index_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, data_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, flags_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, index_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, data_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, flags_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Rumble parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_Rumble prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_Rumble}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_RumbleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Rumble_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Rumble_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_Rumble.class, com.dota2.proto.Usermessages.CUserMsg_Rumble.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_Rumble.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        index_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Rumble_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Rumble getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_Rumble.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_Rumble build() {
        com.dota2.proto.Usermessages.CUserMsg_Rumble result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Rumble buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_Rumble result = new com.dota2.proto.Usermessages.CUserMsg_Rumble(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.index_ = index_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.data_ = data_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.flags_ = flags_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_Rumble) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_Rumble)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_Rumble other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_Rumble.getDefaultInstance()) return this;
        if (other.hasIndex()) {
          setIndex(other.getIndex());
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_Rumble parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_Rumble) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 index = 1;
      private int index_ ;
      /**
       * optional int32 index = 1;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 index = 1;
       */
      public int getIndex() {
        return index_;
      }
      /**
       * optional int32 index = 1;
       */
      public Builder setIndex(int value) {
        bitField0_ |= 0x00000001;
        index_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 index = 1;
       */
      public Builder clearIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        index_ = 0;
        onChanged();
        return this;
      }

      // optional int32 data = 2;
      private int data_ ;
      /**
       * optional int32 data = 2;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 data = 2;
       */
      public int getData() {
        return data_;
      }
      /**
       * optional int32 data = 2;
       */
      public Builder setData(int value) {
        bitField0_ |= 0x00000002;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 data = 2;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = 0;
        onChanged();
        return this;
      }

      // optional int32 flags = 3;
      private int flags_ ;
      /**
       * optional int32 flags = 3;
       */
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 flags = 3;
       */
      public int getFlags() {
        return flags_;
      }
      /**
       * optional int32 flags = 3;
       */
      public Builder setFlags(int value) {
        bitField0_ |= 0x00000004;
        flags_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 flags = 3;
       */
      public Builder clearFlags() {
        bitField0_ = (bitField0_ & ~0x00000004);
        flags_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_Rumble)
    }

    static {
      defaultInstance = new CUserMsg_Rumble(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_Rumble)
  }

  public interface CUserMsg_TrainOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 train = 1;
    /**
     * optional int32 train = 1;
     */
    boolean hasTrain();
    /**
     * optional int32 train = 1;
     */
    int getTrain();
  }
  /**
   * Protobuf type {@code CUserMsg_Train}
   */
  public static final class CUserMsg_Train extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_TrainOrBuilder {
    // Use CUserMsg_Train.newBuilder() to construct.
    private CUserMsg_Train(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_Train(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_Train defaultInstance;
    public static CUserMsg_Train getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_Train getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_Train(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              train_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Train_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_Train_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_Train.class, com.dota2.proto.Usermessages.CUserMsg_Train.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_Train parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_Train(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 train = 1;
    public static final int TRAIN_FIELD_NUMBER = 1;
    private int train_;
    /**
     * optional int32 train = 1;
     */
    public boolean hasTrain() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 train = 1;
     */
    public int getTrain() {
      return train_;
    }

    private void initFields() {
      train_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, train_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, train_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_Train parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_Train prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_Train}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_TrainOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Train_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Train_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_Train.class, com.dota2.proto.Usermessages.CUserMsg_Train.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_Train.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        train_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_Train_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Train getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_Train.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_Train build() {
        com.dota2.proto.Usermessages.CUserMsg_Train result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_Train buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_Train result = new com.dota2.proto.Usermessages.CUserMsg_Train(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.train_ = train_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_Train) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_Train)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_Train other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_Train.getDefaultInstance()) return this;
        if (other.hasTrain()) {
          setTrain(other.getTrain());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_Train parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_Train) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 train = 1;
      private int train_ ;
      /**
       * optional int32 train = 1;
       */
      public boolean hasTrain() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 train = 1;
       */
      public int getTrain() {
        return train_;
      }
      /**
       * optional int32 train = 1;
       */
      public Builder setTrain(int value) {
        bitField0_ |= 0x00000001;
        train_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 train = 1;
       */
      public Builder clearTrain() {
        bitField0_ = (bitField0_ & ~0x00000001);
        train_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_Train)
    }

    static {
      defaultInstance = new CUserMsg_Train(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_Train)
  }

  public interface CUserMsg_SayTextChannelOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 player = 1;
    /**
     * optional int32 player = 1;
     */
    boolean hasPlayer();
    /**
     * optional int32 player = 1;
     */
    int getPlayer();

    // optional int32 channel = 2;
    /**
     * optional int32 channel = 2;
     */
    boolean hasChannel();
    /**
     * optional int32 channel = 2;
     */
    int getChannel();

    // optional string text = 3;
    /**
     * optional string text = 3;
     */
    boolean hasText();
    /**
     * optional string text = 3;
     */
    java.lang.String getText();
    /**
     * optional string text = 3;
     */
    com.google.protobuf.ByteString
        getTextBytes();
  }
  /**
   * Protobuf type {@code CUserMsg_SayTextChannel}
   */
  public static final class CUserMsg_SayTextChannel extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_SayTextChannelOrBuilder {
    // Use CUserMsg_SayTextChannel.newBuilder() to construct.
    private CUserMsg_SayTextChannel(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_SayTextChannel(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_SayTextChannel defaultInstance;
    public static CUserMsg_SayTextChannel getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_SayTextChannel getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_SayTextChannel(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              player_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              channel_ = input.readInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              text_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayTextChannel_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayTextChannel_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_SayTextChannel.class, com.dota2.proto.Usermessages.CUserMsg_SayTextChannel.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_SayTextChannel parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_SayTextChannel(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 player = 1;
    public static final int PLAYER_FIELD_NUMBER = 1;
    private int player_;
    /**
     * optional int32 player = 1;
     */
    public boolean hasPlayer() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 player = 1;
     */
    public int getPlayer() {
      return player_;
    }

    // optional int32 channel = 2;
    public static final int CHANNEL_FIELD_NUMBER = 2;
    private int channel_;
    /**
     * optional int32 channel = 2;
     */
    public boolean hasChannel() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 channel = 2;
     */
    public int getChannel() {
      return channel_;
    }

    // optional string text = 3;
    public static final int TEXT_FIELD_NUMBER = 3;
    private java.lang.Object text_;
    /**
     * optional string text = 3;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string text = 3;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 3;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      player_ = 0;
      channel_ = 0;
      text_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, player_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, channel_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getTextBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, player_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, channel_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getTextBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_SayTextChannel prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_SayTextChannel}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_SayTextChannelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayTextChannel_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayTextChannel_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_SayTextChannel.class, com.dota2.proto.Usermessages.CUserMsg_SayTextChannel.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_SayTextChannel.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        player_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        channel_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_SayTextChannel_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayTextChannel getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_SayTextChannel.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayTextChannel build() {
        com.dota2.proto.Usermessages.CUserMsg_SayTextChannel result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_SayTextChannel buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_SayTextChannel result = new com.dota2.proto.Usermessages.CUserMsg_SayTextChannel(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.player_ = player_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.channel_ = channel_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.text_ = text_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_SayTextChannel) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_SayTextChannel)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_SayTextChannel other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_SayTextChannel.getDefaultInstance()) return this;
        if (other.hasPlayer()) {
          setPlayer(other.getPlayer());
        }
        if (other.hasChannel()) {
          setChannel(other.getChannel());
        }
        if (other.hasText()) {
          bitField0_ |= 0x00000004;
          text_ = other.text_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_SayTextChannel parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_SayTextChannel) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 player = 1;
      private int player_ ;
      /**
       * optional int32 player = 1;
       */
      public boolean hasPlayer() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 player = 1;
       */
      public int getPlayer() {
        return player_;
      }
      /**
       * optional int32 player = 1;
       */
      public Builder setPlayer(int value) {
        bitField0_ |= 0x00000001;
        player_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 player = 1;
       */
      public Builder clearPlayer() {
        bitField0_ = (bitField0_ & ~0x00000001);
        player_ = 0;
        onChanged();
        return this;
      }

      // optional int32 channel = 2;
      private int channel_ ;
      /**
       * optional int32 channel = 2;
       */
      public boolean hasChannel() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 channel = 2;
       */
      public int getChannel() {
        return channel_;
      }
      /**
       * optional int32 channel = 2;
       */
      public Builder setChannel(int value) {
        bitField0_ |= 0x00000002;
        channel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 channel = 2;
       */
      public Builder clearChannel() {
        bitField0_ = (bitField0_ & ~0x00000002);
        channel_ = 0;
        onChanged();
        return this;
      }

      // optional string text = 3;
      private java.lang.Object text_ = "";
      /**
       * optional string text = 3;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string text = 3;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          text_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 3;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 3;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 3;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000004);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 3;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        text_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_SayTextChannel)
    }

    static {
      defaultInstance = new CUserMsg_SayTextChannel(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_SayTextChannel)
  }

  public interface CUserMsg_MessageTextOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 color = 1;
    /**
     * optional uint32 color = 1;
     */
    boolean hasColor();
    /**
     * optional uint32 color = 1;
     */
    int getColor();

    // optional string text = 2;
    /**
     * optional string text = 2;
     */
    boolean hasText();
    /**
     * optional string text = 2;
     */
    java.lang.String getText();
    /**
     * optional string text = 2;
     */
    com.google.protobuf.ByteString
        getTextBytes();
  }
  /**
   * Protobuf type {@code CUserMsg_MessageText}
   */
  public static final class CUserMsg_MessageText extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_MessageTextOrBuilder {
    // Use CUserMsg_MessageText.newBuilder() to construct.
    private CUserMsg_MessageText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_MessageText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_MessageText defaultInstance;
    public static CUserMsg_MessageText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_MessageText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_MessageText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              color_ = input.readUInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              text_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_MessageText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_MessageText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_MessageText.class, com.dota2.proto.Usermessages.CUserMsg_MessageText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_MessageText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_MessageText(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 color = 1;
    public static final int COLOR_FIELD_NUMBER = 1;
    private int color_;
    /**
     * optional uint32 color = 1;
     */
    public boolean hasColor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 color = 1;
     */
    public int getColor() {
      return color_;
    }

    // optional string text = 2;
    public static final int TEXT_FIELD_NUMBER = 2;
    private java.lang.Object text_;
    /**
     * optional string text = 2;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string text = 2;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 2;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      color_ = 0;
      text_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, color_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getTextBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, color_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getTextBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_MessageText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_MessageText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_MessageText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_MessageTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_MessageText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_MessageText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_MessageText.class, com.dota2.proto.Usermessages.CUserMsg_MessageText.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_MessageText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_MessageText_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_MessageText getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_MessageText.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_MessageText build() {
        com.dota2.proto.Usermessages.CUserMsg_MessageText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_MessageText buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_MessageText result = new com.dota2.proto.Usermessages.CUserMsg_MessageText(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.color_ = color_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.text_ = text_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_MessageText) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_MessageText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_MessageText other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_MessageText.getDefaultInstance()) return this;
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        if (other.hasText()) {
          bitField0_ |= 0x00000002;
          text_ = other.text_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_MessageText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_MessageText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 color = 1;
      private int color_ ;
      /**
       * optional uint32 color = 1;
       */
      public boolean hasColor() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 color = 1;
       */
      public int getColor() {
        return color_;
      }
      /**
       * optional uint32 color = 1;
       */
      public Builder setColor(int value) {
        bitField0_ |= 0x00000001;
        color_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 color = 1;
       */
      public Builder clearColor() {
        bitField0_ = (bitField0_ & ~0x00000001);
        color_ = 0;
        onChanged();
        return this;
      }

      // optional string text = 2;
      private java.lang.Object text_ = "";
      /**
       * optional string text = 2;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string text = 2;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          text_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000002);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_MessageText)
    }

    static {
      defaultInstance = new CUserMsg_MessageText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_MessageText)
  }

  public interface CUserMsg_CameraTransitionOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 camera_type = 1;
    /**
     * optional uint32 camera_type = 1;
     */
    boolean hasCameraType();
    /**
     * optional uint32 camera_type = 1;
     */
    int getCameraType();

    // optional float duration = 2;
    /**
     * optional float duration = 2;
     */
    boolean hasDuration();
    /**
     * optional float duration = 2;
     */
    float getDuration();

    // optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
    /**
     * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    boolean hasParamsDataDriven();
    /**
     * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven getParamsDataDriven();
    /**
     * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDrivenOrBuilder getParamsDataDrivenOrBuilder();
  }
  /**
   * Protobuf type {@code CUserMsg_CameraTransition}
   */
  public static final class CUserMsg_CameraTransition extends
      com.google.protobuf.GeneratedMessage
      implements CUserMsg_CameraTransitionOrBuilder {
    // Use CUserMsg_CameraTransition.newBuilder() to construct.
    private CUserMsg_CameraTransition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_CameraTransition(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_CameraTransition defaultInstance;
    public static CUserMsg_CameraTransition getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_CameraTransition getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_CameraTransition(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              cameraType_ = input.readUInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              duration_ = input.readFloat();
              break;
            }
            case 26: {
              com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = paramsDataDriven_.toBuilder();
              }
              paramsDataDriven_ = input.readMessage(com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(paramsDataDriven_);
                paramsDataDriven_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Usermessages.CUserMsg_CameraTransition.class, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_CameraTransition parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_CameraTransition(input, extensionRegistry);
      }
    };

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

    public interface Transition_DataDrivenOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional string filename = 1;
      /**
       * optional string filename = 1;
       */
      boolean hasFilename();
      /**
       * optional string filename = 1;
       */
      java.lang.String getFilename();
      /**
       * optional string filename = 1;
       */
      com.google.protobuf.ByteString
          getFilenameBytes();

      // optional int32 attach_ent_index = 2;
      /**
       * optional int32 attach_ent_index = 2;
       */
      boolean hasAttachEntIndex();
      /**
       * optional int32 attach_ent_index = 2;
       */
      int getAttachEntIndex();
    }
    /**
     * Protobuf type {@code CUserMsg_CameraTransition.Transition_DataDriven}
     */
    public static final class Transition_DataDriven extends
        com.google.protobuf.GeneratedMessage
        implements Transition_DataDrivenOrBuilder {
      // Use Transition_DataDriven.newBuilder() to construct.
      private Transition_DataDriven(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Transition_DataDriven(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Transition_DataDriven defaultInstance;
      public static Transition_DataDriven getDefaultInstance() {
        return defaultInstance;
      }

      public Transition_DataDriven getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Transition_DataDriven(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                filename_ = input.readBytes();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                attachEntIndex_ = input.readInt32();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_Transition_DataDriven_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_Transition_DataDriven_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.class, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public Transition_DataDriven parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Transition_DataDriven(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional string filename = 1;
      public static final int FILENAME_FIELD_NUMBER = 1;
      private java.lang.Object filename_;
      /**
       * optional string filename = 1;
       */
      public boolean hasFilename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string filename = 1;
       */
      public java.lang.String getFilename() {
        java.lang.Object ref = filename_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            filename_ = s;
          }
          return s;
        }
      }
      /**
       * optional string filename = 1;
       */
      public com.google.protobuf.ByteString
          getFilenameBytes() {
        java.lang.Object ref = filename_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // optional int32 attach_ent_index = 2;
      public static final int ATTACH_ENT_INDEX_FIELD_NUMBER = 2;
      private int attachEntIndex_;
      /**
       * optional int32 attach_ent_index = 2;
       */
      public boolean hasAttachEntIndex() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 attach_ent_index = 2;
       */
      public int getAttachEntIndex() {
        return attachEntIndex_;
      }

      private void initFields() {
        filename_ = "";
        attachEntIndex_ = 0;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getFilenameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt32(2, attachEntIndex_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getFilenameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, attachEntIndex_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CUserMsg_CameraTransition.Transition_DataDriven}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder
         implements com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDrivenOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_Transition_DataDriven_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_Transition_DataDriven_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.class, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder.class);
        }

        // Construct using com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          filename_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          attachEntIndex_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_Transition_DataDriven_descriptor;
        }

        public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven getDefaultInstanceForType() {
          return com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.getDefaultInstance();
        }

        public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven build() {
          com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven buildPartial() {
          com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven result = new com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.filename_ = filename_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.attachEntIndex_ = attachEntIndex_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven) {
            return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven other) {
          if (other == com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.getDefaultInstance()) return this;
          if (other.hasFilename()) {
            bitField0_ |= 0x00000001;
            filename_ = other.filename_;
            onChanged();
          }
          if (other.hasAttachEntIndex()) {
            setAttachEntIndex(other.getAttachEntIndex());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional string filename = 1;
        private java.lang.Object filename_ = "";
        /**
         * optional string filename = 1;
         */
        public boolean hasFilename() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional string filename = 1;
         */
        public java.lang.String getFilename() {
          java.lang.Object ref = filename_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            filename_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string filename = 1;
         */
        public com.google.protobuf.ByteString
            getFilenameBytes() {
          java.lang.Object ref = filename_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            filename_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string filename = 1;
         */
        public Builder setFilename(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          filename_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string filename = 1;
         */
        public Builder clearFilename() {
          bitField0_ = (bitField0_ & ~0x00000001);
          filename_ = getDefaultInstance().getFilename();
          onChanged();
          return this;
        }
        /**
         * optional string filename = 1;
         */
        public Builder setFilenameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          filename_ = value;
          onChanged();
          return this;
        }

        // optional int32 attach_ent_index = 2;
        private int attachEntIndex_ ;
        /**
         * optional int32 attach_ent_index = 2;
         */
        public boolean hasAttachEntIndex() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional int32 attach_ent_index = 2;
         */
        public int getAttachEntIndex() {
          return attachEntIndex_;
        }
        /**
         * optional int32 attach_ent_index = 2;
         */
        public Builder setAttachEntIndex(int value) {
          bitField0_ |= 0x00000002;
          attachEntIndex_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 attach_ent_index = 2;
         */
        public Builder clearAttachEntIndex() {
          bitField0_ = (bitField0_ & ~0x00000002);
          attachEntIndex_ = 0;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CUserMsg_CameraTransition.Transition_DataDriven)
      }

      static {
        defaultInstance = new Transition_DataDriven(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CUserMsg_CameraTransition.Transition_DataDriven)
    }

    private int bitField0_;
    // optional uint32 camera_type = 1;
    public static final int CAMERA_TYPE_FIELD_NUMBER = 1;
    private int cameraType_;
    /**
     * optional uint32 camera_type = 1;
     */
    public boolean hasCameraType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 camera_type = 1;
     */
    public int getCameraType() {
      return cameraType_;
    }

    // optional float duration = 2;
    public static final int DURATION_FIELD_NUMBER = 2;
    private float duration_;
    /**
     * optional float duration = 2;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float duration = 2;
     */
    public float getDuration() {
      return duration_;
    }

    // optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
    public static final int PARAMS_DATA_DRIVEN_FIELD_NUMBER = 3;
    private com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven paramsDataDriven_;
    /**
     * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    public boolean hasParamsDataDriven() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven getParamsDataDriven() {
      return paramsDataDriven_;
    }
    /**
     * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDrivenOrBuilder getParamsDataDrivenOrBuilder() {
      return paramsDataDriven_;
    }

    private void initFields() {
      cameraType_ = 0;
      duration_ = 0F;
      paramsDataDriven_ = com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, cameraType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, paramsDataDriven_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, cameraType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, paramsDataDriven_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Usermessages.CUserMsg_CameraTransition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Usermessages.CUserMsg_CameraTransition prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_CameraTransition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Usermessages.CUserMsg_CameraTransitionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Usermessages.CUserMsg_CameraTransition.class, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Builder.class);
      }

      // Construct using com.dota2.proto.Usermessages.CUserMsg_CameraTransition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getParamsDataDrivenFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        cameraType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDriven_ = com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.getDefaultInstance();
        } else {
          paramsDataDrivenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Usermessages.internal_static_CUserMsg_CameraTransition_descriptor;
      }

      public com.dota2.proto.Usermessages.CUserMsg_CameraTransition getDefaultInstanceForType() {
        return com.dota2.proto.Usermessages.CUserMsg_CameraTransition.getDefaultInstance();
      }

      public com.dota2.proto.Usermessages.CUserMsg_CameraTransition build() {
        com.dota2.proto.Usermessages.CUserMsg_CameraTransition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Usermessages.CUserMsg_CameraTransition buildPartial() {
        com.dota2.proto.Usermessages.CUserMsg_CameraTransition result = new com.dota2.proto.Usermessages.CUserMsg_CameraTransition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.cameraType_ = cameraType_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (paramsDataDrivenBuilder_ == null) {
          result.paramsDataDriven_ = paramsDataDriven_;
        } else {
          result.paramsDataDriven_ = paramsDataDrivenBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Usermessages.CUserMsg_CameraTransition) {
          return mergeFrom((com.dota2.proto.Usermessages.CUserMsg_CameraTransition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Usermessages.CUserMsg_CameraTransition other) {
        if (other == com.dota2.proto.Usermessages.CUserMsg_CameraTransition.getDefaultInstance()) return this;
        if (other.hasCameraType()) {
          setCameraType(other.getCameraType());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasParamsDataDriven()) {
          mergeParamsDataDriven(other.getParamsDataDriven());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Usermessages.CUserMsg_CameraTransition parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Usermessages.CUserMsg_CameraTransition) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 camera_type = 1;
      private int cameraType_ ;
      /**
       * optional uint32 camera_type = 1;
       */
      public boolean hasCameraType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 camera_type = 1;
       */
      public int getCameraType() {
        return cameraType_;
      }
      /**
       * optional uint32 camera_type = 1;
       */
      public Builder setCameraType(int value) {
        bitField0_ |= 0x00000001;
        cameraType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 camera_type = 1;
       */
      public Builder clearCameraType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        cameraType_ = 0;
        onChanged();
        return this;
      }

      // optional float duration = 2;
      private float duration_ ;
      /**
       * optional float duration = 2;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float duration = 2;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 2;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 2;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0F;
        onChanged();
        return this;
      }

      // optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
      private com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven paramsDataDriven_ = com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDrivenOrBuilder> paramsDataDrivenBuilder_;
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public boolean hasParamsDataDriven() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven getParamsDataDriven() {
        if (paramsDataDrivenBuilder_ == null) {
          return paramsDataDriven_;
        } else {
          return paramsDataDrivenBuilder_.getMessage();
        }
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder setParamsDataDriven(com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven value) {
        if (paramsDataDrivenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          paramsDataDriven_ = value;
          onChanged();
        } else {
          paramsDataDrivenBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder setParamsDataDriven(
          com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder builderForValue) {
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDriven_ = builderForValue.build();
          onChanged();
        } else {
          paramsDataDrivenBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder mergeParamsDataDriven(com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven value) {
        if (paramsDataDrivenBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              paramsDataDriven_ != com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.getDefaultInstance()) {
            paramsDataDriven_ =
              com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.newBuilder(paramsDataDriven_).mergeFrom(value).buildPartial();
          } else {
            paramsDataDriven_ = value;
          }
          onChanged();
        } else {
          paramsDataDrivenBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder clearParamsDataDriven() {
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDriven_ = com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.getDefaultInstance();
          onChanged();
        } else {
          paramsDataDrivenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder getParamsDataDrivenBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getParamsDataDrivenFieldBuilder().getBuilder();
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDrivenOrBuilder getParamsDataDrivenOrBuilder() {
        if (paramsDataDrivenBuilder_ != null) {
          return paramsDataDrivenBuilder_.getMessageOrBuilder();
        } else {
          return paramsDataDriven_;
        }
      }
      /**
       * optional .CUserMsg_CameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDrivenOrBuilder> 
          getParamsDataDrivenFieldBuilder() {
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDrivenBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDriven.Builder, com.dota2.proto.Usermessages.CUserMsg_CameraTransition.Transition_DataDrivenOrBuilder>(
                  paramsDataDriven_,
                  getParentForChildren(),
                  isClean());
          paramsDataDriven_ = null;
        }
        return paramsDataDrivenBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_CameraTransition)
    }

    static {
      defaultInstance = new CUserMsg_CameraTransition(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_CameraTransition)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_AchievementEvent_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_AchievementEvent_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_CloseCaption_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_CloseCaption_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_CurrentTimescale_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_CurrentTimescale_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_DesiredTimescale_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_DesiredTimescale_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_Fade_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_Fade_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_Shake_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_Shake_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_ShakeDir_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_ShakeDir_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_Tilt_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_Tilt_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_SayText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_SayText_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_SayText2_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_SayText2_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_HudMsg_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_HudMsg_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_HudText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_HudText_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_TextMsg_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_TextMsg_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_GameTitle_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_GameTitle_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_ResetHUD_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_ResetHUD_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_SendAudio_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_SendAudio_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_VoiceMask_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_VoiceMask_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_RequestState_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_RequestState_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_HintText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_HintText_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_KeyHintText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_KeyHintText_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_StatsCrawlMsg_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_StatsCrawlMsg_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_StatsSkipState_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_StatsSkipState_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_VoiceSubtitle_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_VoiceSubtitle_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_VGUIMenu_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_VGUIMenu_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_VGUIMenu_Keys_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_VGUIMenu_Keys_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_Geiger_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_Geiger_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_Rumble_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_Rumble_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_Train_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_Train_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_SayTextChannel_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_SayTextChannel_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_MessageText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_MessageText_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_CameraTransition_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_CameraTransition_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_CameraTransition_Transition_DataDriven_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_CameraTransition_Transition_DataDriven_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\022usermessages.proto\032 google/protobuf/de" +
      "scriptor.proto\032\026networkbasetypes.proto\"0" +
      "\n\031CUserMsg_AchievementEvent\022\023\n\013achieveme" +
      "nt\030\001 \001(\r\"_\n\025CUserMsg_CloseCaption\022\014\n\004has" +
      "h\030\001 \001(\007\022\020\n\010duration\030\002 \001(\002\022\023\n\013from_player" +
      "\030\003 \001(\010\022\021\n\tent_index\030\004 \001(\005\",\n\031CUserMsg_Cu" +
      "rrentTimescale\022\017\n\007current\030\001 \001(\002\"n\n\031CUser" +
      "Msg_DesiredTimescale\022\017\n\007desired\030\001 \001(\002\022\020\n" +
      "\010duration\030\002 \001(\002\022\024\n\014interpolator\030\003 \001(\r\022\030\n" +
      "\020start_blend_time\030\004 \001(\002\"R\n\rCUserMsg_Fade",
      "\022\020\n\010duration\030\001 \001(\r\022\021\n\thold_time\030\002 \001(\r\022\r\n" +
      "\005flags\030\003 \001(\r\022\r\n\005color\030\004 \001(\007\"Y\n\016CUserMsg_" +
      "Shake\022\017\n\007command\030\001 \001(\r\022\021\n\tamplitude\030\002 \001(" +
      "\002\022\021\n\tfrequency\030\003 \001(\002\022\020\n\010duration\030\004 \001(\002\"S" +
      "\n\021CUserMsg_ShakeDir\022\036\n\005shake\030\001 \001(\0132\017.CUs" +
      "erMsg_Shake\022\036\n\tdirection\030\002 \001(\0132\013.CMsgVec" +
      "tor\"q\n\rCUserMsg_Tilt\022\017\n\007command\030\001 \001(\r\022\023\n" +
      "\013ease_in_out\030\002 \001(\010\022\032\n\005angle\030\003 \001(\0132\013.CMsg" +
      "Vector\022\020\n\010duration\030\004 \001(\002\022\014\n\004time\030\005 \001(\002\">" +
      "\n\020CUserMsg_SayText\022\016\n\006client\030\001 \001(\r\022\014\n\004te",
      "xt\030\002 \001(\t\022\014\n\004chat\030\003 \001(\010\"q\n\021CUserMsg_SayTe" +
      "xt2\022\016\n\006client\030\001 \001(\r\022\014\n\004chat\030\002 \001(\010\022\016\n\006for" +
      "mat\030\003 \001(\t\022\016\n\006prefix\030\004 \001(\t\022\014\n\004text\030\005 \001(\t\022" +
      "\020\n\010location\030\006 \001(\t\"\312\001\n\017CUserMsg_HudMsg\022\017\n" +
      "\007channel\030\001 \001(\r\022\t\n\001x\030\002 \001(\002\022\t\n\001y\030\003 \001(\002\022\016\n\006" +
      "color1\030\004 \001(\r\022\016\n\006color2\030\005 \001(\r\022\016\n\006effect\030\006" +
      " \001(\r\022\024\n\014fade_in_time\030\007 \001(\002\022\025\n\rfade_out_t" +
      "ime\030\010 \001(\002\022\021\n\thold_time\030\t \001(\002\022\017\n\007fx_time\030" +
      "\n \001(\002\022\017\n\007message\030\013 \001(\t\"#\n\020CUserMsg_HudTe" +
      "xt\022\017\n\007message\030\001 \001(\t\"/\n\020CUserMsg_TextMsg\022",
      "\014\n\004dest\030\001 \001(\r\022\r\n\005param\030\002 \003(\t\"\024\n\022CUserMsg" +
      "_GameTitle\"\023\n\021CUserMsg_ResetHUD\"0\n\022CUser" +
      "Msg_SendAudio\022\014\n\004stop\030\002 \001(\010\022\014\n\004name\030\003 \001(" +
      "\t\"N\n\022CUserMsg_VoiceMask\022\034\n\024audible_playe" +
      "rs_mask\030\001 \003(\005\022\032\n\022player_mod_enabled\030\002 \001(" +
      "\010\"\027\n\025CUserMsg_RequestState\"$\n\021CUserMsg_H" +
      "intText\022\017\n\007message\030\001 \001(\t\"(\n\024CUserMsg_Key" +
      "HintText\022\020\n\010messages\030\001 \003(\t\"\030\n\026CUserMsg_S" +
      "tatsCrawlMsg\"A\n\027CUserMsg_StatsSkipState\022" +
      "\021\n\tnum_skips\030\001 \001(\005\022\023\n\013num_players\030\002 \001(\005\"",
      "G\n\026CUserMsg_VoiceSubtitle\022\021\n\tent_index\030\001" +
      " \001(\005\022\014\n\004menu\030\002 \001(\005\022\014\n\004item\030\003 \001(\005\"{\n\021CUse" +
      "rMsg_VGUIMenu\022\014\n\004name\030\001 \001(\t\022\014\n\004show\030\002 \001(" +
      "\010\022%\n\004keys\030\003 \003(\0132\027.CUserMsg_VGUIMenu.Keys" +
      "\032#\n\004Keys\022\014\n\004name\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\" \n" +
      "\017CUserMsg_Geiger\022\r\n\005range\030\001 \001(\005\"=\n\017CUser" +
      "Msg_Rumble\022\r\n\005index\030\001 \001(\005\022\014\n\004data\030\002 \001(\005\022" +
      "\r\n\005flags\030\003 \001(\005\"\037\n\016CUserMsg_Train\022\r\n\005trai" +
      "n\030\001 \001(\005\"H\n\027CUserMsg_SayTextChannel\022\016\n\006pl" +
      "ayer\030\001 \001(\005\022\017\n\007channel\030\002 \001(\005\022\014\n\004text\030\003 \001(",
      "\t\"3\n\024CUserMsg_MessageText\022\r\n\005color\030\001 \001(\r" +
      "\022\014\n\004text\030\002 \001(\t\"\325\001\n\031CUserMsg_CameraTransi" +
      "tion\022\023\n\013camera_type\030\001 \001(\r\022\020\n\010duration\030\002 " +
      "\001(\002\022L\n\022params_data_driven\030\003 \001(\01320.CUserM" +
      "sg_CameraTransition.Transition_DataDrive" +
      "n\032C\n\025Transition_DataDriven\022\020\n\010filename\030\001" +
      " \001(\t\022\030\n\020attach_ent_index\030\002 \001(\005*\355\004\n\021EBase" +
      "UserMessages\022\027\n\023UM_AchievementEvent\020\001\022\023\n" +
      "\017UM_CloseCaption\020\002\022\031\n\025UM_CloseCaptionDir" +
      "ect\020\003\022\027\n\023UM_CurrentTimescale\020\004\022\027\n\023UM_Des",
      "iredTimescale\020\005\022\013\n\007UM_Fade\020\006\022\020\n\014UM_GameT" +
      "itle\020\007\022\r\n\tUM_Geiger\020\010\022\017\n\013UM_HintText\020\t\022\r" +
      "\n\tUM_HudMsg\020\n\022\016\n\nUM_HudText\020\013\022\022\n\016UM_KeyH" +
      "intText\020\014\022\022\n\016UM_MessageText\020\r\022\023\n\017UM_Requ" +
      "estState\020\016\022\017\n\013UM_ResetHUD\020\017\022\r\n\tUM_Rumble" +
      "\020\020\022\016\n\nUM_SayText\020\021\022\017\n\013UM_SayText2\020\022\022\025\n\021U" +
      "M_SayTextChannel\020\023\022\014\n\010UM_Shake\020\024\022\017\n\013UM_S" +
      "hakeDir\020\025\022\024\n\020UM_StatsCrawlMsg\020\026\022\025\n\021UM_St" +
      "atsSkipState\020\027\022\016\n\nUM_TextMsg\020\030\022\013\n\007UM_Til" +
      "t\020\031\022\014\n\010UM_Train\020\032\022\017\n\013UM_VGUIMenu\020\033\022\020\n\014UM",
      "_VoiceMask\020\034\022\024\n\020UM_VoiceSubtitle\020\035\022\020\n\014UM" +
      "_SendAudio\020\036\022\027\n\023UM_CameraTransition\020\037\022\017\n" +
      "\013UM_MAX_BASE\020?B\021\n\017com.dota2.proto"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_CUserMsg_AchievementEvent_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_CUserMsg_AchievementEvent_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_AchievementEvent_descriptor,
              new java.lang.String[] { "Achievement", });
          internal_static_CUserMsg_CloseCaption_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_CUserMsg_CloseCaption_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_CloseCaption_descriptor,
              new java.lang.String[] { "Hash", "Duration", "FromPlayer", "EntIndex", });
          internal_static_CUserMsg_CurrentTimescale_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_CUserMsg_CurrentTimescale_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_CurrentTimescale_descriptor,
              new java.lang.String[] { "Current", });
          internal_static_CUserMsg_DesiredTimescale_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_CUserMsg_DesiredTimescale_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_DesiredTimescale_descriptor,
              new java.lang.String[] { "Desired", "Duration", "Interpolator", "StartBlendTime", });
          internal_static_CUserMsg_Fade_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_CUserMsg_Fade_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_Fade_descriptor,
              new java.lang.String[] { "Duration", "HoldTime", "Flags", "Color", });
          internal_static_CUserMsg_Shake_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_CUserMsg_Shake_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_Shake_descriptor,
              new java.lang.String[] { "Command", "Amplitude", "Frequency", "Duration", });
          internal_static_CUserMsg_ShakeDir_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_CUserMsg_ShakeDir_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_ShakeDir_descriptor,
              new java.lang.String[] { "Shake", "Direction", });
          internal_static_CUserMsg_Tilt_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_CUserMsg_Tilt_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_Tilt_descriptor,
              new java.lang.String[] { "Command", "EaseInOut", "Angle", "Duration", "Time", });
          internal_static_CUserMsg_SayText_descriptor =
            getDescriptor().getMessageTypes().get(8);
          internal_static_CUserMsg_SayText_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_SayText_descriptor,
              new java.lang.String[] { "Client", "Text", "Chat", });
          internal_static_CUserMsg_SayText2_descriptor =
            getDescriptor().getMessageTypes().get(9);
          internal_static_CUserMsg_SayText2_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_SayText2_descriptor,
              new java.lang.String[] { "Client", "Chat", "Format", "Prefix", "Text", "Location", });
          internal_static_CUserMsg_HudMsg_descriptor =
            getDescriptor().getMessageTypes().get(10);
          internal_static_CUserMsg_HudMsg_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_HudMsg_descriptor,
              new java.lang.String[] { "Channel", "X", "Y", "Color1", "Color2", "Effect", "FadeInTime", "FadeOutTime", "HoldTime", "FxTime", "Message", });
          internal_static_CUserMsg_HudText_descriptor =
            getDescriptor().getMessageTypes().get(11);
          internal_static_CUserMsg_HudText_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_HudText_descriptor,
              new java.lang.String[] { "Message", });
          internal_static_CUserMsg_TextMsg_descriptor =
            getDescriptor().getMessageTypes().get(12);
          internal_static_CUserMsg_TextMsg_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_TextMsg_descriptor,
              new java.lang.String[] { "Dest", "Param", });
          internal_static_CUserMsg_GameTitle_descriptor =
            getDescriptor().getMessageTypes().get(13);
          internal_static_CUserMsg_GameTitle_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_GameTitle_descriptor,
              new java.lang.String[] { });
          internal_static_CUserMsg_ResetHUD_descriptor =
            getDescriptor().getMessageTypes().get(14);
          internal_static_CUserMsg_ResetHUD_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_ResetHUD_descriptor,
              new java.lang.String[] { });
          internal_static_CUserMsg_SendAudio_descriptor =
            getDescriptor().getMessageTypes().get(15);
          internal_static_CUserMsg_SendAudio_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_SendAudio_descriptor,
              new java.lang.String[] { "Stop", "Name", });
          internal_static_CUserMsg_VoiceMask_descriptor =
            getDescriptor().getMessageTypes().get(16);
          internal_static_CUserMsg_VoiceMask_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_VoiceMask_descriptor,
              new java.lang.String[] { "AudiblePlayersMask", "PlayerModEnabled", });
          internal_static_CUserMsg_RequestState_descriptor =
            getDescriptor().getMessageTypes().get(17);
          internal_static_CUserMsg_RequestState_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_RequestState_descriptor,
              new java.lang.String[] { });
          internal_static_CUserMsg_HintText_descriptor =
            getDescriptor().getMessageTypes().get(18);
          internal_static_CUserMsg_HintText_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_HintText_descriptor,
              new java.lang.String[] { "Message", });
          internal_static_CUserMsg_KeyHintText_descriptor =
            getDescriptor().getMessageTypes().get(19);
          internal_static_CUserMsg_KeyHintText_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_KeyHintText_descriptor,
              new java.lang.String[] { "Messages", });
          internal_static_CUserMsg_StatsCrawlMsg_descriptor =
            getDescriptor().getMessageTypes().get(20);
          internal_static_CUserMsg_StatsCrawlMsg_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_StatsCrawlMsg_descriptor,
              new java.lang.String[] { });
          internal_static_CUserMsg_StatsSkipState_descriptor =
            getDescriptor().getMessageTypes().get(21);
          internal_static_CUserMsg_StatsSkipState_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_StatsSkipState_descriptor,
              new java.lang.String[] { "NumSkips", "NumPlayers", });
          internal_static_CUserMsg_VoiceSubtitle_descriptor =
            getDescriptor().getMessageTypes().get(22);
          internal_static_CUserMsg_VoiceSubtitle_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_VoiceSubtitle_descriptor,
              new java.lang.String[] { "EntIndex", "Menu", "Item", });
          internal_static_CUserMsg_VGUIMenu_descriptor =
            getDescriptor().getMessageTypes().get(23);
          internal_static_CUserMsg_VGUIMenu_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_VGUIMenu_descriptor,
              new java.lang.String[] { "Name", "Show", "Keys", });
          internal_static_CUserMsg_VGUIMenu_Keys_descriptor =
            internal_static_CUserMsg_VGUIMenu_descriptor.getNestedTypes().get(0);
          internal_static_CUserMsg_VGUIMenu_Keys_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_VGUIMenu_Keys_descriptor,
              new java.lang.String[] { "Name", "Value", });
          internal_static_CUserMsg_Geiger_descriptor =
            getDescriptor().getMessageTypes().get(24);
          internal_static_CUserMsg_Geiger_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_Geiger_descriptor,
              new java.lang.String[] { "Range", });
          internal_static_CUserMsg_Rumble_descriptor =
            getDescriptor().getMessageTypes().get(25);
          internal_static_CUserMsg_Rumble_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_Rumble_descriptor,
              new java.lang.String[] { "Index", "Data", "Flags", });
          internal_static_CUserMsg_Train_descriptor =
            getDescriptor().getMessageTypes().get(26);
          internal_static_CUserMsg_Train_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_Train_descriptor,
              new java.lang.String[] { "Train", });
          internal_static_CUserMsg_SayTextChannel_descriptor =
            getDescriptor().getMessageTypes().get(27);
          internal_static_CUserMsg_SayTextChannel_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_SayTextChannel_descriptor,
              new java.lang.String[] { "Player", "Channel", "Text", });
          internal_static_CUserMsg_MessageText_descriptor =
            getDescriptor().getMessageTypes().get(28);
          internal_static_CUserMsg_MessageText_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_MessageText_descriptor,
              new java.lang.String[] { "Color", "Text", });
          internal_static_CUserMsg_CameraTransition_descriptor =
            getDescriptor().getMessageTypes().get(29);
          internal_static_CUserMsg_CameraTransition_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_CameraTransition_descriptor,
              new java.lang.String[] { "CameraType", "Duration", "ParamsDataDriven", });
          internal_static_CUserMsg_CameraTransition_Transition_DataDriven_descriptor =
            internal_static_CUserMsg_CameraTransition_descriptor.getNestedTypes().get(0);
          internal_static_CUserMsg_CameraTransition_Transition_DataDriven_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CUserMsg_CameraTransition_Transition_DataDriven_descriptor,
              new java.lang.String[] { "Filename", "AttachEntIndex", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.DescriptorProtos.getDescriptor(),
          com.dota2.proto.Networkbasetypes.getDescriptor(),
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy