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

package proto;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code proto.ExecutionType}
   */
  public enum ExecutionType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <pre>
     * Install the package
     * </pre>
     *
     * <code>INSTALL = 0;</code>
     */
    INSTALL(0),
    /**
     * <pre>
     * Run the main binaries or executables of a package
     * </pre>
     *
     * <code>MAIN = 1;</code>
     */
    MAIN(1),
    /**
     * <pre>
     * Import and interact with a package
     * </pre>
     *
     * <code>EXERCISE = 2;</code>
     */
    EXERCISE(2),
    /**
     * <pre>
     * Run test script of a package
     * </pre>
     *
     * <code>TEST = 3;</code>
     */
    TEST(3),
    UNRECOGNIZED(-1),
    ;

    /**
     * <pre>
     * Install the package
     * </pre>
     *
     * <code>INSTALL = 0;</code>
     */
    public static final int INSTALL_VALUE = 0;
    /**
     * <pre>
     * Run the main binaries or executables of a package
     * </pre>
     *
     * <code>MAIN = 1;</code>
     */
    public static final int MAIN_VALUE = 1;
    /**
     * <pre>
     * Import and interact with a package
     * </pre>
     *
     * <code>EXERCISE = 2;</code>
     */
    public static final int EXERCISE_VALUE = 2;
    /**
     * <pre>
     * Run test script of a package
     * </pre>
     *
     * <code>TEST = 3;</code>
     */
    public static final int TEST_VALUE = 3;


    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      return value;
    }

    /**
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static ExecutionType valueOf(int value) {
      return forNumber(value);
    }

    public static ExecutionType forNumber(int value) {
      switch (value) {
        case 0: return INSTALL;
        case 1: return MAIN;
        case 2: return EXERCISE;
        case 3: return TEST;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<ExecutionType>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        ExecutionType> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<ExecutionType>() {
            public ExecutionType findValueByNumber(int number) {
              return ExecutionType.forNumber(number);
            }
          };

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

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

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

    private final int value;

    private ExecutionType(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:proto.ExecutionType)
  }

  /**
   * Protobuf enum {@code proto.AnalysisType}
   */
  public enum AnalysisType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>API_USAGE = 0;</code>
     */
    API_USAGE(0),
    /**
     * <code>REACHABILITY = 1;</code>
     */
    REACHABILITY(1),
    /**
     * <code>TAINT_TRACKING = 2;</code>
     */
    TAINT_TRACKING(2),
    /**
     * <code>SYMBOLIC = 3;</code>
     */
    SYMBOLIC(3),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>API_USAGE = 0;</code>
     */
    public static final int API_USAGE_VALUE = 0;
    /**
     * <code>REACHABILITY = 1;</code>
     */
    public static final int REACHABILITY_VALUE = 1;
    /**
     * <code>TAINT_TRACKING = 2;</code>
     */
    public static final int TAINT_TRACKING_VALUE = 2;
    /**
     * <code>SYMBOLIC = 3;</code>
     */
    public static final int SYMBOLIC_VALUE = 3;


    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new java.lang.IllegalArgumentException(
            "Can't get the number of an unknown enum value.");
      }
      return value;
    }

    /**
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static AnalysisType valueOf(int value) {
      return forNumber(value);
    }

    public static AnalysisType forNumber(int value) {
      switch (value) {
        case 0: return API_USAGE;
        case 1: return REACHABILITY;
        case 2: return TAINT_TRACKING;
        case 3: return SYMBOLIC;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<AnalysisType>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        AnalysisType> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<AnalysisType>() {
            public AnalysisType findValueByNumber(int number) {
              return AnalysisType.forNumber(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return proto.Behavior.getDescriptor().getEnumTypes().get(1);
    }

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

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

    private final int value;

    private AnalysisType(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:proto.AnalysisType)
  }

  public interface NetworkActivityOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.NetworkActivity)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Query domain or contact specific IPs
     * </pre>
     *
     * <code>string domain = 1;</code>
     */
    java.lang.String getDomain();
    /**
     * <pre>
     * Query domain or contact specific IPs
     * </pre>
     *
     * <code>string domain = 1;</code>
     */
    com.google.protobuf.ByteString
        getDomainBytes();

    /**
     * <code>string url = 2;</code>
     */
    java.lang.String getUrl();
    /**
     * <code>string url = 2;</code>
     */
    com.google.protobuf.ByteString
        getUrlBytes();

    /**
     * <code>string ip = 3;</code>
     */
    java.lang.String getIp();
    /**
     * <code>string ip = 3;</code>
     */
    com.google.protobuf.ByteString
        getIpBytes();

    /**
     * <code>int32 port = 4;</code>
     */
    int getPort();

    /**
     * <pre>
     * ICMP, UDP, TCP
     * </pre>
     *
     * <code>string protocol = 5;</code>
     */
    java.lang.String getProtocol();
    /**
     * <pre>
     * ICMP, UDP, TCP
     * </pre>
     *
     * <code>string protocol = 5;</code>
     */
    com.google.protobuf.ByteString
        getProtocolBytes();

    /**
     * <code>string send_content = 6;</code>
     */
    java.lang.String getSendContent();
    /**
     * <code>string send_content = 6;</code>
     */
    com.google.protobuf.ByteString
        getSendContentBytes();

    /**
     * <code>int32 send_content_size = 7;</code>
     */
    int getSendContentSize();

    /**
     * <code>string receive_content = 8;</code>
     */
    java.lang.String getReceiveContent();
    /**
     * <code>string receive_content = 8;</code>
     */
    com.google.protobuf.ByteString
        getReceiveContentBytes();

    /**
     * <code>int32 receive_content_size = 9;</code>
     */
    int getReceiveContentSize();
  }
  /**
   * Protobuf type {@code proto.NetworkActivity}
   */
  public  static final class NetworkActivity extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.NetworkActivity)
      NetworkActivityOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use NetworkActivity.newBuilder() to construct.
    private NetworkActivity(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private NetworkActivity() {
      domain_ = "";
      url_ = "";
      ip_ = "";
      port_ = 0;
      protocol_ = "";
      sendContent_ = "";
      sendContentSize_ = 0;
      receiveContent_ = "";
      receiveContentSize_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private NetworkActivity(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              domain_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              url_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              ip_ = s;
              break;
            }
            case 32: {

              port_ = input.readInt32();
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              protocol_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              sendContent_ = s;
              break;
            }
            case 56: {

              sendContentSize_ = input.readInt32();
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              receiveContent_ = s;
              break;
            }
            case 72: {

              receiveContentSize_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_NetworkActivity_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_NetworkActivity_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.NetworkActivity.class, proto.Behavior.NetworkActivity.Builder.class);
    }

    public static final int DOMAIN_FIELD_NUMBER = 1;
    private volatile java.lang.Object domain_;
    /**
     * <pre>
     * Query domain or contact specific IPs
     * </pre>
     *
     * <code>string domain = 1;</code>
     */
    public java.lang.String getDomain() {
      java.lang.Object ref = domain_;
      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();
        domain_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Query domain or contact specific IPs
     * </pre>
     *
     * <code>string domain = 1;</code>
     */
    public com.google.protobuf.ByteString
        getDomainBytes() {
      java.lang.Object ref = domain_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        domain_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int URL_FIELD_NUMBER = 2;
    private volatile java.lang.Object url_;
    /**
     * <code>string url = 2;</code>
     */
    public java.lang.String getUrl() {
      java.lang.Object ref = url_;
      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();
        url_ = s;
        return s;
      }
    }
    /**
     * <code>string url = 2;</code>
     */
    public com.google.protobuf.ByteString
        getUrlBytes() {
      java.lang.Object ref = url_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        url_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int IP_FIELD_NUMBER = 3;
    private volatile java.lang.Object ip_;
    /**
     * <code>string ip = 3;</code>
     */
    public java.lang.String getIp() {
      java.lang.Object ref = ip_;
      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();
        ip_ = s;
        return s;
      }
    }
    /**
     * <code>string ip = 3;</code>
     */
    public com.google.protobuf.ByteString
        getIpBytes() {
      java.lang.Object ref = ip_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ip_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PORT_FIELD_NUMBER = 4;
    private int port_;
    /**
     * <code>int32 port = 4;</code>
     */
    public int getPort() {
      return port_;
    }

    public static final int PROTOCOL_FIELD_NUMBER = 5;
    private volatile java.lang.Object protocol_;
    /**
     * <pre>
     * ICMP, UDP, TCP
     * </pre>
     *
     * <code>string protocol = 5;</code>
     */
    public java.lang.String getProtocol() {
      java.lang.Object ref = protocol_;
      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();
        protocol_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * ICMP, UDP, TCP
     * </pre>
     *
     * <code>string protocol = 5;</code>
     */
    public com.google.protobuf.ByteString
        getProtocolBytes() {
      java.lang.Object ref = protocol_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        protocol_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SEND_CONTENT_FIELD_NUMBER = 6;
    private volatile java.lang.Object sendContent_;
    /**
     * <code>string send_content = 6;</code>
     */
    public java.lang.String getSendContent() {
      java.lang.Object ref = sendContent_;
      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();
        sendContent_ = s;
        return s;
      }
    }
    /**
     * <code>string send_content = 6;</code>
     */
    public com.google.protobuf.ByteString
        getSendContentBytes() {
      java.lang.Object ref = sendContent_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sendContent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SEND_CONTENT_SIZE_FIELD_NUMBER = 7;
    private int sendContentSize_;
    /**
     * <code>int32 send_content_size = 7;</code>
     */
    public int getSendContentSize() {
      return sendContentSize_;
    }

    public static final int RECEIVE_CONTENT_FIELD_NUMBER = 8;
    private volatile java.lang.Object receiveContent_;
    /**
     * <code>string receive_content = 8;</code>
     */
    public java.lang.String getReceiveContent() {
      java.lang.Object ref = receiveContent_;
      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();
        receiveContent_ = s;
        return s;
      }
    }
    /**
     * <code>string receive_content = 8;</code>
     */
    public com.google.protobuf.ByteString
        getReceiveContentBytes() {
      java.lang.Object ref = receiveContent_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        receiveContent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RECEIVE_CONTENT_SIZE_FIELD_NUMBER = 9;
    private int receiveContentSize_;
    /**
     * <code>int32 receive_content_size = 9;</code>
     */
    public int getReceiveContentSize() {
      return receiveContentSize_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getDomainBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, domain_);
      }
      if (!getUrlBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, url_);
      }
      if (!getIpBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, ip_);
      }
      if (port_ != 0) {
        output.writeInt32(4, port_);
      }
      if (!getProtocolBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, protocol_);
      }
      if (!getSendContentBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, sendContent_);
      }
      if (sendContentSize_ != 0) {
        output.writeInt32(7, sendContentSize_);
      }
      if (!getReceiveContentBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, receiveContent_);
      }
      if (receiveContentSize_ != 0) {
        output.writeInt32(9, receiveContentSize_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getDomainBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, domain_);
      }
      if (!getUrlBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, url_);
      }
      if (!getIpBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, ip_);
      }
      if (port_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, port_);
      }
      if (!getProtocolBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, protocol_);
      }
      if (!getSendContentBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, sendContent_);
      }
      if (sendContentSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, sendContentSize_);
      }
      if (!getReceiveContentBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, receiveContent_);
      }
      if (receiveContentSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, receiveContentSize_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.NetworkActivity)) {
        return super.equals(obj);
      }
      proto.Behavior.NetworkActivity other = (proto.Behavior.NetworkActivity) obj;

      boolean result = true;
      result = result && getDomain()
          .equals(other.getDomain());
      result = result && getUrl()
          .equals(other.getUrl());
      result = result && getIp()
          .equals(other.getIp());
      result = result && (getPort()
          == other.getPort());
      result = result && getProtocol()
          .equals(other.getProtocol());
      result = result && getSendContent()
          .equals(other.getSendContent());
      result = result && (getSendContentSize()
          == other.getSendContentSize());
      result = result && getReceiveContent()
          .equals(other.getReceiveContent());
      result = result && (getReceiveContentSize()
          == other.getReceiveContentSize());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + DOMAIN_FIELD_NUMBER;
      hash = (53 * hash) + getDomain().hashCode();
      hash = (37 * hash) + URL_FIELD_NUMBER;
      hash = (53 * hash) + getUrl().hashCode();
      hash = (37 * hash) + IP_FIELD_NUMBER;
      hash = (53 * hash) + getIp().hashCode();
      hash = (37 * hash) + PORT_FIELD_NUMBER;
      hash = (53 * hash) + getPort();
      hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
      hash = (53 * hash) + getProtocol().hashCode();
      hash = (37 * hash) + SEND_CONTENT_FIELD_NUMBER;
      hash = (53 * hash) + getSendContent().hashCode();
      hash = (37 * hash) + SEND_CONTENT_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getSendContentSize();
      hash = (37 * hash) + RECEIVE_CONTENT_FIELD_NUMBER;
      hash = (53 * hash) + getReceiveContent().hashCode();
      hash = (37 * hash) + RECEIVE_CONTENT_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getReceiveContentSize();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.NetworkActivity prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.NetworkActivity}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.NetworkActivity)
        proto.Behavior.NetworkActivityOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_NetworkActivity_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_NetworkActivity_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.NetworkActivity.class, proto.Behavior.NetworkActivity.Builder.class);
      }

      // Construct using proto.Behavior.NetworkActivity.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        url_ = "";

        ip_ = "";

        port_ = 0;

        protocol_ = "";

        sendContent_ = "";

        sendContentSize_ = 0;

        receiveContent_ = "";

        receiveContentSize_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_NetworkActivity_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.NetworkActivity getDefaultInstanceForType() {
        return proto.Behavior.NetworkActivity.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.NetworkActivity build() {
        proto.Behavior.NetworkActivity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.NetworkActivity buildPartial() {
        proto.Behavior.NetworkActivity result = new proto.Behavior.NetworkActivity(this);
        result.domain_ = domain_;
        result.url_ = url_;
        result.ip_ = ip_;
        result.port_ = port_;
        result.protocol_ = protocol_;
        result.sendContent_ = sendContent_;
        result.sendContentSize_ = sendContentSize_;
        result.receiveContent_ = receiveContent_;
        result.receiveContentSize_ = receiveContentSize_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.NetworkActivity other) {
        if (other == proto.Behavior.NetworkActivity.getDefaultInstance()) return this;
        if (!other.getDomain().isEmpty()) {
          domain_ = other.domain_;
          onChanged();
        }
        if (!other.getUrl().isEmpty()) {
          url_ = other.url_;
          onChanged();
        }
        if (!other.getIp().isEmpty()) {
          ip_ = other.ip_;
          onChanged();
        }
        if (other.getPort() != 0) {
          setPort(other.getPort());
        }
        if (!other.getProtocol().isEmpty()) {
          protocol_ = other.protocol_;
          onChanged();
        }
        if (!other.getSendContent().isEmpty()) {
          sendContent_ = other.sendContent_;
          onChanged();
        }
        if (other.getSendContentSize() != 0) {
          setSendContentSize(other.getSendContentSize());
        }
        if (!other.getReceiveContent().isEmpty()) {
          receiveContent_ = other.receiveContent_;
          onChanged();
        }
        if (other.getReceiveContentSize() != 0) {
          setReceiveContentSize(other.getReceiveContentSize());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object domain_ = "";
      /**
       * <pre>
       * Query domain or contact specific IPs
       * </pre>
       *
       * <code>string domain = 1;</code>
       */
      public java.lang.String getDomain() {
        java.lang.Object ref = domain_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          domain_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Query domain or contact specific IPs
       * </pre>
       *
       * <code>string domain = 1;</code>
       */
      public com.google.protobuf.ByteString
          getDomainBytes() {
        java.lang.Object ref = domain_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          domain_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Query domain or contact specific IPs
       * </pre>
       *
       * <code>string domain = 1;</code>
       */
      public Builder setDomain(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        domain_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Query domain or contact specific IPs
       * </pre>
       *
       * <code>string domain = 1;</code>
       */
      public Builder clearDomain() {
        
        domain_ = getDefaultInstance().getDomain();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Query domain or contact specific IPs
       * </pre>
       *
       * <code>string domain = 1;</code>
       */
      public Builder setDomainBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        domain_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object url_ = "";
      /**
       * <code>string url = 2;</code>
       */
      public java.lang.String getUrl() {
        java.lang.Object ref = url_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          url_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string url = 2;</code>
       */
      public com.google.protobuf.ByteString
          getUrlBytes() {
        java.lang.Object ref = url_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          url_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string url = 2;</code>
       */
      public Builder setUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        url_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string url = 2;</code>
       */
      public Builder clearUrl() {
        
        url_ = getDefaultInstance().getUrl();
        onChanged();
        return this;
      }
      /**
       * <code>string url = 2;</code>
       */
      public Builder setUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        url_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ip_ = "";
      /**
       * <code>string ip = 3;</code>
       */
      public java.lang.String getIp() {
        java.lang.Object ref = ip_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ip_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string ip = 3;</code>
       */
      public com.google.protobuf.ByteString
          getIpBytes() {
        java.lang.Object ref = ip_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ip_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string ip = 3;</code>
       */
      public Builder setIp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ip_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string ip = 3;</code>
       */
      public Builder clearIp() {
        
        ip_ = getDefaultInstance().getIp();
        onChanged();
        return this;
      }
      /**
       * <code>string ip = 3;</code>
       */
      public Builder setIpBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ip_ = value;
        onChanged();
        return this;
      }

      private int port_ ;
      /**
       * <code>int32 port = 4;</code>
       */
      public int getPort() {
        return port_;
      }
      /**
       * <code>int32 port = 4;</code>
       */
      public Builder setPort(int value) {
        
        port_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 port = 4;</code>
       */
      public Builder clearPort() {
        
        port_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object protocol_ = "";
      /**
       * <pre>
       * ICMP, UDP, TCP
       * </pre>
       *
       * <code>string protocol = 5;</code>
       */
      public java.lang.String getProtocol() {
        java.lang.Object ref = protocol_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          protocol_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * ICMP, UDP, TCP
       * </pre>
       *
       * <code>string protocol = 5;</code>
       */
      public com.google.protobuf.ByteString
          getProtocolBytes() {
        java.lang.Object ref = protocol_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          protocol_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * ICMP, UDP, TCP
       * </pre>
       *
       * <code>string protocol = 5;</code>
       */
      public Builder setProtocol(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        protocol_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ICMP, UDP, TCP
       * </pre>
       *
       * <code>string protocol = 5;</code>
       */
      public Builder clearProtocol() {
        
        protocol_ = getDefaultInstance().getProtocol();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ICMP, UDP, TCP
       * </pre>
       *
       * <code>string protocol = 5;</code>
       */
      public Builder setProtocolBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        protocol_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object sendContent_ = "";
      /**
       * <code>string send_content = 6;</code>
       */
      public java.lang.String getSendContent() {
        java.lang.Object ref = sendContent_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          sendContent_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string send_content = 6;</code>
       */
      public com.google.protobuf.ByteString
          getSendContentBytes() {
        java.lang.Object ref = sendContent_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sendContent_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string send_content = 6;</code>
       */
      public Builder setSendContent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sendContent_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string send_content = 6;</code>
       */
      public Builder clearSendContent() {
        
        sendContent_ = getDefaultInstance().getSendContent();
        onChanged();
        return this;
      }
      /**
       * <code>string send_content = 6;</code>
       */
      public Builder setSendContentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sendContent_ = value;
        onChanged();
        return this;
      }

      private int sendContentSize_ ;
      /**
       * <code>int32 send_content_size = 7;</code>
       */
      public int getSendContentSize() {
        return sendContentSize_;
      }
      /**
       * <code>int32 send_content_size = 7;</code>
       */
      public Builder setSendContentSize(int value) {
        
        sendContentSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 send_content_size = 7;</code>
       */
      public Builder clearSendContentSize() {
        
        sendContentSize_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object receiveContent_ = "";
      /**
       * <code>string receive_content = 8;</code>
       */
      public java.lang.String getReceiveContent() {
        java.lang.Object ref = receiveContent_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          receiveContent_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string receive_content = 8;</code>
       */
      public com.google.protobuf.ByteString
          getReceiveContentBytes() {
        java.lang.Object ref = receiveContent_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          receiveContent_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string receive_content = 8;</code>
       */
      public Builder setReceiveContent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        receiveContent_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string receive_content = 8;</code>
       */
      public Builder clearReceiveContent() {
        
        receiveContent_ = getDefaultInstance().getReceiveContent();
        onChanged();
        return this;
      }
      /**
       * <code>string receive_content = 8;</code>
       */
      public Builder setReceiveContentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        receiveContent_ = value;
        onChanged();
        return this;
      }

      private int receiveContentSize_ ;
      /**
       * <code>int32 receive_content_size = 9;</code>
       */
      public int getReceiveContentSize() {
        return receiveContentSize_;
      }
      /**
       * <code>int32 receive_content_size = 9;</code>
       */
      public Builder setReceiveContentSize(int value) {
        
        receiveContentSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 receive_content_size = 9;</code>
       */
      public Builder clearReceiveContentSize() {
        
        receiveContentSize_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.NetworkActivity)
    }

    // @@protoc_insertion_point(class_scope:proto.NetworkActivity)
    private static final proto.Behavior.NetworkActivity DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.NetworkActivity();
    }

    public static proto.Behavior.NetworkActivity getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.NetworkActivity getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FileActivityOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.FileActivity)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string filename = 1;</code>
     */
    java.lang.String getFilename();
    /**
     * <code>string filename = 1;</code>
     */
    com.google.protobuf.ByteString
        getFilenameBytes();

    /**
     * <code>string filepath = 2;</code>
     */
    java.lang.String getFilepath();
    /**
     * <code>string filepath = 2;</code>
     */
    com.google.protobuf.ByteString
        getFilepathBytes();

    /**
     * <code>string mode = 3;</code>
     */
    java.lang.String getMode();
    /**
     * <code>string mode = 3;</code>
     */
    com.google.protobuf.ByteString
        getModeBytes();

    /**
     * <code>string permission = 4;</code>
     */
    java.lang.String getPermission();
    /**
     * <code>string permission = 4;</code>
     */
    com.google.protobuf.ByteString
        getPermissionBytes();

    /**
     * <pre>
     * Read information.
     * </pre>
     *
     * <code>string read_content = 5;</code>
     */
    java.lang.String getReadContent();
    /**
     * <pre>
     * Read information.
     * </pre>
     *
     * <code>string read_content = 5;</code>
     */
    com.google.protobuf.ByteString
        getReadContentBytes();

    /**
     * <code>string read_content_size = 6;</code>
     */
    java.lang.String getReadContentSize();
    /**
     * <code>string read_content_size = 6;</code>
     */
    com.google.protobuf.ByteString
        getReadContentSizeBytes();

    /**
     * <pre>
     * Write to outside own folder.
     * </pre>
     *
     * <code>string add_content = 7;</code>
     */
    java.lang.String getAddContent();
    /**
     * <pre>
     * Write to outside own folder.
     * </pre>
     *
     * <code>string add_content = 7;</code>
     */
    com.google.protobuf.ByteString
        getAddContentBytes();

    /**
     * <code>int32 add_content_size = 8;</code>
     */
    int getAddContentSize();

    /**
     * <pre>
     * Remove files outside own folder.
     * </pre>
     *
     * <code>string remove_content = 9;</code>
     */
    java.lang.String getRemoveContent();
    /**
     * <pre>
     * Remove files outside own folder.
     * </pre>
     *
     * <code>string remove_content = 9;</code>
     */
    com.google.protobuf.ByteString
        getRemoveContentBytes();

    /**
     * <code>int32 remove_content_size = 10;</code>
     */
    int getRemoveContentSize();

    /**
     * <pre>
     * Encrypt files outside own folder.
     * </pre>
     *
     * <code>string modify_content = 11;</code>
     */
    java.lang.String getModifyContent();
    /**
     * <pre>
     * Encrypt files outside own folder.
     * </pre>
     *
     * <code>string modify_content = 11;</code>
     */
    com.google.protobuf.ByteString
        getModifyContentBytes();

    /**
     * <code>int32 modify_content_size = 12;</code>
     */
    int getModifyContentSize();
  }
  /**
   * Protobuf type {@code proto.FileActivity}
   */
  public  static final class FileActivity extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.FileActivity)
      FileActivityOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FileActivity.newBuilder() to construct.
    private FileActivity(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FileActivity() {
      filename_ = "";
      filepath_ = "";
      mode_ = "";
      permission_ = "";
      readContent_ = "";
      readContentSize_ = "";
      addContent_ = "";
      addContentSize_ = 0;
      removeContent_ = "";
      removeContentSize_ = 0;
      modifyContent_ = "";
      modifyContentSize_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FileActivity(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              filename_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              filepath_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              mode_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              permission_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              readContent_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              readContentSize_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              addContent_ = s;
              break;
            }
            case 64: {

              addContentSize_ = input.readInt32();
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              removeContent_ = s;
              break;
            }
            case 80: {

              removeContentSize_ = input.readInt32();
              break;
            }
            case 90: {
              java.lang.String s = input.readStringRequireUtf8();

              modifyContent_ = s;
              break;
            }
            case 96: {

              modifyContentSize_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_FileActivity_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_FileActivity_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.FileActivity.class, proto.Behavior.FileActivity.Builder.class);
    }

    public static final int FILENAME_FIELD_NUMBER = 1;
    private volatile java.lang.Object filename_;
    /**
     * <code>string filename = 1;</code>
     */
    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();
        filename_ = s;
        return s;
      }
    }
    /**
     * <code>string filename = 1;</code>
     */
    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;
      }
    }

    public static final int FILEPATH_FIELD_NUMBER = 2;
    private volatile java.lang.Object filepath_;
    /**
     * <code>string filepath = 2;</code>
     */
    public java.lang.String getFilepath() {
      java.lang.Object ref = filepath_;
      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();
        filepath_ = s;
        return s;
      }
    }
    /**
     * <code>string filepath = 2;</code>
     */
    public com.google.protobuf.ByteString
        getFilepathBytes() {
      java.lang.Object ref = filepath_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        filepath_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MODE_FIELD_NUMBER = 3;
    private volatile java.lang.Object mode_;
    /**
     * <code>string mode = 3;</code>
     */
    public java.lang.String getMode() {
      java.lang.Object ref = mode_;
      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();
        mode_ = s;
        return s;
      }
    }
    /**
     * <code>string mode = 3;</code>
     */
    public com.google.protobuf.ByteString
        getModeBytes() {
      java.lang.Object ref = mode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PERMISSION_FIELD_NUMBER = 4;
    private volatile java.lang.Object permission_;
    /**
     * <code>string permission = 4;</code>
     */
    public java.lang.String getPermission() {
      java.lang.Object ref = permission_;
      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();
        permission_ = s;
        return s;
      }
    }
    /**
     * <code>string permission = 4;</code>
     */
    public com.google.protobuf.ByteString
        getPermissionBytes() {
      java.lang.Object ref = permission_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        permission_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int READ_CONTENT_FIELD_NUMBER = 5;
    private volatile java.lang.Object readContent_;
    /**
     * <pre>
     * Read information.
     * </pre>
     *
     * <code>string read_content = 5;</code>
     */
    public java.lang.String getReadContent() {
      java.lang.Object ref = readContent_;
      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();
        readContent_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Read information.
     * </pre>
     *
     * <code>string read_content = 5;</code>
     */
    public com.google.protobuf.ByteString
        getReadContentBytes() {
      java.lang.Object ref = readContent_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        readContent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int READ_CONTENT_SIZE_FIELD_NUMBER = 6;
    private volatile java.lang.Object readContentSize_;
    /**
     * <code>string read_content_size = 6;</code>
     */
    public java.lang.String getReadContentSize() {
      java.lang.Object ref = readContentSize_;
      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();
        readContentSize_ = s;
        return s;
      }
    }
    /**
     * <code>string read_content_size = 6;</code>
     */
    public com.google.protobuf.ByteString
        getReadContentSizeBytes() {
      java.lang.Object ref = readContentSize_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        readContentSize_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ADD_CONTENT_FIELD_NUMBER = 7;
    private volatile java.lang.Object addContent_;
    /**
     * <pre>
     * Write to outside own folder.
     * </pre>
     *
     * <code>string add_content = 7;</code>
     */
    public java.lang.String getAddContent() {
      java.lang.Object ref = addContent_;
      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();
        addContent_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Write to outside own folder.
     * </pre>
     *
     * <code>string add_content = 7;</code>
     */
    public com.google.protobuf.ByteString
        getAddContentBytes() {
      java.lang.Object ref = addContent_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        addContent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ADD_CONTENT_SIZE_FIELD_NUMBER = 8;
    private int addContentSize_;
    /**
     * <code>int32 add_content_size = 8;</code>
     */
    public int getAddContentSize() {
      return addContentSize_;
    }

    public static final int REMOVE_CONTENT_FIELD_NUMBER = 9;
    private volatile java.lang.Object removeContent_;
    /**
     * <pre>
     * Remove files outside own folder.
     * </pre>
     *
     * <code>string remove_content = 9;</code>
     */
    public java.lang.String getRemoveContent() {
      java.lang.Object ref = removeContent_;
      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();
        removeContent_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Remove files outside own folder.
     * </pre>
     *
     * <code>string remove_content = 9;</code>
     */
    public com.google.protobuf.ByteString
        getRemoveContentBytes() {
      java.lang.Object ref = removeContent_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        removeContent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REMOVE_CONTENT_SIZE_FIELD_NUMBER = 10;
    private int removeContentSize_;
    /**
     * <code>int32 remove_content_size = 10;</code>
     */
    public int getRemoveContentSize() {
      return removeContentSize_;
    }

    public static final int MODIFY_CONTENT_FIELD_NUMBER = 11;
    private volatile java.lang.Object modifyContent_;
    /**
     * <pre>
     * Encrypt files outside own folder.
     * </pre>
     *
     * <code>string modify_content = 11;</code>
     */
    public java.lang.String getModifyContent() {
      java.lang.Object ref = modifyContent_;
      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();
        modifyContent_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Encrypt files outside own folder.
     * </pre>
     *
     * <code>string modify_content = 11;</code>
     */
    public com.google.protobuf.ByteString
        getModifyContentBytes() {
      java.lang.Object ref = modifyContent_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        modifyContent_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MODIFY_CONTENT_SIZE_FIELD_NUMBER = 12;
    private int modifyContentSize_;
    /**
     * <code>int32 modify_content_size = 12;</code>
     */
    public int getModifyContentSize() {
      return modifyContentSize_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getFilenameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, filename_);
      }
      if (!getFilepathBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, filepath_);
      }
      if (!getModeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, mode_);
      }
      if (!getPermissionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, permission_);
      }
      if (!getReadContentBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, readContent_);
      }
      if (!getReadContentSizeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, readContentSize_);
      }
      if (!getAddContentBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, addContent_);
      }
      if (addContentSize_ != 0) {
        output.writeInt32(8, addContentSize_);
      }
      if (!getRemoveContentBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, removeContent_);
      }
      if (removeContentSize_ != 0) {
        output.writeInt32(10, removeContentSize_);
      }
      if (!getModifyContentBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, modifyContent_);
      }
      if (modifyContentSize_ != 0) {
        output.writeInt32(12, modifyContentSize_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getFilenameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, filename_);
      }
      if (!getFilepathBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, filepath_);
      }
      if (!getModeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, mode_);
      }
      if (!getPermissionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, permission_);
      }
      if (!getReadContentBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, readContent_);
      }
      if (!getReadContentSizeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, readContentSize_);
      }
      if (!getAddContentBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, addContent_);
      }
      if (addContentSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, addContentSize_);
      }
      if (!getRemoveContentBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, removeContent_);
      }
      if (removeContentSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, removeContentSize_);
      }
      if (!getModifyContentBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, modifyContent_);
      }
      if (modifyContentSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, modifyContentSize_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.FileActivity)) {
        return super.equals(obj);
      }
      proto.Behavior.FileActivity other = (proto.Behavior.FileActivity) obj;

      boolean result = true;
      result = result && getFilename()
          .equals(other.getFilename());
      result = result && getFilepath()
          .equals(other.getFilepath());
      result = result && getMode()
          .equals(other.getMode());
      result = result && getPermission()
          .equals(other.getPermission());
      result = result && getReadContent()
          .equals(other.getReadContent());
      result = result && getReadContentSize()
          .equals(other.getReadContentSize());
      result = result && getAddContent()
          .equals(other.getAddContent());
      result = result && (getAddContentSize()
          == other.getAddContentSize());
      result = result && getRemoveContent()
          .equals(other.getRemoveContent());
      result = result && (getRemoveContentSize()
          == other.getRemoveContentSize());
      result = result && getModifyContent()
          .equals(other.getModifyContent());
      result = result && (getModifyContentSize()
          == other.getModifyContentSize());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + FILENAME_FIELD_NUMBER;
      hash = (53 * hash) + getFilename().hashCode();
      hash = (37 * hash) + FILEPATH_FIELD_NUMBER;
      hash = (53 * hash) + getFilepath().hashCode();
      hash = (37 * hash) + MODE_FIELD_NUMBER;
      hash = (53 * hash) + getMode().hashCode();
      hash = (37 * hash) + PERMISSION_FIELD_NUMBER;
      hash = (53 * hash) + getPermission().hashCode();
      hash = (37 * hash) + READ_CONTENT_FIELD_NUMBER;
      hash = (53 * hash) + getReadContent().hashCode();
      hash = (37 * hash) + READ_CONTENT_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getReadContentSize().hashCode();
      hash = (37 * hash) + ADD_CONTENT_FIELD_NUMBER;
      hash = (53 * hash) + getAddContent().hashCode();
      hash = (37 * hash) + ADD_CONTENT_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getAddContentSize();
      hash = (37 * hash) + REMOVE_CONTENT_FIELD_NUMBER;
      hash = (53 * hash) + getRemoveContent().hashCode();
      hash = (37 * hash) + REMOVE_CONTENT_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getRemoveContentSize();
      hash = (37 * hash) + MODIFY_CONTENT_FIELD_NUMBER;
      hash = (53 * hash) + getModifyContent().hashCode();
      hash = (37 * hash) + MODIFY_CONTENT_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getModifyContentSize();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.FileActivity prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.FileActivity}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.FileActivity)
        proto.Behavior.FileActivityOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_FileActivity_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_FileActivity_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.FileActivity.class, proto.Behavior.FileActivity.Builder.class);
      }

      // Construct using proto.Behavior.FileActivity.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        filepath_ = "";

        mode_ = "";

        permission_ = "";

        readContent_ = "";

        readContentSize_ = "";

        addContent_ = "";

        addContentSize_ = 0;

        removeContent_ = "";

        removeContentSize_ = 0;

        modifyContent_ = "";

        modifyContentSize_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_FileActivity_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.FileActivity getDefaultInstanceForType() {
        return proto.Behavior.FileActivity.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.FileActivity build() {
        proto.Behavior.FileActivity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.FileActivity buildPartial() {
        proto.Behavior.FileActivity result = new proto.Behavior.FileActivity(this);
        result.filename_ = filename_;
        result.filepath_ = filepath_;
        result.mode_ = mode_;
        result.permission_ = permission_;
        result.readContent_ = readContent_;
        result.readContentSize_ = readContentSize_;
        result.addContent_ = addContent_;
        result.addContentSize_ = addContentSize_;
        result.removeContent_ = removeContent_;
        result.removeContentSize_ = removeContentSize_;
        result.modifyContent_ = modifyContent_;
        result.modifyContentSize_ = modifyContentSize_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.FileActivity other) {
        if (other == proto.Behavior.FileActivity.getDefaultInstance()) return this;
        if (!other.getFilename().isEmpty()) {
          filename_ = other.filename_;
          onChanged();
        }
        if (!other.getFilepath().isEmpty()) {
          filepath_ = other.filepath_;
          onChanged();
        }
        if (!other.getMode().isEmpty()) {
          mode_ = other.mode_;
          onChanged();
        }
        if (!other.getPermission().isEmpty()) {
          permission_ = other.permission_;
          onChanged();
        }
        if (!other.getReadContent().isEmpty()) {
          readContent_ = other.readContent_;
          onChanged();
        }
        if (!other.getReadContentSize().isEmpty()) {
          readContentSize_ = other.readContentSize_;
          onChanged();
        }
        if (!other.getAddContent().isEmpty()) {
          addContent_ = other.addContent_;
          onChanged();
        }
        if (other.getAddContentSize() != 0) {
          setAddContentSize(other.getAddContentSize());
        }
        if (!other.getRemoveContent().isEmpty()) {
          removeContent_ = other.removeContent_;
          onChanged();
        }
        if (other.getRemoveContentSize() != 0) {
          setRemoveContentSize(other.getRemoveContentSize());
        }
        if (!other.getModifyContent().isEmpty()) {
          modifyContent_ = other.modifyContent_;
          onChanged();
        }
        if (other.getModifyContentSize() != 0) {
          setModifyContentSize(other.getModifyContentSize());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object filename_ = "";
      /**
       * <code>string filename = 1;</code>
       */
      public java.lang.String getFilename() {
        java.lang.Object ref = filename_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          filename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string filename = 1;</code>
       */
      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;
        }
      }
      /**
       * <code>string filename = 1;</code>
       */
      public Builder setFilename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        filename_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string filename = 1;</code>
       */
      public Builder clearFilename() {
        
        filename_ = getDefaultInstance().getFilename();
        onChanged();
        return this;
      }
      /**
       * <code>string filename = 1;</code>
       */
      public Builder setFilenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        filename_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object filepath_ = "";
      /**
       * <code>string filepath = 2;</code>
       */
      public java.lang.String getFilepath() {
        java.lang.Object ref = filepath_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          filepath_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string filepath = 2;</code>
       */
      public com.google.protobuf.ByteString
          getFilepathBytes() {
        java.lang.Object ref = filepath_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filepath_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string filepath = 2;</code>
       */
      public Builder setFilepath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        filepath_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string filepath = 2;</code>
       */
      public Builder clearFilepath() {
        
        filepath_ = getDefaultInstance().getFilepath();
        onChanged();
        return this;
      }
      /**
       * <code>string filepath = 2;</code>
       */
      public Builder setFilepathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        filepath_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object mode_ = "";
      /**
       * <code>string mode = 3;</code>
       */
      public java.lang.String getMode() {
        java.lang.Object ref = mode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          mode_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string mode = 3;</code>
       */
      public com.google.protobuf.ByteString
          getModeBytes() {
        java.lang.Object ref = mode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          mode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string mode = 3;</code>
       */
      public Builder setMode(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        mode_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string mode = 3;</code>
       */
      public Builder clearMode() {
        
        mode_ = getDefaultInstance().getMode();
        onChanged();
        return this;
      }
      /**
       * <code>string mode = 3;</code>
       */
      public Builder setModeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        mode_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object permission_ = "";
      /**
       * <code>string permission = 4;</code>
       */
      public java.lang.String getPermission() {
        java.lang.Object ref = permission_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          permission_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string permission = 4;</code>
       */
      public com.google.protobuf.ByteString
          getPermissionBytes() {
        java.lang.Object ref = permission_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          permission_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string permission = 4;</code>
       */
      public Builder setPermission(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        permission_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string permission = 4;</code>
       */
      public Builder clearPermission() {
        
        permission_ = getDefaultInstance().getPermission();
        onChanged();
        return this;
      }
      /**
       * <code>string permission = 4;</code>
       */
      public Builder setPermissionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        permission_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object readContent_ = "";
      /**
       * <pre>
       * Read information.
       * </pre>
       *
       * <code>string read_content = 5;</code>
       */
      public java.lang.String getReadContent() {
        java.lang.Object ref = readContent_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          readContent_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Read information.
       * </pre>
       *
       * <code>string read_content = 5;</code>
       */
      public com.google.protobuf.ByteString
          getReadContentBytes() {
        java.lang.Object ref = readContent_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          readContent_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Read information.
       * </pre>
       *
       * <code>string read_content = 5;</code>
       */
      public Builder setReadContent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        readContent_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Read information.
       * </pre>
       *
       * <code>string read_content = 5;</code>
       */
      public Builder clearReadContent() {
        
        readContent_ = getDefaultInstance().getReadContent();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Read information.
       * </pre>
       *
       * <code>string read_content = 5;</code>
       */
      public Builder setReadContentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        readContent_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object readContentSize_ = "";
      /**
       * <code>string read_content_size = 6;</code>
       */
      public java.lang.String getReadContentSize() {
        java.lang.Object ref = readContentSize_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          readContentSize_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string read_content_size = 6;</code>
       */
      public com.google.protobuf.ByteString
          getReadContentSizeBytes() {
        java.lang.Object ref = readContentSize_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          readContentSize_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string read_content_size = 6;</code>
       */
      public Builder setReadContentSize(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        readContentSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string read_content_size = 6;</code>
       */
      public Builder clearReadContentSize() {
        
        readContentSize_ = getDefaultInstance().getReadContentSize();
        onChanged();
        return this;
      }
      /**
       * <code>string read_content_size = 6;</code>
       */
      public Builder setReadContentSizeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        readContentSize_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object addContent_ = "";
      /**
       * <pre>
       * Write to outside own folder.
       * </pre>
       *
       * <code>string add_content = 7;</code>
       */
      public java.lang.String getAddContent() {
        java.lang.Object ref = addContent_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          addContent_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Write to outside own folder.
       * </pre>
       *
       * <code>string add_content = 7;</code>
       */
      public com.google.protobuf.ByteString
          getAddContentBytes() {
        java.lang.Object ref = addContent_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          addContent_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Write to outside own folder.
       * </pre>
       *
       * <code>string add_content = 7;</code>
       */
      public Builder setAddContent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        addContent_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Write to outside own folder.
       * </pre>
       *
       * <code>string add_content = 7;</code>
       */
      public Builder clearAddContent() {
        
        addContent_ = getDefaultInstance().getAddContent();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Write to outside own folder.
       * </pre>
       *
       * <code>string add_content = 7;</code>
       */
      public Builder setAddContentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        addContent_ = value;
        onChanged();
        return this;
      }

      private int addContentSize_ ;
      /**
       * <code>int32 add_content_size = 8;</code>
       */
      public int getAddContentSize() {
        return addContentSize_;
      }
      /**
       * <code>int32 add_content_size = 8;</code>
       */
      public Builder setAddContentSize(int value) {
        
        addContentSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 add_content_size = 8;</code>
       */
      public Builder clearAddContentSize() {
        
        addContentSize_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object removeContent_ = "";
      /**
       * <pre>
       * Remove files outside own folder.
       * </pre>
       *
       * <code>string remove_content = 9;</code>
       */
      public java.lang.String getRemoveContent() {
        java.lang.Object ref = removeContent_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          removeContent_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Remove files outside own folder.
       * </pre>
       *
       * <code>string remove_content = 9;</code>
       */
      public com.google.protobuf.ByteString
          getRemoveContentBytes() {
        java.lang.Object ref = removeContent_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          removeContent_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Remove files outside own folder.
       * </pre>
       *
       * <code>string remove_content = 9;</code>
       */
      public Builder setRemoveContent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        removeContent_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Remove files outside own folder.
       * </pre>
       *
       * <code>string remove_content = 9;</code>
       */
      public Builder clearRemoveContent() {
        
        removeContent_ = getDefaultInstance().getRemoveContent();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Remove files outside own folder.
       * </pre>
       *
       * <code>string remove_content = 9;</code>
       */
      public Builder setRemoveContentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        removeContent_ = value;
        onChanged();
        return this;
      }

      private int removeContentSize_ ;
      /**
       * <code>int32 remove_content_size = 10;</code>
       */
      public int getRemoveContentSize() {
        return removeContentSize_;
      }
      /**
       * <code>int32 remove_content_size = 10;</code>
       */
      public Builder setRemoveContentSize(int value) {
        
        removeContentSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 remove_content_size = 10;</code>
       */
      public Builder clearRemoveContentSize() {
        
        removeContentSize_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object modifyContent_ = "";
      /**
       * <pre>
       * Encrypt files outside own folder.
       * </pre>
       *
       * <code>string modify_content = 11;</code>
       */
      public java.lang.String getModifyContent() {
        java.lang.Object ref = modifyContent_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          modifyContent_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Encrypt files outside own folder.
       * </pre>
       *
       * <code>string modify_content = 11;</code>
       */
      public com.google.protobuf.ByteString
          getModifyContentBytes() {
        java.lang.Object ref = modifyContent_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          modifyContent_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Encrypt files outside own folder.
       * </pre>
       *
       * <code>string modify_content = 11;</code>
       */
      public Builder setModifyContent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        modifyContent_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Encrypt files outside own folder.
       * </pre>
       *
       * <code>string modify_content = 11;</code>
       */
      public Builder clearModifyContent() {
        
        modifyContent_ = getDefaultInstance().getModifyContent();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Encrypt files outside own folder.
       * </pre>
       *
       * <code>string modify_content = 11;</code>
       */
      public Builder setModifyContentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        modifyContent_ = value;
        onChanged();
        return this;
      }

      private int modifyContentSize_ ;
      /**
       * <code>int32 modify_content_size = 12;</code>
       */
      public int getModifyContentSize() {
        return modifyContentSize_;
      }
      /**
       * <code>int32 modify_content_size = 12;</code>
       */
      public Builder setModifyContentSize(int value) {
        
        modifyContentSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 modify_content_size = 12;</code>
       */
      public Builder clearModifyContentSize() {
        
        modifyContentSize_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.FileActivity)
    }

    // @@protoc_insertion_point(class_scope:proto.FileActivity)
    private static final proto.Behavior.FileActivity DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.FileActivity();
    }

    public static proto.Behavior.FileActivity getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.FileActivity getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SensitivenActivityOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.SensitivenActivity)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    java.lang.String getPid();
    /**
     * <pre>
     * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    com.google.protobuf.ByteString
        getPidBytes();

    /**
     * <code>string cmdline = 2;</code>
     */
    java.lang.String getCmdline();
    /**
     * <code>string cmdline = 2;</code>
     */
    com.google.protobuf.ByteString
        getCmdlineBytes();

    /**
     * <code>string exe = 3;</code>
     */
    java.lang.String getExe();
    /**
     * <code>string exe = 3;</code>
     */
    com.google.protobuf.ByteString
        getExeBytes();

    /**
     * <code>string cwd = 4;</code>
     */
    java.lang.String getCwd();
    /**
     * <code>string cwd = 4;</code>
     */
    com.google.protobuf.ByteString
        getCwdBytes();

    /**
     * <code>string root = 5;</code>
     */
    java.lang.String getRoot();
    /**
     * <code>string root = 5;</code>
     */
    com.google.protobuf.ByteString
        getRootBytes();

    /**
     * <code>string ppid = 6;</code>
     */
    java.lang.String getPpid();
    /**
     * <code>string ppid = 6;</code>
     */
    com.google.protobuf.ByteString
        getPpidBytes();

    /**
     * <code>string user = 7;</code>
     */
    java.lang.String getUser();
    /**
     * <code>string user = 7;</code>
     */
    com.google.protobuf.ByteString
        getUserBytes();

    /**
     * <code>string syscall = 8;</code>
     */
    java.lang.String getSyscall();
    /**
     * <code>string syscall = 8;</code>
     */
    com.google.protobuf.ByteString
        getSyscallBytes();
  }
  /**
   * Protobuf type {@code proto.SensitivenActivity}
   */
  public  static final class SensitivenActivity extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.SensitivenActivity)
      SensitivenActivityOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SensitivenActivity.newBuilder() to construct.
    private SensitivenActivity(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SensitivenActivity() {
      pid_ = "";
      cmdline_ = "";
      exe_ = "";
      cwd_ = "";
      root_ = "";
      ppid_ = "";
      user_ = "";
      syscall_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SensitivenActivity(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              pid_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              cmdline_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              exe_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              cwd_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              root_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              ppid_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              user_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              syscall_ = s;
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_SensitivenActivity_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_SensitivenActivity_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.SensitivenActivity.class, proto.Behavior.SensitivenActivity.Builder.class);
    }

    public static final int PID_FIELD_NUMBER = 1;
    private volatile java.lang.Object pid_;
    /**
     * <pre>
     * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    public java.lang.String getPid() {
      java.lang.Object ref = pid_;
      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();
        pid_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    public com.google.protobuf.ByteString
        getPidBytes() {
      java.lang.Object ref = pid_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        pid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CMDLINE_FIELD_NUMBER = 2;
    private volatile java.lang.Object cmdline_;
    /**
     * <code>string cmdline = 2;</code>
     */
    public java.lang.String getCmdline() {
      java.lang.Object ref = cmdline_;
      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();
        cmdline_ = s;
        return s;
      }
    }
    /**
     * <code>string cmdline = 2;</code>
     */
    public com.google.protobuf.ByteString
        getCmdlineBytes() {
      java.lang.Object ref = cmdline_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cmdline_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXE_FIELD_NUMBER = 3;
    private volatile java.lang.Object exe_;
    /**
     * <code>string exe = 3;</code>
     */
    public java.lang.String getExe() {
      java.lang.Object ref = exe_;
      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();
        exe_ = s;
        return s;
      }
    }
    /**
     * <code>string exe = 3;</code>
     */
    public com.google.protobuf.ByteString
        getExeBytes() {
      java.lang.Object ref = exe_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        exe_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CWD_FIELD_NUMBER = 4;
    private volatile java.lang.Object cwd_;
    /**
     * <code>string cwd = 4;</code>
     */
    public java.lang.String getCwd() {
      java.lang.Object ref = cwd_;
      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();
        cwd_ = s;
        return s;
      }
    }
    /**
     * <code>string cwd = 4;</code>
     */
    public com.google.protobuf.ByteString
        getCwdBytes() {
      java.lang.Object ref = cwd_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cwd_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROOT_FIELD_NUMBER = 5;
    private volatile java.lang.Object root_;
    /**
     * <code>string root = 5;</code>
     */
    public java.lang.String getRoot() {
      java.lang.Object ref = root_;
      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();
        root_ = s;
        return s;
      }
    }
    /**
     * <code>string root = 5;</code>
     */
    public com.google.protobuf.ByteString
        getRootBytes() {
      java.lang.Object ref = root_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        root_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PPID_FIELD_NUMBER = 6;
    private volatile java.lang.Object ppid_;
    /**
     * <code>string ppid = 6;</code>
     */
    public java.lang.String getPpid() {
      java.lang.Object ref = ppid_;
      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();
        ppid_ = s;
        return s;
      }
    }
    /**
     * <code>string ppid = 6;</code>
     */
    public com.google.protobuf.ByteString
        getPpidBytes() {
      java.lang.Object ref = ppid_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ppid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int USER_FIELD_NUMBER = 7;
    private volatile java.lang.Object user_;
    /**
     * <code>string user = 7;</code>
     */
    public java.lang.String getUser() {
      java.lang.Object ref = user_;
      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();
        user_ = s;
        return s;
      }
    }
    /**
     * <code>string user = 7;</code>
     */
    public com.google.protobuf.ByteString
        getUserBytes() {
      java.lang.Object ref = user_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        user_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SYSCALL_FIELD_NUMBER = 8;
    private volatile java.lang.Object syscall_;
    /**
     * <code>string syscall = 8;</code>
     */
    public java.lang.String getSyscall() {
      java.lang.Object ref = syscall_;
      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();
        syscall_ = s;
        return s;
      }
    }
    /**
     * <code>string syscall = 8;</code>
     */
    public com.google.protobuf.ByteString
        getSyscallBytes() {
      java.lang.Object ref = syscall_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        syscall_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getPidBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, pid_);
      }
      if (!getCmdlineBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, cmdline_);
      }
      if (!getExeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, exe_);
      }
      if (!getCwdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, cwd_);
      }
      if (!getRootBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, root_);
      }
      if (!getPpidBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, ppid_);
      }
      if (!getUserBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, user_);
      }
      if (!getSyscallBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, syscall_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getPidBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, pid_);
      }
      if (!getCmdlineBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, cmdline_);
      }
      if (!getExeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, exe_);
      }
      if (!getCwdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, cwd_);
      }
      if (!getRootBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, root_);
      }
      if (!getPpidBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, ppid_);
      }
      if (!getUserBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, user_);
      }
      if (!getSyscallBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, syscall_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.SensitivenActivity)) {
        return super.equals(obj);
      }
      proto.Behavior.SensitivenActivity other = (proto.Behavior.SensitivenActivity) obj;

      boolean result = true;
      result = result && getPid()
          .equals(other.getPid());
      result = result && getCmdline()
          .equals(other.getCmdline());
      result = result && getExe()
          .equals(other.getExe());
      result = result && getCwd()
          .equals(other.getCwd());
      result = result && getRoot()
          .equals(other.getRoot());
      result = result && getPpid()
          .equals(other.getPpid());
      result = result && getUser()
          .equals(other.getUser());
      result = result && getSyscall()
          .equals(other.getSyscall());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PID_FIELD_NUMBER;
      hash = (53 * hash) + getPid().hashCode();
      hash = (37 * hash) + CMDLINE_FIELD_NUMBER;
      hash = (53 * hash) + getCmdline().hashCode();
      hash = (37 * hash) + EXE_FIELD_NUMBER;
      hash = (53 * hash) + getExe().hashCode();
      hash = (37 * hash) + CWD_FIELD_NUMBER;
      hash = (53 * hash) + getCwd().hashCode();
      hash = (37 * hash) + ROOT_FIELD_NUMBER;
      hash = (53 * hash) + getRoot().hashCode();
      hash = (37 * hash) + PPID_FIELD_NUMBER;
      hash = (53 * hash) + getPpid().hashCode();
      hash = (37 * hash) + USER_FIELD_NUMBER;
      hash = (53 * hash) + getUser().hashCode();
      hash = (37 * hash) + SYSCALL_FIELD_NUMBER;
      hash = (53 * hash) + getSyscall().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.SensitivenActivity prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.SensitivenActivity}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.SensitivenActivity)
        proto.Behavior.SensitivenActivityOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_SensitivenActivity_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_SensitivenActivity_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.SensitivenActivity.class, proto.Behavior.SensitivenActivity.Builder.class);
      }

      // Construct using proto.Behavior.SensitivenActivity.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        cmdline_ = "";

        exe_ = "";

        cwd_ = "";

        root_ = "";

        ppid_ = "";

        user_ = "";

        syscall_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_SensitivenActivity_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.SensitivenActivity getDefaultInstanceForType() {
        return proto.Behavior.SensitivenActivity.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.SensitivenActivity build() {
        proto.Behavior.SensitivenActivity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.SensitivenActivity buildPartial() {
        proto.Behavior.SensitivenActivity result = new proto.Behavior.SensitivenActivity(this);
        result.pid_ = pid_;
        result.cmdline_ = cmdline_;
        result.exe_ = exe_;
        result.cwd_ = cwd_;
        result.root_ = root_;
        result.ppid_ = ppid_;
        result.user_ = user_;
        result.syscall_ = syscall_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.SensitivenActivity other) {
        if (other == proto.Behavior.SensitivenActivity.getDefaultInstance()) return this;
        if (!other.getPid().isEmpty()) {
          pid_ = other.pid_;
          onChanged();
        }
        if (!other.getCmdline().isEmpty()) {
          cmdline_ = other.cmdline_;
          onChanged();
        }
        if (!other.getExe().isEmpty()) {
          exe_ = other.exe_;
          onChanged();
        }
        if (!other.getCwd().isEmpty()) {
          cwd_ = other.cwd_;
          onChanged();
        }
        if (!other.getRoot().isEmpty()) {
          root_ = other.root_;
          onChanged();
        }
        if (!other.getPpid().isEmpty()) {
          ppid_ = other.ppid_;
          onChanged();
        }
        if (!other.getUser().isEmpty()) {
          user_ = other.user_;
          onChanged();
        }
        if (!other.getSyscall().isEmpty()) {
          syscall_ = other.syscall_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object pid_ = "";
      /**
       * <pre>
       * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public java.lang.String getPid() {
        java.lang.Object ref = pid_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          pid_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public com.google.protobuf.ByteString
          getPidBytes() {
        java.lang.Object ref = pid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          pid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public Builder setPid(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pid_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public Builder clearPid() {
        
        pid_ = getDefaultInstance().getPid();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * FIXME: Read/Write sensitive information  or performing privileged operations via specific system calls
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public Builder setPidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        pid_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cmdline_ = "";
      /**
       * <code>string cmdline = 2;</code>
       */
      public java.lang.String getCmdline() {
        java.lang.Object ref = cmdline_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          cmdline_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public com.google.protobuf.ByteString
          getCmdlineBytes() {
        java.lang.Object ref = cmdline_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cmdline_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public Builder setCmdline(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cmdline_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public Builder clearCmdline() {
        
        cmdline_ = getDefaultInstance().getCmdline();
        onChanged();
        return this;
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public Builder setCmdlineBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cmdline_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object exe_ = "";
      /**
       * <code>string exe = 3;</code>
       */
      public java.lang.String getExe() {
        java.lang.Object ref = exe_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          exe_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string exe = 3;</code>
       */
      public com.google.protobuf.ByteString
          getExeBytes() {
        java.lang.Object ref = exe_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          exe_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string exe = 3;</code>
       */
      public Builder setExe(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        exe_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string exe = 3;</code>
       */
      public Builder clearExe() {
        
        exe_ = getDefaultInstance().getExe();
        onChanged();
        return this;
      }
      /**
       * <code>string exe = 3;</code>
       */
      public Builder setExeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        exe_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cwd_ = "";
      /**
       * <code>string cwd = 4;</code>
       */
      public java.lang.String getCwd() {
        java.lang.Object ref = cwd_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          cwd_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public com.google.protobuf.ByteString
          getCwdBytes() {
        java.lang.Object ref = cwd_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cwd_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public Builder setCwd(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cwd_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public Builder clearCwd() {
        
        cwd_ = getDefaultInstance().getCwd();
        onChanged();
        return this;
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public Builder setCwdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cwd_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object root_ = "";
      /**
       * <code>string root = 5;</code>
       */
      public java.lang.String getRoot() {
        java.lang.Object ref = root_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          root_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string root = 5;</code>
       */
      public com.google.protobuf.ByteString
          getRootBytes() {
        java.lang.Object ref = root_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          root_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string root = 5;</code>
       */
      public Builder setRoot(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        root_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string root = 5;</code>
       */
      public Builder clearRoot() {
        
        root_ = getDefaultInstance().getRoot();
        onChanged();
        return this;
      }
      /**
       * <code>string root = 5;</code>
       */
      public Builder setRootBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        root_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ppid_ = "";
      /**
       * <code>string ppid = 6;</code>
       */
      public java.lang.String getPpid() {
        java.lang.Object ref = ppid_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ppid_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public com.google.protobuf.ByteString
          getPpidBytes() {
        java.lang.Object ref = ppid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ppid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public Builder setPpid(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ppid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public Builder clearPpid() {
        
        ppid_ = getDefaultInstance().getPpid();
        onChanged();
        return this;
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public Builder setPpidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ppid_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object user_ = "";
      /**
       * <code>string user = 7;</code>
       */
      public java.lang.String getUser() {
        java.lang.Object ref = user_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          user_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string user = 7;</code>
       */
      public com.google.protobuf.ByteString
          getUserBytes() {
        java.lang.Object ref = user_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          user_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string user = 7;</code>
       */
      public Builder setUser(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        user_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string user = 7;</code>
       */
      public Builder clearUser() {
        
        user_ = getDefaultInstance().getUser();
        onChanged();
        return this;
      }
      /**
       * <code>string user = 7;</code>
       */
      public Builder setUserBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        user_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object syscall_ = "";
      /**
       * <code>string syscall = 8;</code>
       */
      public java.lang.String getSyscall() {
        java.lang.Object ref = syscall_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          syscall_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string syscall = 8;</code>
       */
      public com.google.protobuf.ByteString
          getSyscallBytes() {
        java.lang.Object ref = syscall_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          syscall_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string syscall = 8;</code>
       */
      public Builder setSyscall(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        syscall_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string syscall = 8;</code>
       */
      public Builder clearSyscall() {
        
        syscall_ = getDefaultInstance().getSyscall();
        onChanged();
        return this;
      }
      /**
       * <code>string syscall = 8;</code>
       */
      public Builder setSyscallBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        syscall_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.SensitivenActivity)
    }

    // @@protoc_insertion_point(class_scope:proto.SensitivenActivity)
    private static final proto.Behavior.SensitivenActivity DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.SensitivenActivity();
    }

    public static proto.Behavior.SensitivenActivity getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.SensitivenActivity getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ProcessActivityOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.ProcessActivity)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Start new processes
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    java.lang.String getPid();
    /**
     * <pre>
     * Start new processes
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    com.google.protobuf.ByteString
        getPidBytes();

    /**
     * <code>string cmdline = 2;</code>
     */
    java.lang.String getCmdline();
    /**
     * <code>string cmdline = 2;</code>
     */
    com.google.protobuf.ByteString
        getCmdlineBytes();

    /**
     * <code>string exe = 3;</code>
     */
    java.lang.String getExe();
    /**
     * <code>string exe = 3;</code>
     */
    com.google.protobuf.ByteString
        getExeBytes();

    /**
     * <code>string cwd = 4;</code>
     */
    java.lang.String getCwd();
    /**
     * <code>string cwd = 4;</code>
     */
    com.google.protobuf.ByteString
        getCwdBytes();

    /**
     * <code>string root = 5;</code>
     */
    java.lang.String getRoot();
    /**
     * <code>string root = 5;</code>
     */
    com.google.protobuf.ByteString
        getRootBytes();

    /**
     * <code>string ppid = 6;</code>
     */
    java.lang.String getPpid();
    /**
     * <code>string ppid = 6;</code>
     */
    com.google.protobuf.ByteString
        getPpidBytes();

    /**
     * <code>string user = 7;</code>
     */
    java.lang.String getUser();
    /**
     * <code>string user = 7;</code>
     */
    com.google.protobuf.ByteString
        getUserBytes();

    /**
     * <code>string permission = 8;</code>
     */
    java.lang.String getPermission();
    /**
     * <code>string permission = 8;</code>
     */
    com.google.protobuf.ByteString
        getPermissionBytes();

    /**
     * <code>bool main_process = 9;</code>
     */
    boolean getMainProcess();

    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    java.util.List<proto.Behavior.NetworkActivity> 
        getNetworkActivitiesList();
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    proto.Behavior.NetworkActivity getNetworkActivities(int index);
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    int getNetworkActivitiesCount();
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    java.util.List<? extends proto.Behavior.NetworkActivityOrBuilder> 
        getNetworkActivitiesOrBuilderList();
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    proto.Behavior.NetworkActivityOrBuilder getNetworkActivitiesOrBuilder(
        int index);

    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    java.util.List<proto.Behavior.FileActivity> 
        getFileActivitiesList();
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    proto.Behavior.FileActivity getFileActivities(int index);
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    int getFileActivitiesCount();
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    java.util.List<? extends proto.Behavior.FileActivityOrBuilder> 
        getFileActivitiesOrBuilderList();
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    proto.Behavior.FileActivityOrBuilder getFileActivitiesOrBuilder(
        int index);

    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    java.util.List<proto.Behavior.ProcessActivity> 
        getChildProcessActivitiesList();
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    proto.Behavior.ProcessActivity getChildProcessActivities(int index);
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    int getChildProcessActivitiesCount();
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    java.util.List<? extends proto.Behavior.ProcessActivityOrBuilder> 
        getChildProcessActivitiesOrBuilderList();
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    proto.Behavior.ProcessActivityOrBuilder getChildProcessActivitiesOrBuilder(
        int index);

    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    java.util.List<proto.Behavior.SensitivenActivity> 
        getSensitiveActivitiesList();
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    proto.Behavior.SensitivenActivity getSensitiveActivities(int index);
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    int getSensitiveActivitiesCount();
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    java.util.List<? extends proto.Behavior.SensitivenActivityOrBuilder> 
        getSensitiveActivitiesOrBuilderList();
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    proto.Behavior.SensitivenActivityOrBuilder getSensitiveActivitiesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code proto.ProcessActivity}
   */
  public  static final class ProcessActivity extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.ProcessActivity)
      ProcessActivityOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ProcessActivity.newBuilder() to construct.
    private ProcessActivity(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ProcessActivity() {
      pid_ = "";
      cmdline_ = "";
      exe_ = "";
      cwd_ = "";
      root_ = "";
      ppid_ = "";
      user_ = "";
      permission_ = "";
      mainProcess_ = false;
      networkActivities_ = java.util.Collections.emptyList();
      fileActivities_ = java.util.Collections.emptyList();
      childProcessActivities_ = java.util.Collections.emptyList();
      sensitiveActivities_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ProcessActivity(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              pid_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              cmdline_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              exe_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              cwd_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              root_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              ppid_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              user_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              permission_ = s;
              break;
            }
            case 72: {

              mainProcess_ = input.readBool();
              break;
            }
            case 82: {
              if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
                networkActivities_ = new java.util.ArrayList<proto.Behavior.NetworkActivity>();
                mutable_bitField0_ |= 0x00000200;
              }
              networkActivities_.add(
                  input.readMessage(proto.Behavior.NetworkActivity.parser(), extensionRegistry));
              break;
            }
            case 90: {
              if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
                fileActivities_ = new java.util.ArrayList<proto.Behavior.FileActivity>();
                mutable_bitField0_ |= 0x00000400;
              }
              fileActivities_.add(
                  input.readMessage(proto.Behavior.FileActivity.parser(), extensionRegistry));
              break;
            }
            case 98: {
              if (!((mutable_bitField0_ & 0x00000800) == 0x00000800)) {
                childProcessActivities_ = new java.util.ArrayList<proto.Behavior.ProcessActivity>();
                mutable_bitField0_ |= 0x00000800;
              }
              childProcessActivities_.add(
                  input.readMessage(proto.Behavior.ProcessActivity.parser(), extensionRegistry));
              break;
            }
            case 106: {
              if (!((mutable_bitField0_ & 0x00001000) == 0x00001000)) {
                sensitiveActivities_ = new java.util.ArrayList<proto.Behavior.SensitivenActivity>();
                mutable_bitField0_ |= 0x00001000;
              }
              sensitiveActivities_.add(
                  input.readMessage(proto.Behavior.SensitivenActivity.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
          networkActivities_ = java.util.Collections.unmodifiableList(networkActivities_);
        }
        if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
          fileActivities_ = java.util.Collections.unmodifiableList(fileActivities_);
        }
        if (((mutable_bitField0_ & 0x00000800) == 0x00000800)) {
          childProcessActivities_ = java.util.Collections.unmodifiableList(childProcessActivities_);
        }
        if (((mutable_bitField0_ & 0x00001000) == 0x00001000)) {
          sensitiveActivities_ = java.util.Collections.unmodifiableList(sensitiveActivities_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_ProcessActivity_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_ProcessActivity_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.ProcessActivity.class, proto.Behavior.ProcessActivity.Builder.class);
    }

    private int bitField0_;
    public static final int PID_FIELD_NUMBER = 1;
    private volatile java.lang.Object pid_;
    /**
     * <pre>
     * Start new processes
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    public java.lang.String getPid() {
      java.lang.Object ref = pid_;
      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();
        pid_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * Start new processes
     * </pre>
     *
     * <code>string pid = 1;</code>
     */
    public com.google.protobuf.ByteString
        getPidBytes() {
      java.lang.Object ref = pid_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        pid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CMDLINE_FIELD_NUMBER = 2;
    private volatile java.lang.Object cmdline_;
    /**
     * <code>string cmdline = 2;</code>
     */
    public java.lang.String getCmdline() {
      java.lang.Object ref = cmdline_;
      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();
        cmdline_ = s;
        return s;
      }
    }
    /**
     * <code>string cmdline = 2;</code>
     */
    public com.google.protobuf.ByteString
        getCmdlineBytes() {
      java.lang.Object ref = cmdline_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cmdline_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXE_FIELD_NUMBER = 3;
    private volatile java.lang.Object exe_;
    /**
     * <code>string exe = 3;</code>
     */
    public java.lang.String getExe() {
      java.lang.Object ref = exe_;
      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();
        exe_ = s;
        return s;
      }
    }
    /**
     * <code>string exe = 3;</code>
     */
    public com.google.protobuf.ByteString
        getExeBytes() {
      java.lang.Object ref = exe_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        exe_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CWD_FIELD_NUMBER = 4;
    private volatile java.lang.Object cwd_;
    /**
     * <code>string cwd = 4;</code>
     */
    public java.lang.String getCwd() {
      java.lang.Object ref = cwd_;
      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();
        cwd_ = s;
        return s;
      }
    }
    /**
     * <code>string cwd = 4;</code>
     */
    public com.google.protobuf.ByteString
        getCwdBytes() {
      java.lang.Object ref = cwd_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cwd_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROOT_FIELD_NUMBER = 5;
    private volatile java.lang.Object root_;
    /**
     * <code>string root = 5;</code>
     */
    public java.lang.String getRoot() {
      java.lang.Object ref = root_;
      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();
        root_ = s;
        return s;
      }
    }
    /**
     * <code>string root = 5;</code>
     */
    public com.google.protobuf.ByteString
        getRootBytes() {
      java.lang.Object ref = root_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        root_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PPID_FIELD_NUMBER = 6;
    private volatile java.lang.Object ppid_;
    /**
     * <code>string ppid = 6;</code>
     */
    public java.lang.String getPpid() {
      java.lang.Object ref = ppid_;
      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();
        ppid_ = s;
        return s;
      }
    }
    /**
     * <code>string ppid = 6;</code>
     */
    public com.google.protobuf.ByteString
        getPpidBytes() {
      java.lang.Object ref = ppid_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ppid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int USER_FIELD_NUMBER = 7;
    private volatile java.lang.Object user_;
    /**
     * <code>string user = 7;</code>
     */
    public java.lang.String getUser() {
      java.lang.Object ref = user_;
      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();
        user_ = s;
        return s;
      }
    }
    /**
     * <code>string user = 7;</code>
     */
    public com.google.protobuf.ByteString
        getUserBytes() {
      java.lang.Object ref = user_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        user_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PERMISSION_FIELD_NUMBER = 8;
    private volatile java.lang.Object permission_;
    /**
     * <code>string permission = 8;</code>
     */
    public java.lang.String getPermission() {
      java.lang.Object ref = permission_;
      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();
        permission_ = s;
        return s;
      }
    }
    /**
     * <code>string permission = 8;</code>
     */
    public com.google.protobuf.ByteString
        getPermissionBytes() {
      java.lang.Object ref = permission_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        permission_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MAIN_PROCESS_FIELD_NUMBER = 9;
    private boolean mainProcess_;
    /**
     * <code>bool main_process = 9;</code>
     */
    public boolean getMainProcess() {
      return mainProcess_;
    }

    public static final int NETWORK_ACTIVITIES_FIELD_NUMBER = 10;
    private java.util.List<proto.Behavior.NetworkActivity> networkActivities_;
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    public java.util.List<proto.Behavior.NetworkActivity> getNetworkActivitiesList() {
      return networkActivities_;
    }
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    public java.util.List<? extends proto.Behavior.NetworkActivityOrBuilder> 
        getNetworkActivitiesOrBuilderList() {
      return networkActivities_;
    }
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    public int getNetworkActivitiesCount() {
      return networkActivities_.size();
    }
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    public proto.Behavior.NetworkActivity getNetworkActivities(int index) {
      return networkActivities_.get(index);
    }
    /**
     * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
     */
    public proto.Behavior.NetworkActivityOrBuilder getNetworkActivitiesOrBuilder(
        int index) {
      return networkActivities_.get(index);
    }

    public static final int FILE_ACTIVITIES_FIELD_NUMBER = 11;
    private java.util.List<proto.Behavior.FileActivity> fileActivities_;
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    public java.util.List<proto.Behavior.FileActivity> getFileActivitiesList() {
      return fileActivities_;
    }
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    public java.util.List<? extends proto.Behavior.FileActivityOrBuilder> 
        getFileActivitiesOrBuilderList() {
      return fileActivities_;
    }
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    public int getFileActivitiesCount() {
      return fileActivities_.size();
    }
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    public proto.Behavior.FileActivity getFileActivities(int index) {
      return fileActivities_.get(index);
    }
    /**
     * <code>repeated .proto.FileActivity file_activities = 11;</code>
     */
    public proto.Behavior.FileActivityOrBuilder getFileActivitiesOrBuilder(
        int index) {
      return fileActivities_.get(index);
    }

    public static final int CHILD_PROCESS_ACTIVITIES_FIELD_NUMBER = 12;
    private java.util.List<proto.Behavior.ProcessActivity> childProcessActivities_;
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    public java.util.List<proto.Behavior.ProcessActivity> getChildProcessActivitiesList() {
      return childProcessActivities_;
    }
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    public java.util.List<? extends proto.Behavior.ProcessActivityOrBuilder> 
        getChildProcessActivitiesOrBuilderList() {
      return childProcessActivities_;
    }
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    public int getChildProcessActivitiesCount() {
      return childProcessActivities_.size();
    }
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    public proto.Behavior.ProcessActivity getChildProcessActivities(int index) {
      return childProcessActivities_.get(index);
    }
    /**
     * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
     */
    public proto.Behavior.ProcessActivityOrBuilder getChildProcessActivitiesOrBuilder(
        int index) {
      return childProcessActivities_.get(index);
    }

    public static final int SENSITIVE_ACTIVITIES_FIELD_NUMBER = 13;
    private java.util.List<proto.Behavior.SensitivenActivity> sensitiveActivities_;
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    public java.util.List<proto.Behavior.SensitivenActivity> getSensitiveActivitiesList() {
      return sensitiveActivities_;
    }
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    public java.util.List<? extends proto.Behavior.SensitivenActivityOrBuilder> 
        getSensitiveActivitiesOrBuilderList() {
      return sensitiveActivities_;
    }
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    public int getSensitiveActivitiesCount() {
      return sensitiveActivities_.size();
    }
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    public proto.Behavior.SensitivenActivity getSensitiveActivities(int index) {
      return sensitiveActivities_.get(index);
    }
    /**
     * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
     */
    public proto.Behavior.SensitivenActivityOrBuilder getSensitiveActivitiesOrBuilder(
        int index) {
      return sensitiveActivities_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getPidBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, pid_);
      }
      if (!getCmdlineBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, cmdline_);
      }
      if (!getExeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, exe_);
      }
      if (!getCwdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, cwd_);
      }
      if (!getRootBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, root_);
      }
      if (!getPpidBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, ppid_);
      }
      if (!getUserBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, user_);
      }
      if (!getPermissionBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, permission_);
      }
      if (mainProcess_ != false) {
        output.writeBool(9, mainProcess_);
      }
      for (int i = 0; i < networkActivities_.size(); i++) {
        output.writeMessage(10, networkActivities_.get(i));
      }
      for (int i = 0; i < fileActivities_.size(); i++) {
        output.writeMessage(11, fileActivities_.get(i));
      }
      for (int i = 0; i < childProcessActivities_.size(); i++) {
        output.writeMessage(12, childProcessActivities_.get(i));
      }
      for (int i = 0; i < sensitiveActivities_.size(); i++) {
        output.writeMessage(13, sensitiveActivities_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (!getPidBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, pid_);
      }
      if (!getCmdlineBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, cmdline_);
      }
      if (!getExeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, exe_);
      }
      if (!getCwdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, cwd_);
      }
      if (!getRootBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, root_);
      }
      if (!getPpidBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, ppid_);
      }
      if (!getUserBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, user_);
      }
      if (!getPermissionBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, permission_);
      }
      if (mainProcess_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, mainProcess_);
      }
      for (int i = 0; i < networkActivities_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, networkActivities_.get(i));
      }
      for (int i = 0; i < fileActivities_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, fileActivities_.get(i));
      }
      for (int i = 0; i < childProcessActivities_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, childProcessActivities_.get(i));
      }
      for (int i = 0; i < sensitiveActivities_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, sensitiveActivities_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.ProcessActivity)) {
        return super.equals(obj);
      }
      proto.Behavior.ProcessActivity other = (proto.Behavior.ProcessActivity) obj;

      boolean result = true;
      result = result && getPid()
          .equals(other.getPid());
      result = result && getCmdline()
          .equals(other.getCmdline());
      result = result && getExe()
          .equals(other.getExe());
      result = result && getCwd()
          .equals(other.getCwd());
      result = result && getRoot()
          .equals(other.getRoot());
      result = result && getPpid()
          .equals(other.getPpid());
      result = result && getUser()
          .equals(other.getUser());
      result = result && getPermission()
          .equals(other.getPermission());
      result = result && (getMainProcess()
          == other.getMainProcess());
      result = result && getNetworkActivitiesList()
          .equals(other.getNetworkActivitiesList());
      result = result && getFileActivitiesList()
          .equals(other.getFileActivitiesList());
      result = result && getChildProcessActivitiesList()
          .equals(other.getChildProcessActivitiesList());
      result = result && getSensitiveActivitiesList()
          .equals(other.getSensitiveActivitiesList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PID_FIELD_NUMBER;
      hash = (53 * hash) + getPid().hashCode();
      hash = (37 * hash) + CMDLINE_FIELD_NUMBER;
      hash = (53 * hash) + getCmdline().hashCode();
      hash = (37 * hash) + EXE_FIELD_NUMBER;
      hash = (53 * hash) + getExe().hashCode();
      hash = (37 * hash) + CWD_FIELD_NUMBER;
      hash = (53 * hash) + getCwd().hashCode();
      hash = (37 * hash) + ROOT_FIELD_NUMBER;
      hash = (53 * hash) + getRoot().hashCode();
      hash = (37 * hash) + PPID_FIELD_NUMBER;
      hash = (53 * hash) + getPpid().hashCode();
      hash = (37 * hash) + USER_FIELD_NUMBER;
      hash = (53 * hash) + getUser().hashCode();
      hash = (37 * hash) + PERMISSION_FIELD_NUMBER;
      hash = (53 * hash) + getPermission().hashCode();
      hash = (37 * hash) + MAIN_PROCESS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getMainProcess());
      if (getNetworkActivitiesCount() > 0) {
        hash = (37 * hash) + NETWORK_ACTIVITIES_FIELD_NUMBER;
        hash = (53 * hash) + getNetworkActivitiesList().hashCode();
      }
      if (getFileActivitiesCount() > 0) {
        hash = (37 * hash) + FILE_ACTIVITIES_FIELD_NUMBER;
        hash = (53 * hash) + getFileActivitiesList().hashCode();
      }
      if (getChildProcessActivitiesCount() > 0) {
        hash = (37 * hash) + CHILD_PROCESS_ACTIVITIES_FIELD_NUMBER;
        hash = (53 * hash) + getChildProcessActivitiesList().hashCode();
      }
      if (getSensitiveActivitiesCount() > 0) {
        hash = (37 * hash) + SENSITIVE_ACTIVITIES_FIELD_NUMBER;
        hash = (53 * hash) + getSensitiveActivitiesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.ProcessActivity prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.ProcessActivity}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.ProcessActivity)
        proto.Behavior.ProcessActivityOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_ProcessActivity_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_ProcessActivity_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.ProcessActivity.class, proto.Behavior.ProcessActivity.Builder.class);
      }

      // Construct using proto.Behavior.ProcessActivity.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getNetworkActivitiesFieldBuilder();
          getFileActivitiesFieldBuilder();
          getChildProcessActivitiesFieldBuilder();
          getSensitiveActivitiesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        pid_ = "";

        cmdline_ = "";

        exe_ = "";

        cwd_ = "";

        root_ = "";

        ppid_ = "";

        user_ = "";

        permission_ = "";

        mainProcess_ = false;

        if (networkActivitiesBuilder_ == null) {
          networkActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000200);
        } else {
          networkActivitiesBuilder_.clear();
        }
        if (fileActivitiesBuilder_ == null) {
          fileActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000400);
        } else {
          fileActivitiesBuilder_.clear();
        }
        if (childProcessActivitiesBuilder_ == null) {
          childProcessActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000800);
        } else {
          childProcessActivitiesBuilder_.clear();
        }
        if (sensitiveActivitiesBuilder_ == null) {
          sensitiveActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00001000);
        } else {
          sensitiveActivitiesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_ProcessActivity_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.ProcessActivity getDefaultInstanceForType() {
        return proto.Behavior.ProcessActivity.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.ProcessActivity build() {
        proto.Behavior.ProcessActivity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.ProcessActivity buildPartial() {
        proto.Behavior.ProcessActivity result = new proto.Behavior.ProcessActivity(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.pid_ = pid_;
        result.cmdline_ = cmdline_;
        result.exe_ = exe_;
        result.cwd_ = cwd_;
        result.root_ = root_;
        result.ppid_ = ppid_;
        result.user_ = user_;
        result.permission_ = permission_;
        result.mainProcess_ = mainProcess_;
        if (networkActivitiesBuilder_ == null) {
          if (((bitField0_ & 0x00000200) == 0x00000200)) {
            networkActivities_ = java.util.Collections.unmodifiableList(networkActivities_);
            bitField0_ = (bitField0_ & ~0x00000200);
          }
          result.networkActivities_ = networkActivities_;
        } else {
          result.networkActivities_ = networkActivitiesBuilder_.build();
        }
        if (fileActivitiesBuilder_ == null) {
          if (((bitField0_ & 0x00000400) == 0x00000400)) {
            fileActivities_ = java.util.Collections.unmodifiableList(fileActivities_);
            bitField0_ = (bitField0_ & ~0x00000400);
          }
          result.fileActivities_ = fileActivities_;
        } else {
          result.fileActivities_ = fileActivitiesBuilder_.build();
        }
        if (childProcessActivitiesBuilder_ == null) {
          if (((bitField0_ & 0x00000800) == 0x00000800)) {
            childProcessActivities_ = java.util.Collections.unmodifiableList(childProcessActivities_);
            bitField0_ = (bitField0_ & ~0x00000800);
          }
          result.childProcessActivities_ = childProcessActivities_;
        } else {
          result.childProcessActivities_ = childProcessActivitiesBuilder_.build();
        }
        if (sensitiveActivitiesBuilder_ == null) {
          if (((bitField0_ & 0x00001000) == 0x00001000)) {
            sensitiveActivities_ = java.util.Collections.unmodifiableList(sensitiveActivities_);
            bitField0_ = (bitField0_ & ~0x00001000);
          }
          result.sensitiveActivities_ = sensitiveActivities_;
        } else {
          result.sensitiveActivities_ = sensitiveActivitiesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.ProcessActivity other) {
        if (other == proto.Behavior.ProcessActivity.getDefaultInstance()) return this;
        if (!other.getPid().isEmpty()) {
          pid_ = other.pid_;
          onChanged();
        }
        if (!other.getCmdline().isEmpty()) {
          cmdline_ = other.cmdline_;
          onChanged();
        }
        if (!other.getExe().isEmpty()) {
          exe_ = other.exe_;
          onChanged();
        }
        if (!other.getCwd().isEmpty()) {
          cwd_ = other.cwd_;
          onChanged();
        }
        if (!other.getRoot().isEmpty()) {
          root_ = other.root_;
          onChanged();
        }
        if (!other.getPpid().isEmpty()) {
          ppid_ = other.ppid_;
          onChanged();
        }
        if (!other.getUser().isEmpty()) {
          user_ = other.user_;
          onChanged();
        }
        if (!other.getPermission().isEmpty()) {
          permission_ = other.permission_;
          onChanged();
        }
        if (other.getMainProcess() != false) {
          setMainProcess(other.getMainProcess());
        }
        if (networkActivitiesBuilder_ == null) {
          if (!other.networkActivities_.isEmpty()) {
            if (networkActivities_.isEmpty()) {
              networkActivities_ = other.networkActivities_;
              bitField0_ = (bitField0_ & ~0x00000200);
            } else {
              ensureNetworkActivitiesIsMutable();
              networkActivities_.addAll(other.networkActivities_);
            }
            onChanged();
          }
        } else {
          if (!other.networkActivities_.isEmpty()) {
            if (networkActivitiesBuilder_.isEmpty()) {
              networkActivitiesBuilder_.dispose();
              networkActivitiesBuilder_ = null;
              networkActivities_ = other.networkActivities_;
              bitField0_ = (bitField0_ & ~0x00000200);
              networkActivitiesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getNetworkActivitiesFieldBuilder() : null;
            } else {
              networkActivitiesBuilder_.addAllMessages(other.networkActivities_);
            }
          }
        }
        if (fileActivitiesBuilder_ == null) {
          if (!other.fileActivities_.isEmpty()) {
            if (fileActivities_.isEmpty()) {
              fileActivities_ = other.fileActivities_;
              bitField0_ = (bitField0_ & ~0x00000400);
            } else {
              ensureFileActivitiesIsMutable();
              fileActivities_.addAll(other.fileActivities_);
            }
            onChanged();
          }
        } else {
          if (!other.fileActivities_.isEmpty()) {
            if (fileActivitiesBuilder_.isEmpty()) {
              fileActivitiesBuilder_.dispose();
              fileActivitiesBuilder_ = null;
              fileActivities_ = other.fileActivities_;
              bitField0_ = (bitField0_ & ~0x00000400);
              fileActivitiesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getFileActivitiesFieldBuilder() : null;
            } else {
              fileActivitiesBuilder_.addAllMessages(other.fileActivities_);
            }
          }
        }
        if (childProcessActivitiesBuilder_ == null) {
          if (!other.childProcessActivities_.isEmpty()) {
            if (childProcessActivities_.isEmpty()) {
              childProcessActivities_ = other.childProcessActivities_;
              bitField0_ = (bitField0_ & ~0x00000800);
            } else {
              ensureChildProcessActivitiesIsMutable();
              childProcessActivities_.addAll(other.childProcessActivities_);
            }
            onChanged();
          }
        } else {
          if (!other.childProcessActivities_.isEmpty()) {
            if (childProcessActivitiesBuilder_.isEmpty()) {
              childProcessActivitiesBuilder_.dispose();
              childProcessActivitiesBuilder_ = null;
              childProcessActivities_ = other.childProcessActivities_;
              bitField0_ = (bitField0_ & ~0x00000800);
              childProcessActivitiesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getChildProcessActivitiesFieldBuilder() : null;
            } else {
              childProcessActivitiesBuilder_.addAllMessages(other.childProcessActivities_);
            }
          }
        }
        if (sensitiveActivitiesBuilder_ == null) {
          if (!other.sensitiveActivities_.isEmpty()) {
            if (sensitiveActivities_.isEmpty()) {
              sensitiveActivities_ = other.sensitiveActivities_;
              bitField0_ = (bitField0_ & ~0x00001000);
            } else {
              ensureSensitiveActivitiesIsMutable();
              sensitiveActivities_.addAll(other.sensitiveActivities_);
            }
            onChanged();
          }
        } else {
          if (!other.sensitiveActivities_.isEmpty()) {
            if (sensitiveActivitiesBuilder_.isEmpty()) {
              sensitiveActivitiesBuilder_.dispose();
              sensitiveActivitiesBuilder_ = null;
              sensitiveActivities_ = other.sensitiveActivities_;
              bitField0_ = (bitField0_ & ~0x00001000);
              sensitiveActivitiesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getSensitiveActivitiesFieldBuilder() : null;
            } else {
              sensitiveActivitiesBuilder_.addAllMessages(other.sensitiveActivities_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private java.lang.Object pid_ = "";
      /**
       * <pre>
       * Start new processes
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public java.lang.String getPid() {
        java.lang.Object ref = pid_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          pid_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Start new processes
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public com.google.protobuf.ByteString
          getPidBytes() {
        java.lang.Object ref = pid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          pid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Start new processes
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public Builder setPid(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pid_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Start new processes
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public Builder clearPid() {
        
        pid_ = getDefaultInstance().getPid();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Start new processes
       * </pre>
       *
       * <code>string pid = 1;</code>
       */
      public Builder setPidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        pid_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cmdline_ = "";
      /**
       * <code>string cmdline = 2;</code>
       */
      public java.lang.String getCmdline() {
        java.lang.Object ref = cmdline_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          cmdline_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public com.google.protobuf.ByteString
          getCmdlineBytes() {
        java.lang.Object ref = cmdline_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cmdline_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public Builder setCmdline(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cmdline_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public Builder clearCmdline() {
        
        cmdline_ = getDefaultInstance().getCmdline();
        onChanged();
        return this;
      }
      /**
       * <code>string cmdline = 2;</code>
       */
      public Builder setCmdlineBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cmdline_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object exe_ = "";
      /**
       * <code>string exe = 3;</code>
       */
      public java.lang.String getExe() {
        java.lang.Object ref = exe_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          exe_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string exe = 3;</code>
       */
      public com.google.protobuf.ByteString
          getExeBytes() {
        java.lang.Object ref = exe_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          exe_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string exe = 3;</code>
       */
      public Builder setExe(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        exe_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string exe = 3;</code>
       */
      public Builder clearExe() {
        
        exe_ = getDefaultInstance().getExe();
        onChanged();
        return this;
      }
      /**
       * <code>string exe = 3;</code>
       */
      public Builder setExeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        exe_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cwd_ = "";
      /**
       * <code>string cwd = 4;</code>
       */
      public java.lang.String getCwd() {
        java.lang.Object ref = cwd_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          cwd_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public com.google.protobuf.ByteString
          getCwdBytes() {
        java.lang.Object ref = cwd_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cwd_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public Builder setCwd(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cwd_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public Builder clearCwd() {
        
        cwd_ = getDefaultInstance().getCwd();
        onChanged();
        return this;
      }
      /**
       * <code>string cwd = 4;</code>
       */
      public Builder setCwdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cwd_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object root_ = "";
      /**
       * <code>string root = 5;</code>
       */
      public java.lang.String getRoot() {
        java.lang.Object ref = root_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          root_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string root = 5;</code>
       */
      public com.google.protobuf.ByteString
          getRootBytes() {
        java.lang.Object ref = root_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          root_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string root = 5;</code>
       */
      public Builder setRoot(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        root_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string root = 5;</code>
       */
      public Builder clearRoot() {
        
        root_ = getDefaultInstance().getRoot();
        onChanged();
        return this;
      }
      /**
       * <code>string root = 5;</code>
       */
      public Builder setRootBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        root_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ppid_ = "";
      /**
       * <code>string ppid = 6;</code>
       */
      public java.lang.String getPpid() {
        java.lang.Object ref = ppid_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ppid_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public com.google.protobuf.ByteString
          getPpidBytes() {
        java.lang.Object ref = ppid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ppid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public Builder setPpid(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ppid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public Builder clearPpid() {
        
        ppid_ = getDefaultInstance().getPpid();
        onChanged();
        return this;
      }
      /**
       * <code>string ppid = 6;</code>
       */
      public Builder setPpidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ppid_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object user_ = "";
      /**
       * <code>string user = 7;</code>
       */
      public java.lang.String getUser() {
        java.lang.Object ref = user_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          user_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string user = 7;</code>
       */
      public com.google.protobuf.ByteString
          getUserBytes() {
        java.lang.Object ref = user_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          user_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string user = 7;</code>
       */
      public Builder setUser(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        user_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string user = 7;</code>
       */
      public Builder clearUser() {
        
        user_ = getDefaultInstance().getUser();
        onChanged();
        return this;
      }
      /**
       * <code>string user = 7;</code>
       */
      public Builder setUserBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        user_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object permission_ = "";
      /**
       * <code>string permission = 8;</code>
       */
      public java.lang.String getPermission() {
        java.lang.Object ref = permission_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          permission_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string permission = 8;</code>
       */
      public com.google.protobuf.ByteString
          getPermissionBytes() {
        java.lang.Object ref = permission_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          permission_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string permission = 8;</code>
       */
      public Builder setPermission(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        permission_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string permission = 8;</code>
       */
      public Builder clearPermission() {
        
        permission_ = getDefaultInstance().getPermission();
        onChanged();
        return this;
      }
      /**
       * <code>string permission = 8;</code>
       */
      public Builder setPermissionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        permission_ = value;
        onChanged();
        return this;
      }

      private boolean mainProcess_ ;
      /**
       * <code>bool main_process = 9;</code>
       */
      public boolean getMainProcess() {
        return mainProcess_;
      }
      /**
       * <code>bool main_process = 9;</code>
       */
      public Builder setMainProcess(boolean value) {
        
        mainProcess_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool main_process = 9;</code>
       */
      public Builder clearMainProcess() {
        
        mainProcess_ = false;
        onChanged();
        return this;
      }

      private java.util.List<proto.Behavior.NetworkActivity> networkActivities_ =
        java.util.Collections.emptyList();
      private void ensureNetworkActivitiesIsMutable() {
        if (!((bitField0_ & 0x00000200) == 0x00000200)) {
          networkActivities_ = new java.util.ArrayList<proto.Behavior.NetworkActivity>(networkActivities_);
          bitField0_ |= 0x00000200;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.NetworkActivity, proto.Behavior.NetworkActivity.Builder, proto.Behavior.NetworkActivityOrBuilder> networkActivitiesBuilder_;

      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public java.util.List<proto.Behavior.NetworkActivity> getNetworkActivitiesList() {
        if (networkActivitiesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(networkActivities_);
        } else {
          return networkActivitiesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public int getNetworkActivitiesCount() {
        if (networkActivitiesBuilder_ == null) {
          return networkActivities_.size();
        } else {
          return networkActivitiesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public proto.Behavior.NetworkActivity getNetworkActivities(int index) {
        if (networkActivitiesBuilder_ == null) {
          return networkActivities_.get(index);
        } else {
          return networkActivitiesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder setNetworkActivities(
          int index, proto.Behavior.NetworkActivity value) {
        if (networkActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNetworkActivitiesIsMutable();
          networkActivities_.set(index, value);
          onChanged();
        } else {
          networkActivitiesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder setNetworkActivities(
          int index, proto.Behavior.NetworkActivity.Builder builderForValue) {
        if (networkActivitiesBuilder_ == null) {
          ensureNetworkActivitiesIsMutable();
          networkActivities_.set(index, builderForValue.build());
          onChanged();
        } else {
          networkActivitiesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder addNetworkActivities(proto.Behavior.NetworkActivity value) {
        if (networkActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNetworkActivitiesIsMutable();
          networkActivities_.add(value);
          onChanged();
        } else {
          networkActivitiesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder addNetworkActivities(
          int index, proto.Behavior.NetworkActivity value) {
        if (networkActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNetworkActivitiesIsMutable();
          networkActivities_.add(index, value);
          onChanged();
        } else {
          networkActivitiesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder addNetworkActivities(
          proto.Behavior.NetworkActivity.Builder builderForValue) {
        if (networkActivitiesBuilder_ == null) {
          ensureNetworkActivitiesIsMutable();
          networkActivities_.add(builderForValue.build());
          onChanged();
        } else {
          networkActivitiesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder addNetworkActivities(
          int index, proto.Behavior.NetworkActivity.Builder builderForValue) {
        if (networkActivitiesBuilder_ == null) {
          ensureNetworkActivitiesIsMutable();
          networkActivities_.add(index, builderForValue.build());
          onChanged();
        } else {
          networkActivitiesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder addAllNetworkActivities(
          java.lang.Iterable<? extends proto.Behavior.NetworkActivity> values) {
        if (networkActivitiesBuilder_ == null) {
          ensureNetworkActivitiesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, networkActivities_);
          onChanged();
        } else {
          networkActivitiesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder clearNetworkActivities() {
        if (networkActivitiesBuilder_ == null) {
          networkActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000200);
          onChanged();
        } else {
          networkActivitiesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public Builder removeNetworkActivities(int index) {
        if (networkActivitiesBuilder_ == null) {
          ensureNetworkActivitiesIsMutable();
          networkActivities_.remove(index);
          onChanged();
        } else {
          networkActivitiesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public proto.Behavior.NetworkActivity.Builder getNetworkActivitiesBuilder(
          int index) {
        return getNetworkActivitiesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public proto.Behavior.NetworkActivityOrBuilder getNetworkActivitiesOrBuilder(
          int index) {
        if (networkActivitiesBuilder_ == null) {
          return networkActivities_.get(index);  } else {
          return networkActivitiesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public java.util.List<? extends proto.Behavior.NetworkActivityOrBuilder> 
           getNetworkActivitiesOrBuilderList() {
        if (networkActivitiesBuilder_ != null) {
          return networkActivitiesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(networkActivities_);
        }
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public proto.Behavior.NetworkActivity.Builder addNetworkActivitiesBuilder() {
        return getNetworkActivitiesFieldBuilder().addBuilder(
            proto.Behavior.NetworkActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public proto.Behavior.NetworkActivity.Builder addNetworkActivitiesBuilder(
          int index) {
        return getNetworkActivitiesFieldBuilder().addBuilder(
            index, proto.Behavior.NetworkActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.NetworkActivity network_activities = 10;</code>
       */
      public java.util.List<proto.Behavior.NetworkActivity.Builder> 
           getNetworkActivitiesBuilderList() {
        return getNetworkActivitiesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.NetworkActivity, proto.Behavior.NetworkActivity.Builder, proto.Behavior.NetworkActivityOrBuilder> 
          getNetworkActivitiesFieldBuilder() {
        if (networkActivitiesBuilder_ == null) {
          networkActivitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              proto.Behavior.NetworkActivity, proto.Behavior.NetworkActivity.Builder, proto.Behavior.NetworkActivityOrBuilder>(
                  networkActivities_,
                  ((bitField0_ & 0x00000200) == 0x00000200),
                  getParentForChildren(),
                  isClean());
          networkActivities_ = null;
        }
        return networkActivitiesBuilder_;
      }

      private java.util.List<proto.Behavior.FileActivity> fileActivities_ =
        java.util.Collections.emptyList();
      private void ensureFileActivitiesIsMutable() {
        if (!((bitField0_ & 0x00000400) == 0x00000400)) {
          fileActivities_ = new java.util.ArrayList<proto.Behavior.FileActivity>(fileActivities_);
          bitField0_ |= 0x00000400;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.FileActivity, proto.Behavior.FileActivity.Builder, proto.Behavior.FileActivityOrBuilder> fileActivitiesBuilder_;

      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public java.util.List<proto.Behavior.FileActivity> getFileActivitiesList() {
        if (fileActivitiesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(fileActivities_);
        } else {
          return fileActivitiesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public int getFileActivitiesCount() {
        if (fileActivitiesBuilder_ == null) {
          return fileActivities_.size();
        } else {
          return fileActivitiesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public proto.Behavior.FileActivity getFileActivities(int index) {
        if (fileActivitiesBuilder_ == null) {
          return fileActivities_.get(index);
        } else {
          return fileActivitiesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder setFileActivities(
          int index, proto.Behavior.FileActivity value) {
        if (fileActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFileActivitiesIsMutable();
          fileActivities_.set(index, value);
          onChanged();
        } else {
          fileActivitiesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder setFileActivities(
          int index, proto.Behavior.FileActivity.Builder builderForValue) {
        if (fileActivitiesBuilder_ == null) {
          ensureFileActivitiesIsMutable();
          fileActivities_.set(index, builderForValue.build());
          onChanged();
        } else {
          fileActivitiesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder addFileActivities(proto.Behavior.FileActivity value) {
        if (fileActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFileActivitiesIsMutable();
          fileActivities_.add(value);
          onChanged();
        } else {
          fileActivitiesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder addFileActivities(
          int index, proto.Behavior.FileActivity value) {
        if (fileActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFileActivitiesIsMutable();
          fileActivities_.add(index, value);
          onChanged();
        } else {
          fileActivitiesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder addFileActivities(
          proto.Behavior.FileActivity.Builder builderForValue) {
        if (fileActivitiesBuilder_ == null) {
          ensureFileActivitiesIsMutable();
          fileActivities_.add(builderForValue.build());
          onChanged();
        } else {
          fileActivitiesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder addFileActivities(
          int index, proto.Behavior.FileActivity.Builder builderForValue) {
        if (fileActivitiesBuilder_ == null) {
          ensureFileActivitiesIsMutable();
          fileActivities_.add(index, builderForValue.build());
          onChanged();
        } else {
          fileActivitiesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder addAllFileActivities(
          java.lang.Iterable<? extends proto.Behavior.FileActivity> values) {
        if (fileActivitiesBuilder_ == null) {
          ensureFileActivitiesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, fileActivities_);
          onChanged();
        } else {
          fileActivitiesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder clearFileActivities() {
        if (fileActivitiesBuilder_ == null) {
          fileActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000400);
          onChanged();
        } else {
          fileActivitiesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public Builder removeFileActivities(int index) {
        if (fileActivitiesBuilder_ == null) {
          ensureFileActivitiesIsMutable();
          fileActivities_.remove(index);
          onChanged();
        } else {
          fileActivitiesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public proto.Behavior.FileActivity.Builder getFileActivitiesBuilder(
          int index) {
        return getFileActivitiesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public proto.Behavior.FileActivityOrBuilder getFileActivitiesOrBuilder(
          int index) {
        if (fileActivitiesBuilder_ == null) {
          return fileActivities_.get(index);  } else {
          return fileActivitiesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public java.util.List<? extends proto.Behavior.FileActivityOrBuilder> 
           getFileActivitiesOrBuilderList() {
        if (fileActivitiesBuilder_ != null) {
          return fileActivitiesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(fileActivities_);
        }
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public proto.Behavior.FileActivity.Builder addFileActivitiesBuilder() {
        return getFileActivitiesFieldBuilder().addBuilder(
            proto.Behavior.FileActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public proto.Behavior.FileActivity.Builder addFileActivitiesBuilder(
          int index) {
        return getFileActivitiesFieldBuilder().addBuilder(
            index, proto.Behavior.FileActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.FileActivity file_activities = 11;</code>
       */
      public java.util.List<proto.Behavior.FileActivity.Builder> 
           getFileActivitiesBuilderList() {
        return getFileActivitiesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.FileActivity, proto.Behavior.FileActivity.Builder, proto.Behavior.FileActivityOrBuilder> 
          getFileActivitiesFieldBuilder() {
        if (fileActivitiesBuilder_ == null) {
          fileActivitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              proto.Behavior.FileActivity, proto.Behavior.FileActivity.Builder, proto.Behavior.FileActivityOrBuilder>(
                  fileActivities_,
                  ((bitField0_ & 0x00000400) == 0x00000400),
                  getParentForChildren(),
                  isClean());
          fileActivities_ = null;
        }
        return fileActivitiesBuilder_;
      }

      private java.util.List<proto.Behavior.ProcessActivity> childProcessActivities_ =
        java.util.Collections.emptyList();
      private void ensureChildProcessActivitiesIsMutable() {
        if (!((bitField0_ & 0x00000800) == 0x00000800)) {
          childProcessActivities_ = new java.util.ArrayList<proto.Behavior.ProcessActivity>(childProcessActivities_);
          bitField0_ |= 0x00000800;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder> childProcessActivitiesBuilder_;

      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public java.util.List<proto.Behavior.ProcessActivity> getChildProcessActivitiesList() {
        if (childProcessActivitiesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(childProcessActivities_);
        } else {
          return childProcessActivitiesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public int getChildProcessActivitiesCount() {
        if (childProcessActivitiesBuilder_ == null) {
          return childProcessActivities_.size();
        } else {
          return childProcessActivitiesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public proto.Behavior.ProcessActivity getChildProcessActivities(int index) {
        if (childProcessActivitiesBuilder_ == null) {
          return childProcessActivities_.get(index);
        } else {
          return childProcessActivitiesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder setChildProcessActivities(
          int index, proto.Behavior.ProcessActivity value) {
        if (childProcessActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureChildProcessActivitiesIsMutable();
          childProcessActivities_.set(index, value);
          onChanged();
        } else {
          childProcessActivitiesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder setChildProcessActivities(
          int index, proto.Behavior.ProcessActivity.Builder builderForValue) {
        if (childProcessActivitiesBuilder_ == null) {
          ensureChildProcessActivitiesIsMutable();
          childProcessActivities_.set(index, builderForValue.build());
          onChanged();
        } else {
          childProcessActivitiesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder addChildProcessActivities(proto.Behavior.ProcessActivity value) {
        if (childProcessActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureChildProcessActivitiesIsMutable();
          childProcessActivities_.add(value);
          onChanged();
        } else {
          childProcessActivitiesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder addChildProcessActivities(
          int index, proto.Behavior.ProcessActivity value) {
        if (childProcessActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureChildProcessActivitiesIsMutable();
          childProcessActivities_.add(index, value);
          onChanged();
        } else {
          childProcessActivitiesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder addChildProcessActivities(
          proto.Behavior.ProcessActivity.Builder builderForValue) {
        if (childProcessActivitiesBuilder_ == null) {
          ensureChildProcessActivitiesIsMutable();
          childProcessActivities_.add(builderForValue.build());
          onChanged();
        } else {
          childProcessActivitiesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder addChildProcessActivities(
          int index, proto.Behavior.ProcessActivity.Builder builderForValue) {
        if (childProcessActivitiesBuilder_ == null) {
          ensureChildProcessActivitiesIsMutable();
          childProcessActivities_.add(index, builderForValue.build());
          onChanged();
        } else {
          childProcessActivitiesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder addAllChildProcessActivities(
          java.lang.Iterable<? extends proto.Behavior.ProcessActivity> values) {
        if (childProcessActivitiesBuilder_ == null) {
          ensureChildProcessActivitiesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, childProcessActivities_);
          onChanged();
        } else {
          childProcessActivitiesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder clearChildProcessActivities() {
        if (childProcessActivitiesBuilder_ == null) {
          childProcessActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000800);
          onChanged();
        } else {
          childProcessActivitiesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public Builder removeChildProcessActivities(int index) {
        if (childProcessActivitiesBuilder_ == null) {
          ensureChildProcessActivitiesIsMutable();
          childProcessActivities_.remove(index);
          onChanged();
        } else {
          childProcessActivitiesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public proto.Behavior.ProcessActivity.Builder getChildProcessActivitiesBuilder(
          int index) {
        return getChildProcessActivitiesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public proto.Behavior.ProcessActivityOrBuilder getChildProcessActivitiesOrBuilder(
          int index) {
        if (childProcessActivitiesBuilder_ == null) {
          return childProcessActivities_.get(index);  } else {
          return childProcessActivitiesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public java.util.List<? extends proto.Behavior.ProcessActivityOrBuilder> 
           getChildProcessActivitiesOrBuilderList() {
        if (childProcessActivitiesBuilder_ != null) {
          return childProcessActivitiesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(childProcessActivities_);
        }
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public proto.Behavior.ProcessActivity.Builder addChildProcessActivitiesBuilder() {
        return getChildProcessActivitiesFieldBuilder().addBuilder(
            proto.Behavior.ProcessActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public proto.Behavior.ProcessActivity.Builder addChildProcessActivitiesBuilder(
          int index) {
        return getChildProcessActivitiesFieldBuilder().addBuilder(
            index, proto.Behavior.ProcessActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.ProcessActivity child_process_activities = 12;</code>
       */
      public java.util.List<proto.Behavior.ProcessActivity.Builder> 
           getChildProcessActivitiesBuilderList() {
        return getChildProcessActivitiesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder> 
          getChildProcessActivitiesFieldBuilder() {
        if (childProcessActivitiesBuilder_ == null) {
          childProcessActivitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder>(
                  childProcessActivities_,
                  ((bitField0_ & 0x00000800) == 0x00000800),
                  getParentForChildren(),
                  isClean());
          childProcessActivities_ = null;
        }
        return childProcessActivitiesBuilder_;
      }

      private java.util.List<proto.Behavior.SensitivenActivity> sensitiveActivities_ =
        java.util.Collections.emptyList();
      private void ensureSensitiveActivitiesIsMutable() {
        if (!((bitField0_ & 0x00001000) == 0x00001000)) {
          sensitiveActivities_ = new java.util.ArrayList<proto.Behavior.SensitivenActivity>(sensitiveActivities_);
          bitField0_ |= 0x00001000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.SensitivenActivity, proto.Behavior.SensitivenActivity.Builder, proto.Behavior.SensitivenActivityOrBuilder> sensitiveActivitiesBuilder_;

      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public java.util.List<proto.Behavior.SensitivenActivity> getSensitiveActivitiesList() {
        if (sensitiveActivitiesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(sensitiveActivities_);
        } else {
          return sensitiveActivitiesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public int getSensitiveActivitiesCount() {
        if (sensitiveActivitiesBuilder_ == null) {
          return sensitiveActivities_.size();
        } else {
          return sensitiveActivitiesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public proto.Behavior.SensitivenActivity getSensitiveActivities(int index) {
        if (sensitiveActivitiesBuilder_ == null) {
          return sensitiveActivities_.get(index);
        } else {
          return sensitiveActivitiesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder setSensitiveActivities(
          int index, proto.Behavior.SensitivenActivity value) {
        if (sensitiveActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSensitiveActivitiesIsMutable();
          sensitiveActivities_.set(index, value);
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder setSensitiveActivities(
          int index, proto.Behavior.SensitivenActivity.Builder builderForValue) {
        if (sensitiveActivitiesBuilder_ == null) {
          ensureSensitiveActivitiesIsMutable();
          sensitiveActivities_.set(index, builderForValue.build());
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder addSensitiveActivities(proto.Behavior.SensitivenActivity value) {
        if (sensitiveActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSensitiveActivitiesIsMutable();
          sensitiveActivities_.add(value);
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder addSensitiveActivities(
          int index, proto.Behavior.SensitivenActivity value) {
        if (sensitiveActivitiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSensitiveActivitiesIsMutable();
          sensitiveActivities_.add(index, value);
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder addSensitiveActivities(
          proto.Behavior.SensitivenActivity.Builder builderForValue) {
        if (sensitiveActivitiesBuilder_ == null) {
          ensureSensitiveActivitiesIsMutable();
          sensitiveActivities_.add(builderForValue.build());
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder addSensitiveActivities(
          int index, proto.Behavior.SensitivenActivity.Builder builderForValue) {
        if (sensitiveActivitiesBuilder_ == null) {
          ensureSensitiveActivitiesIsMutable();
          sensitiveActivities_.add(index, builderForValue.build());
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder addAllSensitiveActivities(
          java.lang.Iterable<? extends proto.Behavior.SensitivenActivity> values) {
        if (sensitiveActivitiesBuilder_ == null) {
          ensureSensitiveActivitiesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, sensitiveActivities_);
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder clearSensitiveActivities() {
        if (sensitiveActivitiesBuilder_ == null) {
          sensitiveActivities_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00001000);
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public Builder removeSensitiveActivities(int index) {
        if (sensitiveActivitiesBuilder_ == null) {
          ensureSensitiveActivitiesIsMutable();
          sensitiveActivities_.remove(index);
          onChanged();
        } else {
          sensitiveActivitiesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public proto.Behavior.SensitivenActivity.Builder getSensitiveActivitiesBuilder(
          int index) {
        return getSensitiveActivitiesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public proto.Behavior.SensitivenActivityOrBuilder getSensitiveActivitiesOrBuilder(
          int index) {
        if (sensitiveActivitiesBuilder_ == null) {
          return sensitiveActivities_.get(index);  } else {
          return sensitiveActivitiesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public java.util.List<? extends proto.Behavior.SensitivenActivityOrBuilder> 
           getSensitiveActivitiesOrBuilderList() {
        if (sensitiveActivitiesBuilder_ != null) {
          return sensitiveActivitiesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(sensitiveActivities_);
        }
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public proto.Behavior.SensitivenActivity.Builder addSensitiveActivitiesBuilder() {
        return getSensitiveActivitiesFieldBuilder().addBuilder(
            proto.Behavior.SensitivenActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public proto.Behavior.SensitivenActivity.Builder addSensitiveActivitiesBuilder(
          int index) {
        return getSensitiveActivitiesFieldBuilder().addBuilder(
            index, proto.Behavior.SensitivenActivity.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.SensitivenActivity sensitive_activities = 13;</code>
       */
      public java.util.List<proto.Behavior.SensitivenActivity.Builder> 
           getSensitiveActivitiesBuilderList() {
        return getSensitiveActivitiesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.SensitivenActivity, proto.Behavior.SensitivenActivity.Builder, proto.Behavior.SensitivenActivityOrBuilder> 
          getSensitiveActivitiesFieldBuilder() {
        if (sensitiveActivitiesBuilder_ == null) {
          sensitiveActivitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              proto.Behavior.SensitivenActivity, proto.Behavior.SensitivenActivity.Builder, proto.Behavior.SensitivenActivityOrBuilder>(
                  sensitiveActivities_,
                  ((bitField0_ & 0x00001000) == 0x00001000),
                  getParentForChildren(),
                  isClean());
          sensitiveActivities_ = null;
        }
        return sensitiveActivitiesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.ProcessActivity)
    }

    // @@protoc_insertion_point(class_scope:proto.ProcessActivity)
    private static final proto.Behavior.ProcessActivity DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.ProcessActivity();
    }

    public static proto.Behavior.ProcessActivity getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.ProcessActivity getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DynamicAnalysisOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.DynamicAnalysis)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    int getAnalysisTypeValue();
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    proto.Behavior.AnalysisType getAnalysisType();

    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    int getExeTypeValue();
    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    proto.Behavior.ExecutionType getExeType();

    /**
     * <pre>
     * User running the program, e.g. root, maloss etc.
     * </pre>
     *
     * <code>string exe_user = 3;</code>
     */
    java.lang.String getExeUser();
    /**
     * <pre>
     * User running the program, e.g. root, maloss etc.
     * </pre>
     *
     * <code>string exe_user = 3;</code>
     */
    com.google.protobuf.ByteString
        getExeUserBytes();

    /**
     * <code>string timestamp = 4;</code>
     */
    java.lang.String getTimestamp();
    /**
     * <code>string timestamp = 4;</code>
     */
    com.google.protobuf.ByteString
        getTimestampBytes();

    /**
     * <code>string end_timestamp = 5;</code>
     */
    java.lang.String getEndTimestamp();
    /**
     * <code>string end_timestamp = 5;</code>
     */
    com.google.protobuf.ByteString
        getEndTimestampBytes();

    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    boolean hasProcessActivity();
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    proto.Behavior.ProcessActivity getProcessActivity();
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    proto.Behavior.ProcessActivityOrBuilder getProcessActivityOrBuilder();
  }
  /**
   * Protobuf type {@code proto.DynamicAnalysis}
   */
  public  static final class DynamicAnalysis extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.DynamicAnalysis)
      DynamicAnalysisOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DynamicAnalysis.newBuilder() to construct.
    private DynamicAnalysis(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DynamicAnalysis() {
      analysisType_ = 0;
      exeType_ = 0;
      exeUser_ = "";
      timestamp_ = "";
      endTimestamp_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private DynamicAnalysis(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              int rawValue = input.readEnum();

              analysisType_ = rawValue;
              break;
            }
            case 16: {
              int rawValue = input.readEnum();

              exeType_ = rawValue;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              exeUser_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              timestamp_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              endTimestamp_ = s;
              break;
            }
            case 50: {
              proto.Behavior.ProcessActivity.Builder subBuilder = null;
              if (processActivity_ != null) {
                subBuilder = processActivity_.toBuilder();
              }
              processActivity_ = input.readMessage(proto.Behavior.ProcessActivity.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(processActivity_);
                processActivity_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_DynamicAnalysis_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_DynamicAnalysis_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.DynamicAnalysis.class, proto.Behavior.DynamicAnalysis.Builder.class);
    }

    public static final int ANALYSIS_TYPE_FIELD_NUMBER = 1;
    private int analysisType_;
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    public int getAnalysisTypeValue() {
      return analysisType_;
    }
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    public proto.Behavior.AnalysisType getAnalysisType() {
      @SuppressWarnings("deprecation")
      proto.Behavior.AnalysisType result = proto.Behavior.AnalysisType.valueOf(analysisType_);
      return result == null ? proto.Behavior.AnalysisType.UNRECOGNIZED : result;
    }

    public static final int EXE_TYPE_FIELD_NUMBER = 2;
    private int exeType_;
    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    public int getExeTypeValue() {
      return exeType_;
    }
    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    public proto.Behavior.ExecutionType getExeType() {
      @SuppressWarnings("deprecation")
      proto.Behavior.ExecutionType result = proto.Behavior.ExecutionType.valueOf(exeType_);
      return result == null ? proto.Behavior.ExecutionType.UNRECOGNIZED : result;
    }

    public static final int EXE_USER_FIELD_NUMBER = 3;
    private volatile java.lang.Object exeUser_;
    /**
     * <pre>
     * User running the program, e.g. root, maloss etc.
     * </pre>
     *
     * <code>string exe_user = 3;</code>
     */
    public java.lang.String getExeUser() {
      java.lang.Object ref = exeUser_;
      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();
        exeUser_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * User running the program, e.g. root, maloss etc.
     * </pre>
     *
     * <code>string exe_user = 3;</code>
     */
    public com.google.protobuf.ByteString
        getExeUserBytes() {
      java.lang.Object ref = exeUser_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        exeUser_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private volatile java.lang.Object timestamp_;
    /**
     * <code>string timestamp = 4;</code>
     */
    public java.lang.String getTimestamp() {
      java.lang.Object ref = timestamp_;
      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();
        timestamp_ = s;
        return s;
      }
    }
    /**
     * <code>string timestamp = 4;</code>
     */
    public com.google.protobuf.ByteString
        getTimestampBytes() {
      java.lang.Object ref = timestamp_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timestamp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int END_TIMESTAMP_FIELD_NUMBER = 5;
    private volatile java.lang.Object endTimestamp_;
    /**
     * <code>string end_timestamp = 5;</code>
     */
    public java.lang.String getEndTimestamp() {
      java.lang.Object ref = endTimestamp_;
      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();
        endTimestamp_ = s;
        return s;
      }
    }
    /**
     * <code>string end_timestamp = 5;</code>
     */
    public com.google.protobuf.ByteString
        getEndTimestampBytes() {
      java.lang.Object ref = endTimestamp_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        endTimestamp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PROCESS_ACTIVITY_FIELD_NUMBER = 6;
    private proto.Behavior.ProcessActivity processActivity_;
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    public boolean hasProcessActivity() {
      return processActivity_ != null;
    }
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    public proto.Behavior.ProcessActivity getProcessActivity() {
      return processActivity_ == null ? proto.Behavior.ProcessActivity.getDefaultInstance() : processActivity_;
    }
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    public proto.Behavior.ProcessActivityOrBuilder getProcessActivityOrBuilder() {
      return getProcessActivity();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (analysisType_ != proto.Behavior.AnalysisType.API_USAGE.getNumber()) {
        output.writeEnum(1, analysisType_);
      }
      if (exeType_ != proto.Behavior.ExecutionType.INSTALL.getNumber()) {
        output.writeEnum(2, exeType_);
      }
      if (!getExeUserBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, exeUser_);
      }
      if (!getTimestampBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, timestamp_);
      }
      if (!getEndTimestampBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, endTimestamp_);
      }
      if (processActivity_ != null) {
        output.writeMessage(6, getProcessActivity());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (analysisType_ != proto.Behavior.AnalysisType.API_USAGE.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, analysisType_);
      }
      if (exeType_ != proto.Behavior.ExecutionType.INSTALL.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, exeType_);
      }
      if (!getExeUserBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, exeUser_);
      }
      if (!getTimestampBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, timestamp_);
      }
      if (!getEndTimestampBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, endTimestamp_);
      }
      if (processActivity_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getProcessActivity());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.DynamicAnalysis)) {
        return super.equals(obj);
      }
      proto.Behavior.DynamicAnalysis other = (proto.Behavior.DynamicAnalysis) obj;

      boolean result = true;
      result = result && analysisType_ == other.analysisType_;
      result = result && exeType_ == other.exeType_;
      result = result && getExeUser()
          .equals(other.getExeUser());
      result = result && getTimestamp()
          .equals(other.getTimestamp());
      result = result && getEndTimestamp()
          .equals(other.getEndTimestamp());
      result = result && (hasProcessActivity() == other.hasProcessActivity());
      if (hasProcessActivity()) {
        result = result && getProcessActivity()
            .equals(other.getProcessActivity());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ANALYSIS_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + analysisType_;
      hash = (37 * hash) + EXE_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + exeType_;
      hash = (37 * hash) + EXE_USER_FIELD_NUMBER;
      hash = (53 * hash) + getExeUser().hashCode();
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + getTimestamp().hashCode();
      hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + getEndTimestamp().hashCode();
      if (hasProcessActivity()) {
        hash = (37 * hash) + PROCESS_ACTIVITY_FIELD_NUMBER;
        hash = (53 * hash) + getProcessActivity().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.DynamicAnalysis prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.DynamicAnalysis}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.DynamicAnalysis)
        proto.Behavior.DynamicAnalysisOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_DynamicAnalysis_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_DynamicAnalysis_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.DynamicAnalysis.class, proto.Behavior.DynamicAnalysis.Builder.class);
      }

      // Construct using proto.Behavior.DynamicAnalysis.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        exeType_ = 0;

        exeUser_ = "";

        timestamp_ = "";

        endTimestamp_ = "";

        if (processActivityBuilder_ == null) {
          processActivity_ = null;
        } else {
          processActivity_ = null;
          processActivityBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_DynamicAnalysis_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.DynamicAnalysis getDefaultInstanceForType() {
        return proto.Behavior.DynamicAnalysis.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.DynamicAnalysis build() {
        proto.Behavior.DynamicAnalysis result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.DynamicAnalysis buildPartial() {
        proto.Behavior.DynamicAnalysis result = new proto.Behavior.DynamicAnalysis(this);
        result.analysisType_ = analysisType_;
        result.exeType_ = exeType_;
        result.exeUser_ = exeUser_;
        result.timestamp_ = timestamp_;
        result.endTimestamp_ = endTimestamp_;
        if (processActivityBuilder_ == null) {
          result.processActivity_ = processActivity_;
        } else {
          result.processActivity_ = processActivityBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.DynamicAnalysis other) {
        if (other == proto.Behavior.DynamicAnalysis.getDefaultInstance()) return this;
        if (other.analysisType_ != 0) {
          setAnalysisTypeValue(other.getAnalysisTypeValue());
        }
        if (other.exeType_ != 0) {
          setExeTypeValue(other.getExeTypeValue());
        }
        if (!other.getExeUser().isEmpty()) {
          exeUser_ = other.exeUser_;
          onChanged();
        }
        if (!other.getTimestamp().isEmpty()) {
          timestamp_ = other.timestamp_;
          onChanged();
        }
        if (!other.getEndTimestamp().isEmpty()) {
          endTimestamp_ = other.endTimestamp_;
          onChanged();
        }
        if (other.hasProcessActivity()) {
          mergeProcessActivity(other.getProcessActivity());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int analysisType_ = 0;
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public int getAnalysisTypeValue() {
        return analysisType_;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder setAnalysisTypeValue(int value) {
        analysisType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public proto.Behavior.AnalysisType getAnalysisType() {
        @SuppressWarnings("deprecation")
        proto.Behavior.AnalysisType result = proto.Behavior.AnalysisType.valueOf(analysisType_);
        return result == null ? proto.Behavior.AnalysisType.UNRECOGNIZED : result;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder setAnalysisType(proto.Behavior.AnalysisType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        analysisType_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder clearAnalysisType() {
        
        analysisType_ = 0;
        onChanged();
        return this;
      }

      private int exeType_ = 0;
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public int getExeTypeValue() {
        return exeType_;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public Builder setExeTypeValue(int value) {
        exeType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public proto.Behavior.ExecutionType getExeType() {
        @SuppressWarnings("deprecation")
        proto.Behavior.ExecutionType result = proto.Behavior.ExecutionType.valueOf(exeType_);
        return result == null ? proto.Behavior.ExecutionType.UNRECOGNIZED : result;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public Builder setExeType(proto.Behavior.ExecutionType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        exeType_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public Builder clearExeType() {
        
        exeType_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object exeUser_ = "";
      /**
       * <pre>
       * User running the program, e.g. root, maloss etc.
       * </pre>
       *
       * <code>string exe_user = 3;</code>
       */
      public java.lang.String getExeUser() {
        java.lang.Object ref = exeUser_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          exeUser_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * User running the program, e.g. root, maloss etc.
       * </pre>
       *
       * <code>string exe_user = 3;</code>
       */
      public com.google.protobuf.ByteString
          getExeUserBytes() {
        java.lang.Object ref = exeUser_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          exeUser_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * User running the program, e.g. root, maloss etc.
       * </pre>
       *
       * <code>string exe_user = 3;</code>
       */
      public Builder setExeUser(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        exeUser_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * User running the program, e.g. root, maloss etc.
       * </pre>
       *
       * <code>string exe_user = 3;</code>
       */
      public Builder clearExeUser() {
        
        exeUser_ = getDefaultInstance().getExeUser();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * User running the program, e.g. root, maloss etc.
       * </pre>
       *
       * <code>string exe_user = 3;</code>
       */
      public Builder setExeUserBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        exeUser_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object timestamp_ = "";
      /**
       * <code>string timestamp = 4;</code>
       */
      public java.lang.String getTimestamp() {
        java.lang.Object ref = timestamp_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          timestamp_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public com.google.protobuf.ByteString
          getTimestampBytes() {
        java.lang.Object ref = timestamp_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          timestamp_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public Builder setTimestamp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public Builder clearTimestamp() {
        
        timestamp_ = getDefaultInstance().getTimestamp();
        onChanged();
        return this;
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public Builder setTimestampBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        timestamp_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object endTimestamp_ = "";
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public java.lang.String getEndTimestamp() {
        java.lang.Object ref = endTimestamp_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          endTimestamp_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public com.google.protobuf.ByteString
          getEndTimestampBytes() {
        java.lang.Object ref = endTimestamp_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          endTimestamp_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public Builder setEndTimestamp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        endTimestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public Builder clearEndTimestamp() {
        
        endTimestamp_ = getDefaultInstance().getEndTimestamp();
        onChanged();
        return this;
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public Builder setEndTimestampBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        endTimestamp_ = value;
        onChanged();
        return this;
      }

      private proto.Behavior.ProcessActivity processActivity_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder> processActivityBuilder_;
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public boolean hasProcessActivity() {
        return processActivityBuilder_ != null || processActivity_ != null;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public proto.Behavior.ProcessActivity getProcessActivity() {
        if (processActivityBuilder_ == null) {
          return processActivity_ == null ? proto.Behavior.ProcessActivity.getDefaultInstance() : processActivity_;
        } else {
          return processActivityBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder setProcessActivity(proto.Behavior.ProcessActivity value) {
        if (processActivityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          processActivity_ = value;
          onChanged();
        } else {
          processActivityBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder setProcessActivity(
          proto.Behavior.ProcessActivity.Builder builderForValue) {
        if (processActivityBuilder_ == null) {
          processActivity_ = builderForValue.build();
          onChanged();
        } else {
          processActivityBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder mergeProcessActivity(proto.Behavior.ProcessActivity value) {
        if (processActivityBuilder_ == null) {
          if (processActivity_ != null) {
            processActivity_ =
              proto.Behavior.ProcessActivity.newBuilder(processActivity_).mergeFrom(value).buildPartial();
          } else {
            processActivity_ = value;
          }
          onChanged();
        } else {
          processActivityBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder clearProcessActivity() {
        if (processActivityBuilder_ == null) {
          processActivity_ = null;
          onChanged();
        } else {
          processActivity_ = null;
          processActivityBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public proto.Behavior.ProcessActivity.Builder getProcessActivityBuilder() {
        
        onChanged();
        return getProcessActivityFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public proto.Behavior.ProcessActivityOrBuilder getProcessActivityOrBuilder() {
        if (processActivityBuilder_ != null) {
          return processActivityBuilder_.getMessageOrBuilder();
        } else {
          return processActivity_ == null ?
              proto.Behavior.ProcessActivity.getDefaultInstance() : processActivity_;
        }
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder> 
          getProcessActivityFieldBuilder() {
        if (processActivityBuilder_ == null) {
          processActivityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder>(
                  getProcessActivity(),
                  getParentForChildren(),
                  isClean());
          processActivity_ = null;
        }
        return processActivityBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.DynamicAnalysis)
    }

    // @@protoc_insertion_point(class_scope:proto.DynamicAnalysis)
    private static final proto.Behavior.DynamicAnalysis DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.DynamicAnalysis();
    }

    public static proto.Behavior.DynamicAnalysis getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.DynamicAnalysis getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StaticAnalysisOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.StaticAnalysis)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    int getAnalysisTypeValue();
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    proto.Behavior.AnalysisType getAnalysisType();

    /**
     * <code>string timestamp = 2;</code>
     */
    java.lang.String getTimestamp();
    /**
     * <code>string timestamp = 2;</code>
     */
    com.google.protobuf.ByteString
        getTimestampBytes();

    /**
     * <code>.proto.ModuleStatic code_activity = 3;</code>
     */
    boolean hasCodeActivity();
    /**
     * <code>.proto.ModuleStatic code_activity = 3;</code>
     */
    proto.Module.ModuleStatic getCodeActivity();
    /**
     * <code>.proto.ModuleStatic code_activity = 3;</code>
     */
    proto.Module.ModuleStaticOrBuilder getCodeActivityOrBuilder();
  }
  /**
   * Protobuf type {@code proto.StaticAnalysis}
   */
  public  static final class StaticAnalysis extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.StaticAnalysis)
      StaticAnalysisOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StaticAnalysis.newBuilder() to construct.
    private StaticAnalysis(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StaticAnalysis() {
      analysisType_ = 0;
      timestamp_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StaticAnalysis(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              int rawValue = input.readEnum();

              analysisType_ = rawValue;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              timestamp_ = s;
              break;
            }
            case 26: {
              proto.Module.ModuleStatic.Builder subBuilder = null;
              if (codeActivity_ != null) {
                subBuilder = codeActivity_.toBuilder();
              }
              codeActivity_ = input.readMessage(proto.Module.ModuleStatic.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(codeActivity_);
                codeActivity_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_StaticAnalysis_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_StaticAnalysis_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.StaticAnalysis.class, proto.Behavior.StaticAnalysis.Builder.class);
    }

    public static final int ANALYSIS_TYPE_FIELD_NUMBER = 1;
    private int analysisType_;
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    public int getAnalysisTypeValue() {
      return analysisType_;
    }
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    public proto.Behavior.AnalysisType getAnalysisType() {
      @SuppressWarnings("deprecation")
      proto.Behavior.AnalysisType result = proto.Behavior.AnalysisType.valueOf(analysisType_);
      return result == null ? proto.Behavior.AnalysisType.UNRECOGNIZED : result;
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 2;
    private volatile java.lang.Object timestamp_;
    /**
     * <code>string timestamp = 2;</code>
     */
    public java.lang.String getTimestamp() {
      java.lang.Object ref = timestamp_;
      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();
        timestamp_ = s;
        return s;
      }
    }
    /**
     * <code>string timestamp = 2;</code>
     */
    public com.google.protobuf.ByteString
        getTimestampBytes() {
      java.lang.Object ref = timestamp_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timestamp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CODE_ACTIVITY_FIELD_NUMBER = 3;
    private proto.Module.ModuleStatic codeActivity_;
    /**
     * <code>.proto.ModuleStatic code_activity = 3;</code>
     */
    public boolean hasCodeActivity() {
      return codeActivity_ != null;
    }
    /**
     * <code>.proto.ModuleStatic code_activity = 3;</code>
     */
    public proto.Module.ModuleStatic getCodeActivity() {
      return codeActivity_ == null ? proto.Module.ModuleStatic.getDefaultInstance() : codeActivity_;
    }
    /**
     * <code>.proto.ModuleStatic code_activity = 3;</code>
     */
    public proto.Module.ModuleStaticOrBuilder getCodeActivityOrBuilder() {
      return getCodeActivity();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (analysisType_ != proto.Behavior.AnalysisType.API_USAGE.getNumber()) {
        output.writeEnum(1, analysisType_);
      }
      if (!getTimestampBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, timestamp_);
      }
      if (codeActivity_ != null) {
        output.writeMessage(3, getCodeActivity());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (analysisType_ != proto.Behavior.AnalysisType.API_USAGE.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, analysisType_);
      }
      if (!getTimestampBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, timestamp_);
      }
      if (codeActivity_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getCodeActivity());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.StaticAnalysis)) {
        return super.equals(obj);
      }
      proto.Behavior.StaticAnalysis other = (proto.Behavior.StaticAnalysis) obj;

      boolean result = true;
      result = result && analysisType_ == other.analysisType_;
      result = result && getTimestamp()
          .equals(other.getTimestamp());
      result = result && (hasCodeActivity() == other.hasCodeActivity());
      if (hasCodeActivity()) {
        result = result && getCodeActivity()
            .equals(other.getCodeActivity());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ANALYSIS_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + analysisType_;
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + getTimestamp().hashCode();
      if (hasCodeActivity()) {
        hash = (37 * hash) + CODE_ACTIVITY_FIELD_NUMBER;
        hash = (53 * hash) + getCodeActivity().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.StaticAnalysis prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.StaticAnalysis}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.StaticAnalysis)
        proto.Behavior.StaticAnalysisOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_StaticAnalysis_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_StaticAnalysis_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.StaticAnalysis.class, proto.Behavior.StaticAnalysis.Builder.class);
      }

      // Construct using proto.Behavior.StaticAnalysis.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        timestamp_ = "";

        if (codeActivityBuilder_ == null) {
          codeActivity_ = null;
        } else {
          codeActivity_ = null;
          codeActivityBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_StaticAnalysis_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.StaticAnalysis getDefaultInstanceForType() {
        return proto.Behavior.StaticAnalysis.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.StaticAnalysis build() {
        proto.Behavior.StaticAnalysis result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.StaticAnalysis buildPartial() {
        proto.Behavior.StaticAnalysis result = new proto.Behavior.StaticAnalysis(this);
        result.analysisType_ = analysisType_;
        result.timestamp_ = timestamp_;
        if (codeActivityBuilder_ == null) {
          result.codeActivity_ = codeActivity_;
        } else {
          result.codeActivity_ = codeActivityBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.StaticAnalysis other) {
        if (other == proto.Behavior.StaticAnalysis.getDefaultInstance()) return this;
        if (other.analysisType_ != 0) {
          setAnalysisTypeValue(other.getAnalysisTypeValue());
        }
        if (!other.getTimestamp().isEmpty()) {
          timestamp_ = other.timestamp_;
          onChanged();
        }
        if (other.hasCodeActivity()) {
          mergeCodeActivity(other.getCodeActivity());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int analysisType_ = 0;
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public int getAnalysisTypeValue() {
        return analysisType_;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder setAnalysisTypeValue(int value) {
        analysisType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public proto.Behavior.AnalysisType getAnalysisType() {
        @SuppressWarnings("deprecation")
        proto.Behavior.AnalysisType result = proto.Behavior.AnalysisType.valueOf(analysisType_);
        return result == null ? proto.Behavior.AnalysisType.UNRECOGNIZED : result;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder setAnalysisType(proto.Behavior.AnalysisType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        analysisType_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder clearAnalysisType() {
        
        analysisType_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object timestamp_ = "";
      /**
       * <code>string timestamp = 2;</code>
       */
      public java.lang.String getTimestamp() {
        java.lang.Object ref = timestamp_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          timestamp_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string timestamp = 2;</code>
       */
      public com.google.protobuf.ByteString
          getTimestampBytes() {
        java.lang.Object ref = timestamp_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          timestamp_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string timestamp = 2;</code>
       */
      public Builder setTimestamp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string timestamp = 2;</code>
       */
      public Builder clearTimestamp() {
        
        timestamp_ = getDefaultInstance().getTimestamp();
        onChanged();
        return this;
      }
      /**
       * <code>string timestamp = 2;</code>
       */
      public Builder setTimestampBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        timestamp_ = value;
        onChanged();
        return this;
      }

      private proto.Module.ModuleStatic codeActivity_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Module.ModuleStatic, proto.Module.ModuleStatic.Builder, proto.Module.ModuleStaticOrBuilder> codeActivityBuilder_;
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public boolean hasCodeActivity() {
        return codeActivityBuilder_ != null || codeActivity_ != null;
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public proto.Module.ModuleStatic getCodeActivity() {
        if (codeActivityBuilder_ == null) {
          return codeActivity_ == null ? proto.Module.ModuleStatic.getDefaultInstance() : codeActivity_;
        } else {
          return codeActivityBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public Builder setCodeActivity(proto.Module.ModuleStatic value) {
        if (codeActivityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          codeActivity_ = value;
          onChanged();
        } else {
          codeActivityBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public Builder setCodeActivity(
          proto.Module.ModuleStatic.Builder builderForValue) {
        if (codeActivityBuilder_ == null) {
          codeActivity_ = builderForValue.build();
          onChanged();
        } else {
          codeActivityBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public Builder mergeCodeActivity(proto.Module.ModuleStatic value) {
        if (codeActivityBuilder_ == null) {
          if (codeActivity_ != null) {
            codeActivity_ =
              proto.Module.ModuleStatic.newBuilder(codeActivity_).mergeFrom(value).buildPartial();
          } else {
            codeActivity_ = value;
          }
          onChanged();
        } else {
          codeActivityBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public Builder clearCodeActivity() {
        if (codeActivityBuilder_ == null) {
          codeActivity_ = null;
          onChanged();
        } else {
          codeActivity_ = null;
          codeActivityBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public proto.Module.ModuleStatic.Builder getCodeActivityBuilder() {
        
        onChanged();
        return getCodeActivityFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      public proto.Module.ModuleStaticOrBuilder getCodeActivityOrBuilder() {
        if (codeActivityBuilder_ != null) {
          return codeActivityBuilder_.getMessageOrBuilder();
        } else {
          return codeActivity_ == null ?
              proto.Module.ModuleStatic.getDefaultInstance() : codeActivity_;
        }
      }
      /**
       * <code>.proto.ModuleStatic code_activity = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Module.ModuleStatic, proto.Module.ModuleStatic.Builder, proto.Module.ModuleStaticOrBuilder> 
          getCodeActivityFieldBuilder() {
        if (codeActivityBuilder_ == null) {
          codeActivityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              proto.Module.ModuleStatic, proto.Module.ModuleStatic.Builder, proto.Module.ModuleStaticOrBuilder>(
                  getCodeActivity(),
                  getParentForChildren(),
                  isClean());
          codeActivity_ = null;
        }
        return codeActivityBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.StaticAnalysis)
    }

    // @@protoc_insertion_point(class_scope:proto.StaticAnalysis)
    private static final proto.Behavior.StaticAnalysis DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.StaticAnalysis();
    }

    public static proto.Behavior.StaticAnalysis getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.StaticAnalysis getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ConcolicAnalysisOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.ConcolicAnalysis)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    int getAnalysisTypeValue();
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    proto.Behavior.AnalysisType getAnalysisType();

    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    int getExeTypeValue();
    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    proto.Behavior.ExecutionType getExeType();

    /**
     * <code>string exe_user = 3;</code>
     */
    java.lang.String getExeUser();
    /**
     * <code>string exe_user = 3;</code>
     */
    com.google.protobuf.ByteString
        getExeUserBytes();

    /**
     * <code>string timestamp = 4;</code>
     */
    java.lang.String getTimestamp();
    /**
     * <code>string timestamp = 4;</code>
     */
    com.google.protobuf.ByteString
        getTimestampBytes();

    /**
     * <code>string end_timestamp = 5;</code>
     */
    java.lang.String getEndTimestamp();
    /**
     * <code>string end_timestamp = 5;</code>
     */
    com.google.protobuf.ByteString
        getEndTimestampBytes();

    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    boolean hasProcessActivity();
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    proto.Behavior.ProcessActivity getProcessActivity();
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    proto.Behavior.ProcessActivityOrBuilder getProcessActivityOrBuilder();
  }
  /**
   * Protobuf type {@code proto.ConcolicAnalysis}
   */
  public  static final class ConcolicAnalysis extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.ConcolicAnalysis)
      ConcolicAnalysisOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ConcolicAnalysis.newBuilder() to construct.
    private ConcolicAnalysis(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ConcolicAnalysis() {
      analysisType_ = 0;
      exeType_ = 0;
      exeUser_ = "";
      timestamp_ = "";
      endTimestamp_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ConcolicAnalysis(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              int rawValue = input.readEnum();

              analysisType_ = rawValue;
              break;
            }
            case 16: {
              int rawValue = input.readEnum();

              exeType_ = rawValue;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              exeUser_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              timestamp_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              endTimestamp_ = s;
              break;
            }
            case 50: {
              proto.Behavior.ProcessActivity.Builder subBuilder = null;
              if (processActivity_ != null) {
                subBuilder = processActivity_.toBuilder();
              }
              processActivity_ = input.readMessage(proto.Behavior.ProcessActivity.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(processActivity_);
                processActivity_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_ConcolicAnalysis_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_ConcolicAnalysis_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.ConcolicAnalysis.class, proto.Behavior.ConcolicAnalysis.Builder.class);
    }

    public static final int ANALYSIS_TYPE_FIELD_NUMBER = 1;
    private int analysisType_;
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    public int getAnalysisTypeValue() {
      return analysisType_;
    }
    /**
     * <code>.proto.AnalysisType analysis_type = 1;</code>
     */
    public proto.Behavior.AnalysisType getAnalysisType() {
      @SuppressWarnings("deprecation")
      proto.Behavior.AnalysisType result = proto.Behavior.AnalysisType.valueOf(analysisType_);
      return result == null ? proto.Behavior.AnalysisType.UNRECOGNIZED : result;
    }

    public static final int EXE_TYPE_FIELD_NUMBER = 2;
    private int exeType_;
    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    public int getExeTypeValue() {
      return exeType_;
    }
    /**
     * <code>.proto.ExecutionType exe_type = 2;</code>
     */
    public proto.Behavior.ExecutionType getExeType() {
      @SuppressWarnings("deprecation")
      proto.Behavior.ExecutionType result = proto.Behavior.ExecutionType.valueOf(exeType_);
      return result == null ? proto.Behavior.ExecutionType.UNRECOGNIZED : result;
    }

    public static final int EXE_USER_FIELD_NUMBER = 3;
    private volatile java.lang.Object exeUser_;
    /**
     * <code>string exe_user = 3;</code>
     */
    public java.lang.String getExeUser() {
      java.lang.Object ref = exeUser_;
      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();
        exeUser_ = s;
        return s;
      }
    }
    /**
     * <code>string exe_user = 3;</code>
     */
    public com.google.protobuf.ByteString
        getExeUserBytes() {
      java.lang.Object ref = exeUser_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        exeUser_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 4;
    private volatile java.lang.Object timestamp_;
    /**
     * <code>string timestamp = 4;</code>
     */
    public java.lang.String getTimestamp() {
      java.lang.Object ref = timestamp_;
      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();
        timestamp_ = s;
        return s;
      }
    }
    /**
     * <code>string timestamp = 4;</code>
     */
    public com.google.protobuf.ByteString
        getTimestampBytes() {
      java.lang.Object ref = timestamp_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timestamp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int END_TIMESTAMP_FIELD_NUMBER = 5;
    private volatile java.lang.Object endTimestamp_;
    /**
     * <code>string end_timestamp = 5;</code>
     */
    public java.lang.String getEndTimestamp() {
      java.lang.Object ref = endTimestamp_;
      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();
        endTimestamp_ = s;
        return s;
      }
    }
    /**
     * <code>string end_timestamp = 5;</code>
     */
    public com.google.protobuf.ByteString
        getEndTimestampBytes() {
      java.lang.Object ref = endTimestamp_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        endTimestamp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PROCESS_ACTIVITY_FIELD_NUMBER = 6;
    private proto.Behavior.ProcessActivity processActivity_;
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    public boolean hasProcessActivity() {
      return processActivity_ != null;
    }
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    public proto.Behavior.ProcessActivity getProcessActivity() {
      return processActivity_ == null ? proto.Behavior.ProcessActivity.getDefaultInstance() : processActivity_;
    }
    /**
     * <code>.proto.ProcessActivity process_activity = 6;</code>
     */
    public proto.Behavior.ProcessActivityOrBuilder getProcessActivityOrBuilder() {
      return getProcessActivity();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (analysisType_ != proto.Behavior.AnalysisType.API_USAGE.getNumber()) {
        output.writeEnum(1, analysisType_);
      }
      if (exeType_ != proto.Behavior.ExecutionType.INSTALL.getNumber()) {
        output.writeEnum(2, exeType_);
      }
      if (!getExeUserBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, exeUser_);
      }
      if (!getTimestampBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, timestamp_);
      }
      if (!getEndTimestampBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, endTimestamp_);
      }
      if (processActivity_ != null) {
        output.writeMessage(6, getProcessActivity());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (analysisType_ != proto.Behavior.AnalysisType.API_USAGE.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, analysisType_);
      }
      if (exeType_ != proto.Behavior.ExecutionType.INSTALL.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, exeType_);
      }
      if (!getExeUserBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, exeUser_);
      }
      if (!getTimestampBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, timestamp_);
      }
      if (!getEndTimestampBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, endTimestamp_);
      }
      if (processActivity_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getProcessActivity());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.ConcolicAnalysis)) {
        return super.equals(obj);
      }
      proto.Behavior.ConcolicAnalysis other = (proto.Behavior.ConcolicAnalysis) obj;

      boolean result = true;
      result = result && analysisType_ == other.analysisType_;
      result = result && exeType_ == other.exeType_;
      result = result && getExeUser()
          .equals(other.getExeUser());
      result = result && getTimestamp()
          .equals(other.getTimestamp());
      result = result && getEndTimestamp()
          .equals(other.getEndTimestamp());
      result = result && (hasProcessActivity() == other.hasProcessActivity());
      if (hasProcessActivity()) {
        result = result && getProcessActivity()
            .equals(other.getProcessActivity());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ANALYSIS_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + analysisType_;
      hash = (37 * hash) + EXE_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + exeType_;
      hash = (37 * hash) + EXE_USER_FIELD_NUMBER;
      hash = (53 * hash) + getExeUser().hashCode();
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + getTimestamp().hashCode();
      hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + getEndTimestamp().hashCode();
      if (hasProcessActivity()) {
        hash = (37 * hash) + PROCESS_ACTIVITY_FIELD_NUMBER;
        hash = (53 * hash) + getProcessActivity().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.ConcolicAnalysis prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.ConcolicAnalysis}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.ConcolicAnalysis)
        proto.Behavior.ConcolicAnalysisOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_ConcolicAnalysis_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_ConcolicAnalysis_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.ConcolicAnalysis.class, proto.Behavior.ConcolicAnalysis.Builder.class);
      }

      // Construct using proto.Behavior.ConcolicAnalysis.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        exeType_ = 0;

        exeUser_ = "";

        timestamp_ = "";

        endTimestamp_ = "";

        if (processActivityBuilder_ == null) {
          processActivity_ = null;
        } else {
          processActivity_ = null;
          processActivityBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_ConcolicAnalysis_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.ConcolicAnalysis getDefaultInstanceForType() {
        return proto.Behavior.ConcolicAnalysis.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.ConcolicAnalysis build() {
        proto.Behavior.ConcolicAnalysis result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.ConcolicAnalysis buildPartial() {
        proto.Behavior.ConcolicAnalysis result = new proto.Behavior.ConcolicAnalysis(this);
        result.analysisType_ = analysisType_;
        result.exeType_ = exeType_;
        result.exeUser_ = exeUser_;
        result.timestamp_ = timestamp_;
        result.endTimestamp_ = endTimestamp_;
        if (processActivityBuilder_ == null) {
          result.processActivity_ = processActivity_;
        } else {
          result.processActivity_ = processActivityBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.ConcolicAnalysis other) {
        if (other == proto.Behavior.ConcolicAnalysis.getDefaultInstance()) return this;
        if (other.analysisType_ != 0) {
          setAnalysisTypeValue(other.getAnalysisTypeValue());
        }
        if (other.exeType_ != 0) {
          setExeTypeValue(other.getExeTypeValue());
        }
        if (!other.getExeUser().isEmpty()) {
          exeUser_ = other.exeUser_;
          onChanged();
        }
        if (!other.getTimestamp().isEmpty()) {
          timestamp_ = other.timestamp_;
          onChanged();
        }
        if (!other.getEndTimestamp().isEmpty()) {
          endTimestamp_ = other.endTimestamp_;
          onChanged();
        }
        if (other.hasProcessActivity()) {
          mergeProcessActivity(other.getProcessActivity());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int analysisType_ = 0;
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public int getAnalysisTypeValue() {
        return analysisType_;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder setAnalysisTypeValue(int value) {
        analysisType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public proto.Behavior.AnalysisType getAnalysisType() {
        @SuppressWarnings("deprecation")
        proto.Behavior.AnalysisType result = proto.Behavior.AnalysisType.valueOf(analysisType_);
        return result == null ? proto.Behavior.AnalysisType.UNRECOGNIZED : result;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder setAnalysisType(proto.Behavior.AnalysisType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        analysisType_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.proto.AnalysisType analysis_type = 1;</code>
       */
      public Builder clearAnalysisType() {
        
        analysisType_ = 0;
        onChanged();
        return this;
      }

      private int exeType_ = 0;
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public int getExeTypeValue() {
        return exeType_;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public Builder setExeTypeValue(int value) {
        exeType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public proto.Behavior.ExecutionType getExeType() {
        @SuppressWarnings("deprecation")
        proto.Behavior.ExecutionType result = proto.Behavior.ExecutionType.valueOf(exeType_);
        return result == null ? proto.Behavior.ExecutionType.UNRECOGNIZED : result;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public Builder setExeType(proto.Behavior.ExecutionType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        exeType_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.proto.ExecutionType exe_type = 2;</code>
       */
      public Builder clearExeType() {
        
        exeType_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object exeUser_ = "";
      /**
       * <code>string exe_user = 3;</code>
       */
      public java.lang.String getExeUser() {
        java.lang.Object ref = exeUser_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          exeUser_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string exe_user = 3;</code>
       */
      public com.google.protobuf.ByteString
          getExeUserBytes() {
        java.lang.Object ref = exeUser_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          exeUser_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string exe_user = 3;</code>
       */
      public Builder setExeUser(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        exeUser_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string exe_user = 3;</code>
       */
      public Builder clearExeUser() {
        
        exeUser_ = getDefaultInstance().getExeUser();
        onChanged();
        return this;
      }
      /**
       * <code>string exe_user = 3;</code>
       */
      public Builder setExeUserBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        exeUser_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object timestamp_ = "";
      /**
       * <code>string timestamp = 4;</code>
       */
      public java.lang.String getTimestamp() {
        java.lang.Object ref = timestamp_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          timestamp_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public com.google.protobuf.ByteString
          getTimestampBytes() {
        java.lang.Object ref = timestamp_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          timestamp_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public Builder setTimestamp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        timestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public Builder clearTimestamp() {
        
        timestamp_ = getDefaultInstance().getTimestamp();
        onChanged();
        return this;
      }
      /**
       * <code>string timestamp = 4;</code>
       */
      public Builder setTimestampBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        timestamp_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object endTimestamp_ = "";
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public java.lang.String getEndTimestamp() {
        java.lang.Object ref = endTimestamp_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          endTimestamp_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public com.google.protobuf.ByteString
          getEndTimestampBytes() {
        java.lang.Object ref = endTimestamp_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          endTimestamp_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public Builder setEndTimestamp(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        endTimestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public Builder clearEndTimestamp() {
        
        endTimestamp_ = getDefaultInstance().getEndTimestamp();
        onChanged();
        return this;
      }
      /**
       * <code>string end_timestamp = 5;</code>
       */
      public Builder setEndTimestampBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        endTimestamp_ = value;
        onChanged();
        return this;
      }

      private proto.Behavior.ProcessActivity processActivity_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder> processActivityBuilder_;
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public boolean hasProcessActivity() {
        return processActivityBuilder_ != null || processActivity_ != null;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public proto.Behavior.ProcessActivity getProcessActivity() {
        if (processActivityBuilder_ == null) {
          return processActivity_ == null ? proto.Behavior.ProcessActivity.getDefaultInstance() : processActivity_;
        } else {
          return processActivityBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder setProcessActivity(proto.Behavior.ProcessActivity value) {
        if (processActivityBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          processActivity_ = value;
          onChanged();
        } else {
          processActivityBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder setProcessActivity(
          proto.Behavior.ProcessActivity.Builder builderForValue) {
        if (processActivityBuilder_ == null) {
          processActivity_ = builderForValue.build();
          onChanged();
        } else {
          processActivityBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder mergeProcessActivity(proto.Behavior.ProcessActivity value) {
        if (processActivityBuilder_ == null) {
          if (processActivity_ != null) {
            processActivity_ =
              proto.Behavior.ProcessActivity.newBuilder(processActivity_).mergeFrom(value).buildPartial();
          } else {
            processActivity_ = value;
          }
          onChanged();
        } else {
          processActivityBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public Builder clearProcessActivity() {
        if (processActivityBuilder_ == null) {
          processActivity_ = null;
          onChanged();
        } else {
          processActivity_ = null;
          processActivityBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public proto.Behavior.ProcessActivity.Builder getProcessActivityBuilder() {
        
        onChanged();
        return getProcessActivityFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      public proto.Behavior.ProcessActivityOrBuilder getProcessActivityOrBuilder() {
        if (processActivityBuilder_ != null) {
          return processActivityBuilder_.getMessageOrBuilder();
        } else {
          return processActivity_ == null ?
              proto.Behavior.ProcessActivity.getDefaultInstance() : processActivity_;
        }
      }
      /**
       * <code>.proto.ProcessActivity process_activity = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder> 
          getProcessActivityFieldBuilder() {
        if (processActivityBuilder_ == null) {
          processActivityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              proto.Behavior.ProcessActivity, proto.Behavior.ProcessActivity.Builder, proto.Behavior.ProcessActivityOrBuilder>(
                  getProcessActivity(),
                  getParentForChildren(),
                  isClean());
          processActivity_ = null;
        }
        return processActivityBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.ConcolicAnalysis)
    }

    // @@protoc_insertion_point(class_scope:proto.ConcolicAnalysis)
    private static final proto.Behavior.ConcolicAnalysis DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.ConcolicAnalysis();
    }

    public static proto.Behavior.ConcolicAnalysis getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.ConcolicAnalysis getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AnalysisResultOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.AnalysisResult)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.proto.PackageInfo package_info = 1;</code>
     */
    boolean hasPackageInfo();
    /**
     * <code>.proto.PackageInfo package_info = 1;</code>
     */
    proto.Info.PackageInfo getPackageInfo();
    /**
     * <code>.proto.PackageInfo package_info = 1;</code>
     */
    proto.Info.PackageInfoOrBuilder getPackageInfoOrBuilder();

    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    java.util.List<proto.Behavior.DynamicAnalysis> 
        getDynamicResultsList();
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    proto.Behavior.DynamicAnalysis getDynamicResults(int index);
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    int getDynamicResultsCount();
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    java.util.List<? extends proto.Behavior.DynamicAnalysisOrBuilder> 
        getDynamicResultsOrBuilderList();
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    proto.Behavior.DynamicAnalysisOrBuilder getDynamicResultsOrBuilder(
        int index);

    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    java.util.List<proto.Behavior.StaticAnalysis> 
        getStaticResultsList();
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    proto.Behavior.StaticAnalysis getStaticResults(int index);
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    int getStaticResultsCount();
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    java.util.List<? extends proto.Behavior.StaticAnalysisOrBuilder> 
        getStaticResultsOrBuilderList();
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    proto.Behavior.StaticAnalysisOrBuilder getStaticResultsOrBuilder(
        int index);

    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    java.util.List<proto.Behavior.ConcolicAnalysis> 
        getConcolicResultsList();
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    proto.Behavior.ConcolicAnalysis getConcolicResults(int index);
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    int getConcolicResultsCount();
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    java.util.List<? extends proto.Behavior.ConcolicAnalysisOrBuilder> 
        getConcolicResultsOrBuilderList();
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    proto.Behavior.ConcolicAnalysisOrBuilder getConcolicResultsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code proto.AnalysisResult}
   */
  public  static final class AnalysisResult extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:proto.AnalysisResult)
      AnalysisResultOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AnalysisResult.newBuilder() to construct.
    private AnalysisResult(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AnalysisResult() {
      dynamicResults_ = java.util.Collections.emptyList();
      staticResults_ = java.util.Collections.emptyList();
      concolicResults_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AnalysisResult(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              proto.Info.PackageInfo.Builder subBuilder = null;
              if (packageInfo_ != null) {
                subBuilder = packageInfo_.toBuilder();
              }
              packageInfo_ = input.readMessage(proto.Info.PackageInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(packageInfo_);
                packageInfo_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                dynamicResults_ = new java.util.ArrayList<proto.Behavior.DynamicAnalysis>();
                mutable_bitField0_ |= 0x00000002;
              }
              dynamicResults_.add(
                  input.readMessage(proto.Behavior.DynamicAnalysis.parser(), extensionRegistry));
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                staticResults_ = new java.util.ArrayList<proto.Behavior.StaticAnalysis>();
                mutable_bitField0_ |= 0x00000004;
              }
              staticResults_.add(
                  input.readMessage(proto.Behavior.StaticAnalysis.parser(), extensionRegistry));
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                concolicResults_ = new java.util.ArrayList<proto.Behavior.ConcolicAnalysis>();
                mutable_bitField0_ |= 0x00000008;
              }
              concolicResults_.add(
                  input.readMessage(proto.Behavior.ConcolicAnalysis.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          dynamicResults_ = java.util.Collections.unmodifiableList(dynamicResults_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          staticResults_ = java.util.Collections.unmodifiableList(staticResults_);
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          concolicResults_ = java.util.Collections.unmodifiableList(concolicResults_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return proto.Behavior.internal_static_proto_AnalysisResult_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return proto.Behavior.internal_static_proto_AnalysisResult_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              proto.Behavior.AnalysisResult.class, proto.Behavior.AnalysisResult.Builder.class);
    }

    private int bitField0_;
    public static final int PACKAGE_INFO_FIELD_NUMBER = 1;
    private proto.Info.PackageInfo packageInfo_;
    /**
     * <code>.proto.PackageInfo package_info = 1;</code>
     */
    public boolean hasPackageInfo() {
      return packageInfo_ != null;
    }
    /**
     * <code>.proto.PackageInfo package_info = 1;</code>
     */
    public proto.Info.PackageInfo getPackageInfo() {
      return packageInfo_ == null ? proto.Info.PackageInfo.getDefaultInstance() : packageInfo_;
    }
    /**
     * <code>.proto.PackageInfo package_info = 1;</code>
     */
    public proto.Info.PackageInfoOrBuilder getPackageInfoOrBuilder() {
      return getPackageInfo();
    }

    public static final int DYNAMIC_RESULTS_FIELD_NUMBER = 2;
    private java.util.List<proto.Behavior.DynamicAnalysis> dynamicResults_;
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    public java.util.List<proto.Behavior.DynamicAnalysis> getDynamicResultsList() {
      return dynamicResults_;
    }
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    public java.util.List<? extends proto.Behavior.DynamicAnalysisOrBuilder> 
        getDynamicResultsOrBuilderList() {
      return dynamicResults_;
    }
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    public int getDynamicResultsCount() {
      return dynamicResults_.size();
    }
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    public proto.Behavior.DynamicAnalysis getDynamicResults(int index) {
      return dynamicResults_.get(index);
    }
    /**
     * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
     */
    public proto.Behavior.DynamicAnalysisOrBuilder getDynamicResultsOrBuilder(
        int index) {
      return dynamicResults_.get(index);
    }

    public static final int STATIC_RESULTS_FIELD_NUMBER = 3;
    private java.util.List<proto.Behavior.StaticAnalysis> staticResults_;
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    public java.util.List<proto.Behavior.StaticAnalysis> getStaticResultsList() {
      return staticResults_;
    }
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    public java.util.List<? extends proto.Behavior.StaticAnalysisOrBuilder> 
        getStaticResultsOrBuilderList() {
      return staticResults_;
    }
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    public int getStaticResultsCount() {
      return staticResults_.size();
    }
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    public proto.Behavior.StaticAnalysis getStaticResults(int index) {
      return staticResults_.get(index);
    }
    /**
     * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
     */
    public proto.Behavior.StaticAnalysisOrBuilder getStaticResultsOrBuilder(
        int index) {
      return staticResults_.get(index);
    }

    public static final int CONCOLIC_RESULTS_FIELD_NUMBER = 4;
    private java.util.List<proto.Behavior.ConcolicAnalysis> concolicResults_;
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    public java.util.List<proto.Behavior.ConcolicAnalysis> getConcolicResultsList() {
      return concolicResults_;
    }
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    public java.util.List<? extends proto.Behavior.ConcolicAnalysisOrBuilder> 
        getConcolicResultsOrBuilderList() {
      return concolicResults_;
    }
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    public int getConcolicResultsCount() {
      return concolicResults_.size();
    }
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    public proto.Behavior.ConcolicAnalysis getConcolicResults(int index) {
      return concolicResults_.get(index);
    }
    /**
     * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
     */
    public proto.Behavior.ConcolicAnalysisOrBuilder getConcolicResultsOrBuilder(
        int index) {
      return concolicResults_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (packageInfo_ != null) {
        output.writeMessage(1, getPackageInfo());
      }
      for (int i = 0; i < dynamicResults_.size(); i++) {
        output.writeMessage(2, dynamicResults_.get(i));
      }
      for (int i = 0; i < staticResults_.size(); i++) {
        output.writeMessage(3, staticResults_.get(i));
      }
      for (int i = 0; i < concolicResults_.size(); i++) {
        output.writeMessage(4, concolicResults_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (packageInfo_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getPackageInfo());
      }
      for (int i = 0; i < dynamicResults_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, dynamicResults_.get(i));
      }
      for (int i = 0; i < staticResults_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, staticResults_.get(i));
      }
      for (int i = 0; i < concolicResults_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, concolicResults_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof proto.Behavior.AnalysisResult)) {
        return super.equals(obj);
      }
      proto.Behavior.AnalysisResult other = (proto.Behavior.AnalysisResult) obj;

      boolean result = true;
      result = result && (hasPackageInfo() == other.hasPackageInfo());
      if (hasPackageInfo()) {
        result = result && getPackageInfo()
            .equals(other.getPackageInfo());
      }
      result = result && getDynamicResultsList()
          .equals(other.getDynamicResultsList());
      result = result && getStaticResultsList()
          .equals(other.getStaticResultsList());
      result = result && getConcolicResultsList()
          .equals(other.getConcolicResultsList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPackageInfo()) {
        hash = (37 * hash) + PACKAGE_INFO_FIELD_NUMBER;
        hash = (53 * hash) + getPackageInfo().hashCode();
      }
      if (getDynamicResultsCount() > 0) {
        hash = (37 * hash) + DYNAMIC_RESULTS_FIELD_NUMBER;
        hash = (53 * hash) + getDynamicResultsList().hashCode();
      }
      if (getStaticResultsCount() > 0) {
        hash = (37 * hash) + STATIC_RESULTS_FIELD_NUMBER;
        hash = (53 * hash) + getStaticResultsList().hashCode();
      }
      if (getConcolicResultsCount() > 0) {
        hash = (37 * hash) + CONCOLIC_RESULTS_FIELD_NUMBER;
        hash = (53 * hash) + getConcolicResultsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(proto.Behavior.AnalysisResult prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.AnalysisResult}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.AnalysisResult)
        proto.Behavior.AnalysisResultOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return proto.Behavior.internal_static_proto_AnalysisResult_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return proto.Behavior.internal_static_proto_AnalysisResult_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                proto.Behavior.AnalysisResult.class, proto.Behavior.AnalysisResult.Builder.class);
      }

      // Construct using proto.Behavior.AnalysisResult.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getDynamicResultsFieldBuilder();
          getStaticResultsFieldBuilder();
          getConcolicResultsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (packageInfoBuilder_ == null) {
          packageInfo_ = null;
        } else {
          packageInfo_ = null;
          packageInfoBuilder_ = null;
        }
        if (dynamicResultsBuilder_ == null) {
          dynamicResults_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          dynamicResultsBuilder_.clear();
        }
        if (staticResultsBuilder_ == null) {
          staticResults_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          staticResultsBuilder_.clear();
        }
        if (concolicResultsBuilder_ == null) {
          concolicResults_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          concolicResultsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return proto.Behavior.internal_static_proto_AnalysisResult_descriptor;
      }

      @java.lang.Override
      public proto.Behavior.AnalysisResult getDefaultInstanceForType() {
        return proto.Behavior.AnalysisResult.getDefaultInstance();
      }

      @java.lang.Override
      public proto.Behavior.AnalysisResult build() {
        proto.Behavior.AnalysisResult result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public proto.Behavior.AnalysisResult buildPartial() {
        proto.Behavior.AnalysisResult result = new proto.Behavior.AnalysisResult(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (packageInfoBuilder_ == null) {
          result.packageInfo_ = packageInfo_;
        } else {
          result.packageInfo_ = packageInfoBuilder_.build();
        }
        if (dynamicResultsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            dynamicResults_ = java.util.Collections.unmodifiableList(dynamicResults_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.dynamicResults_ = dynamicResults_;
        } else {
          result.dynamicResults_ = dynamicResultsBuilder_.build();
        }
        if (staticResultsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            staticResults_ = java.util.Collections.unmodifiableList(staticResults_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.staticResults_ = staticResults_;
        } else {
          result.staticResults_ = staticResultsBuilder_.build();
        }
        if (concolicResultsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            concolicResults_ = java.util.Collections.unmodifiableList(concolicResults_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.concolicResults_ = concolicResults_;
        } else {
          result.concolicResults_ = concolicResultsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(proto.Behavior.AnalysisResult other) {
        if (other == proto.Behavior.AnalysisResult.getDefaultInstance()) return this;
        if (other.hasPackageInfo()) {
          mergePackageInfo(other.getPackageInfo());
        }
        if (dynamicResultsBuilder_ == null) {
          if (!other.dynamicResults_.isEmpty()) {
            if (dynamicResults_.isEmpty()) {
              dynamicResults_ = other.dynamicResults_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureDynamicResultsIsMutable();
              dynamicResults_.addAll(other.dynamicResults_);
            }
            onChanged();
          }
        } else {
          if (!other.dynamicResults_.isEmpty()) {
            if (dynamicResultsBuilder_.isEmpty()) {
              dynamicResultsBuilder_.dispose();
              dynamicResultsBuilder_ = null;
              dynamicResults_ = other.dynamicResults_;
              bitField0_ = (bitField0_ & ~0x00000002);
              dynamicResultsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getDynamicResultsFieldBuilder() : null;
            } else {
              dynamicResultsBuilder_.addAllMessages(other.dynamicResults_);
            }
          }
        }
        if (staticResultsBuilder_ == null) {
          if (!other.staticResults_.isEmpty()) {
            if (staticResults_.isEmpty()) {
              staticResults_ = other.staticResults_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureStaticResultsIsMutable();
              staticResults_.addAll(other.staticResults_);
            }
            onChanged();
          }
        } else {
          if (!other.staticResults_.isEmpty()) {
            if (staticResultsBuilder_.isEmpty()) {
              staticResultsBuilder_.dispose();
              staticResultsBuilder_ = null;
              staticResults_ = other.staticResults_;
              bitField0_ = (bitField0_ & ~0x00000004);
              staticResultsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getStaticResultsFieldBuilder() : null;
            } else {
              staticResultsBuilder_.addAllMessages(other.staticResults_);
            }
          }
        }
        if (concolicResultsBuilder_ == null) {
          if (!other.concolicResults_.isEmpty()) {
            if (concolicResults_.isEmpty()) {
              concolicResults_ = other.concolicResults_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureConcolicResultsIsMutable();
              concolicResults_.addAll(other.concolicResults_);
            }
            onChanged();
          }
        } else {
          if (!other.concolicResults_.isEmpty()) {
            if (concolicResultsBuilder_.isEmpty()) {
              concolicResultsBuilder_.dispose();
              concolicResultsBuilder_ = null;
              concolicResults_ = other.concolicResults_;
              bitField0_ = (bitField0_ & ~0x00000008);
              concolicResultsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getConcolicResultsFieldBuilder() : null;
            } else {
              concolicResultsBuilder_.addAllMessages(other.concolicResults_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private proto.Info.PackageInfo packageInfo_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Info.PackageInfo, proto.Info.PackageInfo.Builder, proto.Info.PackageInfoOrBuilder> packageInfoBuilder_;
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public boolean hasPackageInfo() {
        return packageInfoBuilder_ != null || packageInfo_ != null;
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public proto.Info.PackageInfo getPackageInfo() {
        if (packageInfoBuilder_ == null) {
          return packageInfo_ == null ? proto.Info.PackageInfo.getDefaultInstance() : packageInfo_;
        } else {
          return packageInfoBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public Builder setPackageInfo(proto.Info.PackageInfo value) {
        if (packageInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          packageInfo_ = value;
          onChanged();
        } else {
          packageInfoBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public Builder setPackageInfo(
          proto.Info.PackageInfo.Builder builderForValue) {
        if (packageInfoBuilder_ == null) {
          packageInfo_ = builderForValue.build();
          onChanged();
        } else {
          packageInfoBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public Builder mergePackageInfo(proto.Info.PackageInfo value) {
        if (packageInfoBuilder_ == null) {
          if (packageInfo_ != null) {
            packageInfo_ =
              proto.Info.PackageInfo.newBuilder(packageInfo_).mergeFrom(value).buildPartial();
          } else {
            packageInfo_ = value;
          }
          onChanged();
        } else {
          packageInfoBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public Builder clearPackageInfo() {
        if (packageInfoBuilder_ == null) {
          packageInfo_ = null;
          onChanged();
        } else {
          packageInfo_ = null;
          packageInfoBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public proto.Info.PackageInfo.Builder getPackageInfoBuilder() {
        
        onChanged();
        return getPackageInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      public proto.Info.PackageInfoOrBuilder getPackageInfoOrBuilder() {
        if (packageInfoBuilder_ != null) {
          return packageInfoBuilder_.getMessageOrBuilder();
        } else {
          return packageInfo_ == null ?
              proto.Info.PackageInfo.getDefaultInstance() : packageInfo_;
        }
      }
      /**
       * <code>.proto.PackageInfo package_info = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          proto.Info.PackageInfo, proto.Info.PackageInfo.Builder, proto.Info.PackageInfoOrBuilder> 
          getPackageInfoFieldBuilder() {
        if (packageInfoBuilder_ == null) {
          packageInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              proto.Info.PackageInfo, proto.Info.PackageInfo.Builder, proto.Info.PackageInfoOrBuilder>(
                  getPackageInfo(),
                  getParentForChildren(),
                  isClean());
          packageInfo_ = null;
        }
        return packageInfoBuilder_;
      }

      private java.util.List<proto.Behavior.DynamicAnalysis> dynamicResults_ =
        java.util.Collections.emptyList();
      private void ensureDynamicResultsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          dynamicResults_ = new java.util.ArrayList<proto.Behavior.DynamicAnalysis>(dynamicResults_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.DynamicAnalysis, proto.Behavior.DynamicAnalysis.Builder, proto.Behavior.DynamicAnalysisOrBuilder> dynamicResultsBuilder_;

      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public java.util.List<proto.Behavior.DynamicAnalysis> getDynamicResultsList() {
        if (dynamicResultsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(dynamicResults_);
        } else {
          return dynamicResultsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public int getDynamicResultsCount() {
        if (dynamicResultsBuilder_ == null) {
          return dynamicResults_.size();
        } else {
          return dynamicResultsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public proto.Behavior.DynamicAnalysis getDynamicResults(int index) {
        if (dynamicResultsBuilder_ == null) {
          return dynamicResults_.get(index);
        } else {
          return dynamicResultsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder setDynamicResults(
          int index, proto.Behavior.DynamicAnalysis value) {
        if (dynamicResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDynamicResultsIsMutable();
          dynamicResults_.set(index, value);
          onChanged();
        } else {
          dynamicResultsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder setDynamicResults(
          int index, proto.Behavior.DynamicAnalysis.Builder builderForValue) {
        if (dynamicResultsBuilder_ == null) {
          ensureDynamicResultsIsMutable();
          dynamicResults_.set(index, builderForValue.build());
          onChanged();
        } else {
          dynamicResultsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder addDynamicResults(proto.Behavior.DynamicAnalysis value) {
        if (dynamicResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDynamicResultsIsMutable();
          dynamicResults_.add(value);
          onChanged();
        } else {
          dynamicResultsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder addDynamicResults(
          int index, proto.Behavior.DynamicAnalysis value) {
        if (dynamicResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDynamicResultsIsMutable();
          dynamicResults_.add(index, value);
          onChanged();
        } else {
          dynamicResultsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder addDynamicResults(
          proto.Behavior.DynamicAnalysis.Builder builderForValue) {
        if (dynamicResultsBuilder_ == null) {
          ensureDynamicResultsIsMutable();
          dynamicResults_.add(builderForValue.build());
          onChanged();
        } else {
          dynamicResultsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder addDynamicResults(
          int index, proto.Behavior.DynamicAnalysis.Builder builderForValue) {
        if (dynamicResultsBuilder_ == null) {
          ensureDynamicResultsIsMutable();
          dynamicResults_.add(index, builderForValue.build());
          onChanged();
        } else {
          dynamicResultsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder addAllDynamicResults(
          java.lang.Iterable<? extends proto.Behavior.DynamicAnalysis> values) {
        if (dynamicResultsBuilder_ == null) {
          ensureDynamicResultsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, dynamicResults_);
          onChanged();
        } else {
          dynamicResultsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder clearDynamicResults() {
        if (dynamicResultsBuilder_ == null) {
          dynamicResults_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          dynamicResultsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public Builder removeDynamicResults(int index) {
        if (dynamicResultsBuilder_ == null) {
          ensureDynamicResultsIsMutable();
          dynamicResults_.remove(index);
          onChanged();
        } else {
          dynamicResultsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public proto.Behavior.DynamicAnalysis.Builder getDynamicResultsBuilder(
          int index) {
        return getDynamicResultsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public proto.Behavior.DynamicAnalysisOrBuilder getDynamicResultsOrBuilder(
          int index) {
        if (dynamicResultsBuilder_ == null) {
          return dynamicResults_.get(index);  } else {
          return dynamicResultsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public java.util.List<? extends proto.Behavior.DynamicAnalysisOrBuilder> 
           getDynamicResultsOrBuilderList() {
        if (dynamicResultsBuilder_ != null) {
          return dynamicResultsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(dynamicResults_);
        }
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public proto.Behavior.DynamicAnalysis.Builder addDynamicResultsBuilder() {
        return getDynamicResultsFieldBuilder().addBuilder(
            proto.Behavior.DynamicAnalysis.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public proto.Behavior.DynamicAnalysis.Builder addDynamicResultsBuilder(
          int index) {
        return getDynamicResultsFieldBuilder().addBuilder(
            index, proto.Behavior.DynamicAnalysis.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.DynamicAnalysis dynamic_results = 2;</code>
       */
      public java.util.List<proto.Behavior.DynamicAnalysis.Builder> 
           getDynamicResultsBuilderList() {
        return getDynamicResultsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.DynamicAnalysis, proto.Behavior.DynamicAnalysis.Builder, proto.Behavior.DynamicAnalysisOrBuilder> 
          getDynamicResultsFieldBuilder() {
        if (dynamicResultsBuilder_ == null) {
          dynamicResultsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              proto.Behavior.DynamicAnalysis, proto.Behavior.DynamicAnalysis.Builder, proto.Behavior.DynamicAnalysisOrBuilder>(
                  dynamicResults_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          dynamicResults_ = null;
        }
        return dynamicResultsBuilder_;
      }

      private java.util.List<proto.Behavior.StaticAnalysis> staticResults_ =
        java.util.Collections.emptyList();
      private void ensureStaticResultsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          staticResults_ = new java.util.ArrayList<proto.Behavior.StaticAnalysis>(staticResults_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.StaticAnalysis, proto.Behavior.StaticAnalysis.Builder, proto.Behavior.StaticAnalysisOrBuilder> staticResultsBuilder_;

      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public java.util.List<proto.Behavior.StaticAnalysis> getStaticResultsList() {
        if (staticResultsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(staticResults_);
        } else {
          return staticResultsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public int getStaticResultsCount() {
        if (staticResultsBuilder_ == null) {
          return staticResults_.size();
        } else {
          return staticResultsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public proto.Behavior.StaticAnalysis getStaticResults(int index) {
        if (staticResultsBuilder_ == null) {
          return staticResults_.get(index);
        } else {
          return staticResultsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder setStaticResults(
          int index, proto.Behavior.StaticAnalysis value) {
        if (staticResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStaticResultsIsMutable();
          staticResults_.set(index, value);
          onChanged();
        } else {
          staticResultsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder setStaticResults(
          int index, proto.Behavior.StaticAnalysis.Builder builderForValue) {
        if (staticResultsBuilder_ == null) {
          ensureStaticResultsIsMutable();
          staticResults_.set(index, builderForValue.build());
          onChanged();
        } else {
          staticResultsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder addStaticResults(proto.Behavior.StaticAnalysis value) {
        if (staticResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStaticResultsIsMutable();
          staticResults_.add(value);
          onChanged();
        } else {
          staticResultsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder addStaticResults(
          int index, proto.Behavior.StaticAnalysis value) {
        if (staticResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStaticResultsIsMutable();
          staticResults_.add(index, value);
          onChanged();
        } else {
          staticResultsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder addStaticResults(
          proto.Behavior.StaticAnalysis.Builder builderForValue) {
        if (staticResultsBuilder_ == null) {
          ensureStaticResultsIsMutable();
          staticResults_.add(builderForValue.build());
          onChanged();
        } else {
          staticResultsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder addStaticResults(
          int index, proto.Behavior.StaticAnalysis.Builder builderForValue) {
        if (staticResultsBuilder_ == null) {
          ensureStaticResultsIsMutable();
          staticResults_.add(index, builderForValue.build());
          onChanged();
        } else {
          staticResultsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder addAllStaticResults(
          java.lang.Iterable<? extends proto.Behavior.StaticAnalysis> values) {
        if (staticResultsBuilder_ == null) {
          ensureStaticResultsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, staticResults_);
          onChanged();
        } else {
          staticResultsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder clearStaticResults() {
        if (staticResultsBuilder_ == null) {
          staticResults_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          staticResultsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public Builder removeStaticResults(int index) {
        if (staticResultsBuilder_ == null) {
          ensureStaticResultsIsMutable();
          staticResults_.remove(index);
          onChanged();
        } else {
          staticResultsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public proto.Behavior.StaticAnalysis.Builder getStaticResultsBuilder(
          int index) {
        return getStaticResultsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public proto.Behavior.StaticAnalysisOrBuilder getStaticResultsOrBuilder(
          int index) {
        if (staticResultsBuilder_ == null) {
          return staticResults_.get(index);  } else {
          return staticResultsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public java.util.List<? extends proto.Behavior.StaticAnalysisOrBuilder> 
           getStaticResultsOrBuilderList() {
        if (staticResultsBuilder_ != null) {
          return staticResultsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(staticResults_);
        }
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public proto.Behavior.StaticAnalysis.Builder addStaticResultsBuilder() {
        return getStaticResultsFieldBuilder().addBuilder(
            proto.Behavior.StaticAnalysis.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public proto.Behavior.StaticAnalysis.Builder addStaticResultsBuilder(
          int index) {
        return getStaticResultsFieldBuilder().addBuilder(
            index, proto.Behavior.StaticAnalysis.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.StaticAnalysis static_results = 3;</code>
       */
      public java.util.List<proto.Behavior.StaticAnalysis.Builder> 
           getStaticResultsBuilderList() {
        return getStaticResultsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.StaticAnalysis, proto.Behavior.StaticAnalysis.Builder, proto.Behavior.StaticAnalysisOrBuilder> 
          getStaticResultsFieldBuilder() {
        if (staticResultsBuilder_ == null) {
          staticResultsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              proto.Behavior.StaticAnalysis, proto.Behavior.StaticAnalysis.Builder, proto.Behavior.StaticAnalysisOrBuilder>(
                  staticResults_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          staticResults_ = null;
        }
        return staticResultsBuilder_;
      }

      private java.util.List<proto.Behavior.ConcolicAnalysis> concolicResults_ =
        java.util.Collections.emptyList();
      private void ensureConcolicResultsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          concolicResults_ = new java.util.ArrayList<proto.Behavior.ConcolicAnalysis>(concolicResults_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.ConcolicAnalysis, proto.Behavior.ConcolicAnalysis.Builder, proto.Behavior.ConcolicAnalysisOrBuilder> concolicResultsBuilder_;

      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public java.util.List<proto.Behavior.ConcolicAnalysis> getConcolicResultsList() {
        if (concolicResultsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(concolicResults_);
        } else {
          return concolicResultsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public int getConcolicResultsCount() {
        if (concolicResultsBuilder_ == null) {
          return concolicResults_.size();
        } else {
          return concolicResultsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public proto.Behavior.ConcolicAnalysis getConcolicResults(int index) {
        if (concolicResultsBuilder_ == null) {
          return concolicResults_.get(index);
        } else {
          return concolicResultsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder setConcolicResults(
          int index, proto.Behavior.ConcolicAnalysis value) {
        if (concolicResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConcolicResultsIsMutable();
          concolicResults_.set(index, value);
          onChanged();
        } else {
          concolicResultsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder setConcolicResults(
          int index, proto.Behavior.ConcolicAnalysis.Builder builderForValue) {
        if (concolicResultsBuilder_ == null) {
          ensureConcolicResultsIsMutable();
          concolicResults_.set(index, builderForValue.build());
          onChanged();
        } else {
          concolicResultsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder addConcolicResults(proto.Behavior.ConcolicAnalysis value) {
        if (concolicResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConcolicResultsIsMutable();
          concolicResults_.add(value);
          onChanged();
        } else {
          concolicResultsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder addConcolicResults(
          int index, proto.Behavior.ConcolicAnalysis value) {
        if (concolicResultsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConcolicResultsIsMutable();
          concolicResults_.add(index, value);
          onChanged();
        } else {
          concolicResultsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder addConcolicResults(
          proto.Behavior.ConcolicAnalysis.Builder builderForValue) {
        if (concolicResultsBuilder_ == null) {
          ensureConcolicResultsIsMutable();
          concolicResults_.add(builderForValue.build());
          onChanged();
        } else {
          concolicResultsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder addConcolicResults(
          int index, proto.Behavior.ConcolicAnalysis.Builder builderForValue) {
        if (concolicResultsBuilder_ == null) {
          ensureConcolicResultsIsMutable();
          concolicResults_.add(index, builderForValue.build());
          onChanged();
        } else {
          concolicResultsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder addAllConcolicResults(
          java.lang.Iterable<? extends proto.Behavior.ConcolicAnalysis> values) {
        if (concolicResultsBuilder_ == null) {
          ensureConcolicResultsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, concolicResults_);
          onChanged();
        } else {
          concolicResultsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder clearConcolicResults() {
        if (concolicResultsBuilder_ == null) {
          concolicResults_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          concolicResultsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public Builder removeConcolicResults(int index) {
        if (concolicResultsBuilder_ == null) {
          ensureConcolicResultsIsMutable();
          concolicResults_.remove(index);
          onChanged();
        } else {
          concolicResultsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public proto.Behavior.ConcolicAnalysis.Builder getConcolicResultsBuilder(
          int index) {
        return getConcolicResultsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public proto.Behavior.ConcolicAnalysisOrBuilder getConcolicResultsOrBuilder(
          int index) {
        if (concolicResultsBuilder_ == null) {
          return concolicResults_.get(index);  } else {
          return concolicResultsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public java.util.List<? extends proto.Behavior.ConcolicAnalysisOrBuilder> 
           getConcolicResultsOrBuilderList() {
        if (concolicResultsBuilder_ != null) {
          return concolicResultsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(concolicResults_);
        }
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public proto.Behavior.ConcolicAnalysis.Builder addConcolicResultsBuilder() {
        return getConcolicResultsFieldBuilder().addBuilder(
            proto.Behavior.ConcolicAnalysis.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public proto.Behavior.ConcolicAnalysis.Builder addConcolicResultsBuilder(
          int index) {
        return getConcolicResultsFieldBuilder().addBuilder(
            index, proto.Behavior.ConcolicAnalysis.getDefaultInstance());
      }
      /**
       * <code>repeated .proto.ConcolicAnalysis concolic_results = 4;</code>
       */
      public java.util.List<proto.Behavior.ConcolicAnalysis.Builder> 
           getConcolicResultsBuilderList() {
        return getConcolicResultsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          proto.Behavior.ConcolicAnalysis, proto.Behavior.ConcolicAnalysis.Builder, proto.Behavior.ConcolicAnalysisOrBuilder> 
          getConcolicResultsFieldBuilder() {
        if (concolicResultsBuilder_ == null) {
          concolicResultsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              proto.Behavior.ConcolicAnalysis, proto.Behavior.ConcolicAnalysis.Builder, proto.Behavior.ConcolicAnalysisOrBuilder>(
                  concolicResults_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          concolicResults_ = null;
        }
        return concolicResultsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:proto.AnalysisResult)
    }

    // @@protoc_insertion_point(class_scope:proto.AnalysisResult)
    private static final proto.Behavior.AnalysisResult DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new proto.Behavior.AnalysisResult();
    }

    public static proto.Behavior.AnalysisResult getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public proto.Behavior.AnalysisResult getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_NetworkActivity_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_NetworkActivity_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_FileActivity_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_FileActivity_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_SensitivenActivity_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_SensitivenActivity_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_ProcessActivity_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_ProcessActivity_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_DynamicAnalysis_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_DynamicAnalysis_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_StaticAnalysis_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_StaticAnalysis_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_ConcolicAnalysis_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_ConcolicAnalysis_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_AnalysisResult_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_proto_AnalysisResult_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\016behavior.proto\022\005proto\032\ninfo.proto\032\014mod" +
      "ule.proto\"\302\001\n\017NetworkActivity\022\016\n\006domain\030" +
      "\001 \001(\t\022\013\n\003url\030\002 \001(\t\022\n\n\002ip\030\003 \001(\t\022\014\n\004port\030\004" +
      " \001(\005\022\020\n\010protocol\030\005 \001(\t\022\024\n\014send_content\030\006" +
      " \001(\t\022\031\n\021send_content_size\030\007 \001(\005\022\027\n\017recei" +
      "ve_content\030\010 \001(\t\022\034\n\024receive_content_size" +
      "\030\t \001(\005\"\236\002\n\014FileActivity\022\020\n\010filename\030\001 \001(" +
      "\t\022\020\n\010filepath\030\002 \001(\t\022\014\n\004mode\030\003 \001(\t\022\022\n\nper" +
      "mission\030\004 \001(\t\022\024\n\014read_content\030\005 \001(\t\022\031\n\021r" +
      "ead_content_size\030\006 \001(\t\022\023\n\013add_content\030\007 " +
      "\001(\t\022\030\n\020add_content_size\030\010 \001(\005\022\026\n\016remove_" +
      "content\030\t \001(\t\022\033\n\023remove_content_size\030\n \001" +
      "(\005\022\026\n\016modify_content\030\013 \001(\t\022\033\n\023modify_con" +
      "tent_size\030\014 \001(\005\"\207\001\n\022SensitivenActivity\022\013" +
      "\n\003pid\030\001 \001(\t\022\017\n\007cmdline\030\002 \001(\t\022\013\n\003exe\030\003 \001(" +
      "\t\022\013\n\003cwd\030\004 \001(\t\022\014\n\004root\030\005 \001(\t\022\014\n\004ppid\030\006 \001" +
      "(\t\022\014\n\004user\030\007 \001(\t\022\017\n\007syscall\030\010 \001(\t\"\362\002\n\017Pr" +
      "ocessActivity\022\013\n\003pid\030\001 \001(\t\022\017\n\007cmdline\030\002 " +
      "\001(\t\022\013\n\003exe\030\003 \001(\t\022\013\n\003cwd\030\004 \001(\t\022\014\n\004root\030\005 " +
      "\001(\t\022\014\n\004ppid\030\006 \001(\t\022\014\n\004user\030\007 \001(\t\022\022\n\npermi" +
      "ssion\030\010 \001(\t\022\024\n\014main_process\030\t \001(\010\0222\n\022net" +
      "work_activities\030\n \003(\0132\026.proto.NetworkAct" +
      "ivity\022,\n\017file_activities\030\013 \003(\0132\023.proto.F" +
      "ileActivity\0228\n\030child_process_activities\030" +
      "\014 \003(\0132\026.proto.ProcessActivity\0227\n\024sensiti" +
      "ve_activities\030\r \003(\0132\031.proto.SensitivenAc" +
      "tivity\"\323\001\n\017DynamicAnalysis\022*\n\ranalysis_t" +
      "ype\030\001 \001(\0162\023.proto.AnalysisType\022&\n\010exe_ty" +
      "pe\030\002 \001(\0162\024.proto.ExecutionType\022\020\n\010exe_us" +
      "er\030\003 \001(\t\022\021\n\ttimestamp\030\004 \001(\t\022\025\n\rend_times" +
      "tamp\030\005 \001(\t\0220\n\020process_activity\030\006 \001(\0132\026.p" +
      "roto.ProcessActivity\"{\n\016StaticAnalysis\022*" +
      "\n\ranalysis_type\030\001 \001(\0162\023.proto.AnalysisTy" +
      "pe\022\021\n\ttimestamp\030\002 \001(\t\022*\n\rcode_activity\030\003" +
      " \001(\0132\023.proto.ModuleStatic\"\324\001\n\020ConcolicAn" +
      "alysis\022*\n\ranalysis_type\030\001 \001(\0162\023.proto.An" +
      "alysisType\022&\n\010exe_type\030\002 \001(\0162\024.proto.Exe" +
      "cutionType\022\020\n\010exe_user\030\003 \001(\t\022\021\n\ttimestam" +
      "p\030\004 \001(\t\022\025\n\rend_timestamp\030\005 \001(\t\0220\n\020proces" +
      "s_activity\030\006 \001(\0132\026.proto.ProcessActivity" +
      "\"\315\001\n\016AnalysisResult\022(\n\014package_info\030\001 \001(" +
      "\0132\022.proto.PackageInfo\022/\n\017dynamic_results" +
      "\030\002 \003(\0132\026.proto.DynamicAnalysis\022-\n\016static" +
      "_results\030\003 \003(\0132\025.proto.StaticAnalysis\0221\n" +
      "\020concolic_results\030\004 \003(\0132\027.proto.Concolic" +
      "Analysis*>\n\rExecutionType\022\013\n\007INSTALL\020\000\022\010" +
      "\n\004MAIN\020\001\022\014\n\010EXERCISE\020\002\022\010\n\004TEST\020\003*Q\n\014Anal" +
      "ysisType\022\r\n\tAPI_USAGE\020\000\022\020\n\014REACHABILITY\020" +
      "\001\022\022\n\016TAINT_TRACKING\020\002\022\014\n\010SYMBOLIC\020\003b\006pro" +
      "to3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          proto.Info.getDescriptor(),
          proto.Module.getDescriptor(),
        }, assigner);
    internal_static_proto_NetworkActivity_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_proto_NetworkActivity_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_NetworkActivity_descriptor,
        new java.lang.String[] { "Domain", "Url", "Ip", "Port", "Protocol", "SendContent", "SendContentSize", "ReceiveContent", "ReceiveContentSize", });
    internal_static_proto_FileActivity_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_proto_FileActivity_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_FileActivity_descriptor,
        new java.lang.String[] { "Filename", "Filepath", "Mode", "Permission", "ReadContent", "ReadContentSize", "AddContent", "AddContentSize", "RemoveContent", "RemoveContentSize", "ModifyContent", "ModifyContentSize", });
    internal_static_proto_SensitivenActivity_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_proto_SensitivenActivity_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_SensitivenActivity_descriptor,
        new java.lang.String[] { "Pid", "Cmdline", "Exe", "Cwd", "Root", "Ppid", "User", "Syscall", });
    internal_static_proto_ProcessActivity_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_proto_ProcessActivity_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_ProcessActivity_descriptor,
        new java.lang.String[] { "Pid", "Cmdline", "Exe", "Cwd", "Root", "Ppid", "User", "Permission", "MainProcess", "NetworkActivities", "FileActivities", "ChildProcessActivities", "SensitiveActivities", });
    internal_static_proto_DynamicAnalysis_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_proto_DynamicAnalysis_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_DynamicAnalysis_descriptor,
        new java.lang.String[] { "AnalysisType", "ExeType", "ExeUser", "Timestamp", "EndTimestamp", "ProcessActivity", });
    internal_static_proto_StaticAnalysis_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_proto_StaticAnalysis_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_StaticAnalysis_descriptor,
        new java.lang.String[] { "AnalysisType", "Timestamp", "CodeActivity", });
    internal_static_proto_ConcolicAnalysis_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_proto_ConcolicAnalysis_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_ConcolicAnalysis_descriptor,
        new java.lang.String[] { "AnalysisType", "ExeType", "ExeUser", "Timestamp", "EndTimestamp", "ProcessActivity", });
    internal_static_proto_AnalysisResult_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_proto_AnalysisResult_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_proto_AnalysisResult_descriptor,
        new java.lang.String[] { "PackageInfo", "DynamicResults", "StaticResults", "ConcolicResults", });
    proto.Info.getDescriptor();
    proto.Module.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
