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

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "csd.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/io/zero_copy_stream_impl_lite.h>
// @@protoc_insertion_point(includes)

namespace safe_browsing {
class ChromeUserPopulationDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ChromeUserPopulation>
     _instance;
} _ChromeUserPopulation_default_instance_;
class ClientPhishingRequest_FeatureDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientPhishingRequest_Feature>
     _instance;
} _ClientPhishingRequest_Feature_default_instance_;
class ClientPhishingRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientPhishingRequest>
     _instance;
} _ClientPhishingRequest_default_instance_;
class ClientPhishingResponseDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientPhishingResponse>
     _instance;
} _ClientPhishingResponse_default_instance_;
class ClientMalwareRequest_UrlInfoDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareRequest_UrlInfo>
     _instance;
} _ClientMalwareRequest_UrlInfo_default_instance_;
class ClientMalwareRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareRequest>
     _instance;
} _ClientMalwareRequest_default_instance_;
class LoginReputationClientRequest_Frame_FormDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_Frame_Form>
     _instance;
} _LoginReputationClientRequest_Frame_Form_default_instance_;
class LoginReputationClientRequest_FrameDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_Frame>
     _instance;
} _LoginReputationClientRequest_Frame_default_instance_;
class LoginReputationClientRequest_PasswordReuseEventDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest_PasswordReuseEvent>
     _instance;
} _LoginReputationClientRequest_PasswordReuseEvent_default_instance_;
class LoginReputationClientRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientRequest>
     _instance;
} _LoginReputationClientRequest_default_instance_;
class LoginReputationClientResponseDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<LoginReputationClientResponse>
     _instance;
} _LoginReputationClientResponse_default_instance_;
class ClientMalwareResponseDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientMalwareResponse>
     _instance;
} _ClientMalwareResponse_default_instance_;
class ClientDownloadRequest_DigestsDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_Digests>
     _instance;
} _ClientDownloadRequest_Digests_default_instance_;
class ClientDownloadRequest_ResourceDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_Resource>
     _instance;
} _ClientDownloadRequest_Resource_default_instance_;
class ClientDownloadRequest_CertificateChain_ElementDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_CertificateChain_Element>
     _instance;
} _ClientDownloadRequest_CertificateChain_Element_default_instance_;
class ClientDownloadRequest_CertificateChainDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_CertificateChain>
     _instance;
} _ClientDownloadRequest_CertificateChain_default_instance_;
class ClientDownloadRequest_ExtendedAttrDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_ExtendedAttr>
     _instance;
} _ClientDownloadRequest_ExtendedAttr_default_instance_;
class ClientDownloadRequest_SignatureInfoDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_SignatureInfo>
     _instance;
} _ClientDownloadRequest_SignatureInfo_default_instance_;
class ClientDownloadRequest_PEImageHeaders_DebugDataDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_PEImageHeaders_DebugData>
     _instance;
} _ClientDownloadRequest_PEImageHeaders_DebugData_default_instance_;
class ClientDownloadRequest_PEImageHeadersDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_PEImageHeaders>
     _instance;
} _ClientDownloadRequest_PEImageHeaders_default_instance_;
class ClientDownloadRequest_MachOHeaders_LoadCommandDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_MachOHeaders_LoadCommand>
     _instance;
} _ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_;
class ClientDownloadRequest_MachOHeadersDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_MachOHeaders>
     _instance;
} _ClientDownloadRequest_MachOHeaders_default_instance_;
class ClientDownloadRequest_ImageHeadersDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_ImageHeaders>
     _instance;
} _ClientDownloadRequest_ImageHeaders_default_instance_;
class ClientDownloadRequest_ArchivedBinaryDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest_ArchivedBinary>
     _instance;
} _ClientDownloadRequest_ArchivedBinary_default_instance_;
class ClientDownloadRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadRequest>
     _instance;
} _ClientDownloadRequest_default_instance_;
class ReferrerChainEntry_ServerRedirectDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ReferrerChainEntry_ServerRedirect>
     _instance;
} _ReferrerChainEntry_ServerRedirect_default_instance_;
class ReferrerChainEntryDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ReferrerChainEntry>
     _instance;
} _ReferrerChainEntry_default_instance_;
class ClientDownloadResponse_MoreInfoDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadResponse_MoreInfo>
     _instance;
} _ClientDownloadResponse_MoreInfo_default_instance_;
class ClientDownloadResponseDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadResponse>
     _instance;
} _ClientDownloadResponse_default_instance_;
class ClientDownloadReport_UserInformationDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadReport_UserInformation>
     _instance;
} _ClientDownloadReport_UserInformation_default_instance_;
class ClientDownloadReportDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientDownloadReport>
     _instance;
} _ClientDownloadReport_default_instance_;
class ClientUploadResponseDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientUploadResponse>
     _instance;
} _ClientUploadResponse_default_instance_;
class ClientIncidentReport_IncidentData_TrackedPreferenceIncidentDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_TrackedPreferenceIncident>
     _instance;
} _ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_;
class ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFileDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile>
     _instance;
} _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_;
class ClientIncidentReport_IncidentData_BinaryIntegrityIncidentDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_BinaryIntegrityIncident>
     _instance;
} _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_;
class ClientIncidentReport_IncidentData_ResourceRequestIncidentDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData_ResourceRequestIncident>
     _instance;
} _ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_;
class ClientIncidentReport_IncidentDataDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_IncidentData>
     _instance;
} _ClientIncidentReport_IncidentData_default_instance_;
class ClientIncidentReport_DownloadDetailsDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_DownloadDetails>
     _instance;
} _ClientIncidentReport_DownloadDetails_default_instance_;
class ClientIncidentReport_EnvironmentData_OS_RegistryValueDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_OS_RegistryValue>
     _instance;
} _ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_;
class ClientIncidentReport_EnvironmentData_OS_RegistryKeyDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_OS_RegistryKey>
     _instance;
} _ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_;
class ClientIncidentReport_EnvironmentData_OSDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_OS>
     _instance;
} _ClientIncidentReport_EnvironmentData_OS_default_instance_;
class ClientIncidentReport_EnvironmentData_MachineDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_Machine>
     _instance;
} _ClientIncidentReport_EnvironmentData_Machine_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_PatchDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_Process_Patch>
     _instance;
} _ClientIncidentReport_EnvironmentData_Process_Patch_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_NetworkProviderDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_Process_NetworkProvider>
     _instance;
} _ClientIncidentReport_EnvironmentData_Process_NetworkProvider_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_DllDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_Process_Dll>
     _instance;
} _ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_ModuleState_ModificationDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification>
     _instance;
} _ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification_default_instance_;
class ClientIncidentReport_EnvironmentData_Process_ModuleStateDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_Process_ModuleState>
     _instance;
} _ClientIncidentReport_EnvironmentData_Process_ModuleState_default_instance_;
class ClientIncidentReport_EnvironmentData_ProcessDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData_Process>
     _instance;
} _ClientIncidentReport_EnvironmentData_Process_default_instance_;
class ClientIncidentReport_EnvironmentDataDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_EnvironmentData>
     _instance;
} _ClientIncidentReport_EnvironmentData_default_instance_;
class ClientIncidentReport_ExtensionData_ExtensionInfoDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_ExtensionData_ExtensionInfo>
     _instance;
} _ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_;
class ClientIncidentReport_ExtensionDataDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_ExtensionData>
     _instance;
} _ClientIncidentReport_ExtensionData_default_instance_;
class ClientIncidentReport_NonBinaryDownloadDetailsDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport_NonBinaryDownloadDetails>
     _instance;
} _ClientIncidentReport_NonBinaryDownloadDetails_default_instance_;
class ClientIncidentReportDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentReport>
     _instance;
} _ClientIncidentReport_default_instance_;
class ClientIncidentResponse_EnvironmentRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentResponse_EnvironmentRequest>
     _instance;
} _ClientIncidentResponse_EnvironmentRequest_default_instance_;
class ClientIncidentResponseDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientIncidentResponse>
     _instance;
} _ClientIncidentResponse_default_instance_;
class DownloadMetadataDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<DownloadMetadata>
     _instance;
} _DownloadMetadata_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPHeaderDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_HTTPHeader>
     _instance;
} _ClientSafeBrowsingReportRequest_HTTPHeader_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPRequest_FirstLineDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine>
     _instance;
} _ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_HTTPRequest>
     _instance;
} _ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPResponse_FirstLineDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine>
     _instance;
} _ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_;
class ClientSafeBrowsingReportRequest_HTTPResponseDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_HTTPResponse>
     _instance;
} _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_;
class ClientSafeBrowsingReportRequest_ResourceDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_Resource>
     _instance;
} _ClientSafeBrowsingReportRequest_Resource_default_instance_;
class ClientSafeBrowsingReportRequest_SafeBrowsingClientPropertiesDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties>
     _instance;
} _ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_;
class ClientSafeBrowsingReportRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ClientSafeBrowsingReportRequest>
     _instance;
} _ClientSafeBrowsingReportRequest_default_instance_;
class HTMLElement_AttributeDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<HTMLElement_Attribute>
     _instance;
} _HTMLElement_Attribute_default_instance_;
class HTMLElementDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<HTMLElement>
     _instance;
} _HTMLElement_default_instance_;
class ImageData_DimensionsDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ImageData_Dimensions>
     _instance;
} _ImageData_Dimensions_default_instance_;
class ImageDataDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<ImageData>
     _instance;
} _ImageData_default_instance_;
class NotificationImageReportRequestDefaultTypeInternal {
public:
 ::google::protobuf::internal::ExplicitlyConstructed<NotificationImageReportRequest>
     _instance;
} _NotificationImageReportRequest_default_instance_;

namespace protobuf_csd_2eproto {

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
    const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
};

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
    const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  ::google::protobuf::internal::AuxillaryParseTableField(),
};
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
    TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
  { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
};

void TableStruct::InitDefaultsImpl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::google::protobuf::internal::InitProtobufDefaults();
  _ChromeUserPopulation_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ChromeUserPopulation_default_instance_);_ClientPhishingRequest_Feature_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientPhishingRequest_Feature_default_instance_);_ClientPhishingRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientPhishingRequest_default_instance_);_ClientPhishingResponse_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientPhishingResponse_default_instance_);_ClientMalwareRequest_UrlInfo_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientMalwareRequest_UrlInfo_default_instance_);_ClientMalwareRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientMalwareRequest_default_instance_);_LoginReputationClientRequest_Frame_Form_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LoginReputationClientRequest_Frame_Form_default_instance_);_LoginReputationClientRequest_Frame_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LoginReputationClientRequest_Frame_default_instance_);_LoginReputationClientRequest_PasswordReuseEvent_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);_LoginReputationClientRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LoginReputationClientRequest_default_instance_);_LoginReputationClientResponse_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_LoginReputationClientResponse_default_instance_);_ClientMalwareResponse_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientMalwareResponse_default_instance_);_ClientDownloadRequest_Digests_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_Digests_default_instance_);_ClientDownloadRequest_Resource_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_Resource_default_instance_);_ClientDownloadRequest_CertificateChain_Element_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_CertificateChain_Element_default_instance_);_ClientDownloadRequest_CertificateChain_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_CertificateChain_default_instance_);_ClientDownloadRequest_ExtendedAttr_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_ExtendedAttr_default_instance_);_ClientDownloadRequest_SignatureInfo_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_SignatureInfo_default_instance_);_ClientDownloadRequest_PEImageHeaders_DebugData_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_PEImageHeaders_DebugData_default_instance_);_ClientDownloadRequest_PEImageHeaders_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_PEImageHeaders_default_instance_);_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_MachOHeaders_LoadCommand_default_instance_);_ClientDownloadRequest_MachOHeaders_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_MachOHeaders_default_instance_);_ClientDownloadRequest_ImageHeaders_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_ImageHeaders_default_instance_);_ClientDownloadRequest_ArchivedBinary_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_ArchivedBinary_default_instance_);_ClientDownloadRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadRequest_default_instance_);_ReferrerChainEntry_ServerRedirect_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ReferrerChainEntry_ServerRedirect_default_instance_);_ReferrerChainEntry_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ReferrerChainEntry_default_instance_);_ClientDownloadResponse_MoreInfo_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadResponse_MoreInfo_default_instance_);_ClientDownloadResponse_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadResponse_default_instance_);_ClientDownloadReport_UserInformation_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadReport_UserInformation_default_instance_);_ClientDownloadReport_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientDownloadReport_default_instance_);_ClientUploadResponse_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientUploadResponse_default_instance_);_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_);_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_);_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);_ClientIncidentReport_IncidentData_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_IncidentData_default_instance_);_ClientIncidentReport_DownloadDetails_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_DownloadDetails_default_instance_);_ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_OS_RegistryValue_default_instance_);_ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_OS_RegistryKey_default_instance_);_ClientIncidentReport_EnvironmentData_OS_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_OS_default_instance_);_ClientIncidentReport_EnvironmentData_Machine_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_Machine_default_instance_);_ClientIncidentReport_EnvironmentData_Process_Patch_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_Process_Patch_default_instance_);_ClientIncidentReport_EnvironmentData_Process_NetworkProvider_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_Process_NetworkProvider_default_instance_);_ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_);_ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification_default_instance_);_ClientIncidentReport_EnvironmentData_Process_ModuleState_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_Process_ModuleState_default_instance_);_ClientIncidentReport_EnvironmentData_Process_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_Process_default_instance_);_ClientIncidentReport_EnvironmentData_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_EnvironmentData_default_instance_);_ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_);_ClientIncidentReport_ExtensionData_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_ExtensionData_default_instance_);_ClientIncidentReport_NonBinaryDownloadDetails_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_NonBinaryDownloadDetails_default_instance_);_ClientIncidentReport_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentReport_default_instance_);_ClientIncidentResponse_EnvironmentRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentResponse_EnvironmentRequest_default_instance_);_ClientIncidentResponse_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientIncidentResponse_default_instance_);_DownloadMetadata_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_DownloadMetadata_default_instance_);_ClientSafeBrowsingReportRequest_HTTPHeader_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_HTTPHeader_default_instance_);_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_);_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_);_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_);_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_);_ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_Resource_default_instance_);_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);_ClientSafeBrowsingReportRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ClientSafeBrowsingReportRequest_default_instance_);_HTMLElement_Attribute_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_HTMLElement_Attribute_default_instance_);_HTMLElement_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_HTMLElement_default_instance_);_ImageData_Dimensions_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ImageData_Dimensions_default_instance_);_ImageData_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_ImageData_default_instance_);_NotificationImageReportRequest_default_instance_._instance.DefaultConstruct();
  ::google::protobuf::internal::OnShutdownDestroyMessage(
      &_NotificationImageReportRequest_default_instance_);_ClientPhishingRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
      ::safe_browsing::ChromeUserPopulation::internal_default_instance());
  _ClientMalwareRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
      ::safe_browsing::ChromeUserPopulation::internal_default_instance());
  _LoginReputationClientRequest_default_instance_._instance.get_mutable()->password_reuse_event_ = const_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent*>(
      ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::internal_default_instance());
  _LoginReputationClientRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
      ::safe_browsing::ChromeUserPopulation::internal_default_instance());
  _ClientDownloadRequest_ImageHeaders_default_instance_._instance.get_mutable()->pe_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_PEImageHeaders*>(
      ::safe_browsing::ClientDownloadRequest_PEImageHeaders::internal_default_instance());
  _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->digests_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
      ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
  _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
  _ClientDownloadRequest_ArchivedBinary_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
  _ClientDownloadRequest_default_instance_._instance.get_mutable()->digests_ = const_cast< ::safe_browsing::ClientDownloadRequest_Digests*>(
      ::safe_browsing::ClientDownloadRequest_Digests::internal_default_instance());
  _ClientDownloadRequest_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
  _ClientDownloadRequest_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
  _ClientDownloadRequest_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
      ::safe_browsing::ChromeUserPopulation::internal_default_instance());
  _ClientDownloadResponse_default_instance_._instance.get_mutable()->more_info_ = const_cast< ::safe_browsing::ClientDownloadResponse_MoreInfo*>(
      ::safe_browsing::ClientDownloadResponse_MoreInfo::internal_default_instance());
  _ClientDownloadReport_default_instance_._instance.get_mutable()->download_request_ = const_cast< ::safe_browsing::ClientDownloadRequest*>(
      ::safe_browsing::ClientDownloadRequest::internal_default_instance());
  _ClientDownloadReport_default_instance_._instance.get_mutable()->user_information_ = const_cast< ::safe_browsing::ClientDownloadReport_UserInformation*>(
      ::safe_browsing::ClientDownloadReport_UserInformation::internal_default_instance());
  _ClientDownloadReport_default_instance_._instance.get_mutable()->download_response_ = const_cast< ::safe_browsing::ClientDownloadResponse*>(
      ::safe_browsing::ClientDownloadResponse::internal_default_instance());
  _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
  _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
  _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.get_mutable()->signature_ = const_cast< ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      ::safe_browsing::ClientDownloadRequest_SignatureInfo::internal_default_instance());
  _ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->tracked_preference_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident*>(
      ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::internal_default_instance());
  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->binary_integrity_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident*>(
      ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::internal_default_instance());
  _ClientIncidentReport_IncidentData_default_instance_._instance.get_mutable()->resource_request_ = const_cast< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident*>(
      ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::internal_default_instance());
  _ClientIncidentReport_DownloadDetails_default_instance_._instance.get_mutable()->download_ = const_cast< ::safe_browsing::ClientDownloadRequest*>(
      ::safe_browsing::ClientDownloadRequest::internal_default_instance());
  _ClientIncidentReport_EnvironmentData_Process_Dll_default_instance_._instance.get_mutable()->image_headers_ = const_cast< ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      ::safe_browsing::ClientDownloadRequest_ImageHeaders::internal_default_instance());
  _ClientIncidentReport_EnvironmentData_default_instance_._instance.get_mutable()->os_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS*>(
      ::safe_browsing::ClientIncidentReport_EnvironmentData_OS::internal_default_instance());
  _ClientIncidentReport_EnvironmentData_default_instance_._instance.get_mutable()->machine_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine*>(
      ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine::internal_default_instance());
  _ClientIncidentReport_EnvironmentData_default_instance_._instance.get_mutable()->process_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process*>(
      ::safe_browsing::ClientIncidentReport_EnvironmentData_Process::internal_default_instance());
  _ClientIncidentReport_ExtensionData_default_instance_._instance.get_mutable()->last_installed_extension_ = const_cast< ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo*>(
      ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo::internal_default_instance());
  _ClientIncidentReport_default_instance_._instance.get_mutable()->download_ = const_cast< ::safe_browsing::ClientIncidentReport_DownloadDetails*>(
      ::safe_browsing::ClientIncidentReport_DownloadDetails::internal_default_instance());
  _ClientIncidentReport_default_instance_._instance.get_mutable()->environment_ = const_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData*>(
      ::safe_browsing::ClientIncidentReport_EnvironmentData::internal_default_instance());
  _ClientIncidentReport_default_instance_._instance.get_mutable()->population_ = const_cast< ::safe_browsing::ChromeUserPopulation*>(
      ::safe_browsing::ChromeUserPopulation::internal_default_instance());
  _ClientIncidentReport_default_instance_._instance.get_mutable()->extension_data_ = const_cast< ::safe_browsing::ClientIncidentReport_ExtensionData*>(
      ::safe_browsing::ClientIncidentReport_ExtensionData::internal_default_instance());
  _ClientIncidentReport_default_instance_._instance.get_mutable()->non_binary_download_ = const_cast< ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails*>(
      ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails::internal_default_instance());
  _DownloadMetadata_default_instance_._instance.get_mutable()->download_ = const_cast< ::safe_browsing::ClientIncidentReport_DownloadDetails*>(
      ::safe_browsing::ClientIncidentReport_DownloadDetails::internal_default_instance());
  _ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_._instance.get_mutable()->firstline_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine*>(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::internal_default_instance());
  _ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_._instance.get_mutable()->firstline_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine*>(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::internal_default_instance());
  _ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.get_mutable()->request_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest*>(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest::internal_default_instance());
  _ClientSafeBrowsingReportRequest_Resource_default_instance_._instance.get_mutable()->response_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse*>(
      ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse::internal_default_instance());
  _ClientSafeBrowsingReportRequest_default_instance_._instance.get_mutable()->client_properties_ = const_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
      ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::internal_default_instance());
  _ImageData_default_instance_._instance.get_mutable()->dimensions_ = const_cast< ::safe_browsing::ImageData_Dimensions*>(
      ::safe_browsing::ImageData_Dimensions::internal_default_instance());
  _ImageData_default_instance_._instance.get_mutable()->original_dimensions_ = const_cast< ::safe_browsing::ImageData_Dimensions*>(
      ::safe_browsing::ImageData_Dimensions::internal_default_instance());
  _NotificationImageReportRequest_default_instance_._instance.get_mutable()->image_ = const_cast< ::safe_browsing::ImageData*>(
      ::safe_browsing::ImageData::internal_default_instance());
}

void InitDefaults() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
}
namespace {
void AddDescriptorsImpl() {
  InitDefaults();
}
} // anonymous namespace

void AddDescriptors() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
}

}  // namespace protobuf_csd_2eproto

bool ChromeUserPopulation_UserPopulation_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UNKNOWN_USER_POPULATION;
const ChromeUserPopulation_UserPopulation ChromeUserPopulation::SAFE_BROWSING;
const ChromeUserPopulation_UserPopulation ChromeUserPopulation::EXTENDED_REPORTING;
const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UserPopulation_MIN;
const ChromeUserPopulation_UserPopulation ChromeUserPopulation::UserPopulation_MAX;
const int ChromeUserPopulation::UserPopulation_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::NOT_SIGNED_IN;
const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::GMAIL;
const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::GSUITE;
const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_MIN;
const LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_MAX;
const int LoginReputationClientRequest_PasswordReuseEvent::SyncAccountType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool LoginReputationClientRequest_TriggerType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TRIGGER_TYPE_UNSPECIFIED;
const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::UNFAMILIAR_LOGIN_PAGE;
const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::PASSWORD_REUSE_EVENT;
const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TriggerType_MIN;
const LoginReputationClientRequest_TriggerType LoginReputationClientRequest::TriggerType_MAX;
const int LoginReputationClientRequest::TriggerType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool LoginReputationClientResponse_VerdictType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VERDICT_TYPE_UNSPECIFIED;
const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::SAFE;
const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::LOW_REPUTATION;
const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::PHISHING;
const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VerdictType_MIN;
const LoginReputationClientResponse_VerdictType LoginReputationClientResponse::VerdictType_MAX;
const int LoginReputationClientResponse::VerdictType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientDownloadRequest_ResourceType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientDownloadRequest_ResourceType ClientDownloadRequest::DOWNLOAD_URL;
const ClientDownloadRequest_ResourceType ClientDownloadRequest::DOWNLOAD_REDIRECT;
const ClientDownloadRequest_ResourceType ClientDownloadRequest::TAB_URL;
const ClientDownloadRequest_ResourceType ClientDownloadRequest::TAB_REDIRECT;
const ClientDownloadRequest_ResourceType ClientDownloadRequest::PPAPI_DOCUMENT;
const ClientDownloadRequest_ResourceType ClientDownloadRequest::PPAPI_PLUGIN;
const ClientDownloadRequest_ResourceType ClientDownloadRequest::ResourceType_MIN;
const ClientDownloadRequest_ResourceType ClientDownloadRequest::ResourceType_MAX;
const int ClientDownloadRequest::ResourceType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientDownloadRequest_DownloadType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientDownloadRequest_DownloadType ClientDownloadRequest::WIN_EXECUTABLE;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::CHROME_EXTENSION;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::ANDROID_APK;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::ZIPPED_EXECUTABLE;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::MAC_EXECUTABLE;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::ZIPPED_ARCHIVE;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::ARCHIVE;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::INVALID_ZIP;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::INVALID_MAC_ARCHIVE;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::PPAPI_SAVE_REQUEST;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::SAMPLED_UNSUPPORTED_FILE;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::DownloadType_MIN;
const ClientDownloadRequest_DownloadType ClientDownloadRequest::DownloadType_MAX;
const int ClientDownloadRequest::DownloadType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ReferrerChainEntry_URLType_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ReferrerChainEntry_URLType ReferrerChainEntry::EVENT_URL;
const ReferrerChainEntry_URLType ReferrerChainEntry::LANDING_PAGE;
const ReferrerChainEntry_URLType ReferrerChainEntry::LANDING_REFERRER;
const ReferrerChainEntry_URLType ReferrerChainEntry::CLIENT_REDIRECT;
const ReferrerChainEntry_URLType ReferrerChainEntry::DEPRECATED_SERVER_REDIRECT;
const ReferrerChainEntry_URLType ReferrerChainEntry::URLType_MIN;
const ReferrerChainEntry_URLType ReferrerChainEntry::URLType_MAX;
const int ReferrerChainEntry::URLType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientDownloadResponse_Verdict_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientDownloadResponse_Verdict ClientDownloadResponse::SAFE;
const ClientDownloadResponse_Verdict ClientDownloadResponse::DANGEROUS;
const ClientDownloadResponse_Verdict ClientDownloadResponse::UNCOMMON;
const ClientDownloadResponse_Verdict ClientDownloadResponse::POTENTIALLY_UNWANTED;
const ClientDownloadResponse_Verdict ClientDownloadResponse::DANGEROUS_HOST;
const ClientDownloadResponse_Verdict ClientDownloadResponse::UNKNOWN;
const ClientDownloadResponse_Verdict ClientDownloadResponse::Verdict_MIN;
const ClientDownloadResponse_Verdict ClientDownloadResponse::Verdict_MAX;
const int ClientDownloadResponse::Verdict_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientDownloadReport_Reason_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientDownloadReport_Reason ClientDownloadReport::SHARE;
const ClientDownloadReport_Reason ClientDownloadReport::FALSE_POSITIVE;
const ClientDownloadReport_Reason ClientDownloadReport::APPEAL;
const ClientDownloadReport_Reason ClientDownloadReport::Reason_MIN;
const ClientDownloadReport_Reason ClientDownloadReport::Reason_MAX;
const int ClientDownloadReport::Reason_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientUploadResponse_UploadStatus_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientUploadResponse_UploadStatus ClientUploadResponse::SUCCESS;
const ClientUploadResponse_UploadStatus ClientUploadResponse::UPLOAD_FAILURE;
const ClientUploadResponse_UploadStatus ClientUploadResponse::UploadStatus_MIN;
const ClientUploadResponse_UploadStatus ClientUploadResponse::UploadStatus_MAX;
const int ClientUploadResponse::UploadStatus_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::UNKNOWN;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CLEARED;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::WEAK_LEGACY_OBSOLETE;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CHANGED;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::UNTRUSTED_UNKNOWN_VALUE;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::BYPASS_CLEARED;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::BYPASS_CHANGED;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_MIN;
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_MAX;
const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ValueState_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(int value) {
  switch (value) {
    case 0:
    case 3:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident::UNKNOWN;
const ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident::TYPE_PATTERN;
const ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident::Type_MIN;
const ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident::Type_MAX;
const int ClientIncidentReport_IncidentData_ResourceRequestIncident::Type_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll::UNKNOWN;
const ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll::LSP;
const ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll::Feature_MIN;
const ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll::Feature_MAX;
const int ClientIncidentReport_EnvironmentData_Process_Dll::Feature_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::UNKNOWN;
const ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::MODULE_STATE_UNKNOWN;
const ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::MODULE_STATE_UNMODIFIED;
const ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::MODULE_STATE_MODIFIED;
const ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::ModifiedState_MIN;
const ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::ModifiedState_MAX;
const int ClientIncidentReport_EnvironmentData_Process_ModuleState::ModifiedState_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientIncidentReport_EnvironmentData_Process_Channel_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::CHANNEL_UNKNOWN;
const ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::CHANNEL_CANARY;
const ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::CHANNEL_DEV;
const ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::CHANNEL_BETA;
const ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::CHANNEL_STABLE;
const ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::Channel_MIN;
const ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::Channel_MAX;
const int ClientIncidentReport_EnvironmentData_Process::Channel_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::STATE_UNKNOWN;
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::STATE_ENABLED;
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::STATE_DISABLED;
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::STATE_BLACKLISTED;
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::STATE_BLOCKED;
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::STATE_TERMINATED;
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::ExtensionState_MIN;
const ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::ExtensionState_MAX;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::ExtensionState_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientSafeBrowsingReportRequest_ReportType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 10:
    case 12:
    case 13:
    case 14:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::UNKNOWN;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_PHISHING;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_MALWARE;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_UNWANTED;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_CLIENT_SIDE_PHISHING;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_CLIENT_SIDE_MALWARE;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_RECOVERY;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_WARNING;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_BY_API;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::URL_PASSWORD_PROTECTION_PHISHING;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::DANGEROUS_DOWNLOAD_OPENED;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::AD_SAMPLE;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::ReportType_MIN;
const ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::ReportType_MAX;
const int ClientSafeBrowsingReportRequest::ReportType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
bool ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SAFE_BROWSING_URL_API_TYPE_UNSPECIFIED;
const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::PVER3_NATIVE;
const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::PVER4_NATIVE;
const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::ANDROID_SAFETYNET;
const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::FLYWHEEL;
const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_MIN;
const ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_MAX;
const int ClientSafeBrowsingReportRequest::SafeBrowsingUrlApiType_ARRAYSIZE;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ChromeUserPopulation::kUserPopulationFieldNumber;
const int ChromeUserPopulation::kIsHistorySyncEnabledFieldNumber;
const int ChromeUserPopulation::kFinchActiveGroupsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ChromeUserPopulation::ChromeUserPopulation()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ChromeUserPopulation)
}
ChromeUserPopulation::ChromeUserPopulation(const ChromeUserPopulation& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      finch_active_groups_(from.finch_active_groups_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&user_population_, &from.user_population_,
    static_cast<size_t>(reinterpret_cast<char*>(&is_history_sync_enabled_) -
    reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ChromeUserPopulation)
}

void ChromeUserPopulation::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&user_population_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&is_history_sync_enabled_) -
      reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
}

ChromeUserPopulation::~ChromeUserPopulation() {
  // @@protoc_insertion_point(destructor:safe_browsing.ChromeUserPopulation)
  SharedDtor();
}

void ChromeUserPopulation::SharedDtor() {
}

void ChromeUserPopulation::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ChromeUserPopulation& ChromeUserPopulation::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ChromeUserPopulation* ChromeUserPopulation::New(::google::protobuf::Arena* arena) const {
  ChromeUserPopulation* n = new ChromeUserPopulation;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ChromeUserPopulation::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ChromeUserPopulation)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  finch_active_groups_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&user_population_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&is_history_sync_enabled_) -
        reinterpret_cast<char*>(&user_population_)) + sizeof(is_history_sync_enabled_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ChromeUserPopulation::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ChromeUserPopulation)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ChromeUserPopulation_UserPopulation_IsValid(value)) {
            set_user_population(static_cast< ::safe_browsing::ChromeUserPopulation_UserPopulation >(value));
          } else {
            unknown_fields_stream.WriteVarint32(8u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool is_history_sync_enabled = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_is_history_sync_enabled();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_history_sync_enabled_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string finch_active_groups = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_finch_active_groups()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ChromeUserPopulation)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ChromeUserPopulation)
  return false;
#undef DO_
}

void ChromeUserPopulation::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ChromeUserPopulation)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->user_population(), output);
  }

  // optional bool is_history_sync_enabled = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_history_sync_enabled(), output);
  }

  // repeated string finch_active_groups = 4;
  for (int i = 0, n = this->finch_active_groups_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      4, this->finch_active_groups(i), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ChromeUserPopulation)
}

size_t ChromeUserPopulation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ChromeUserPopulation)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated string finch_active_groups = 4;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->finch_active_groups_size());
  for (int i = 0, n = this->finch_active_groups_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->finch_active_groups(i));
  }

  if (_has_bits_[0 / 32] & 3u) {
    // optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
    if (has_user_population()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->user_population());
    }

    // optional bool is_history_sync_enabled = 2;
    if (has_is_history_sync_enabled()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ChromeUserPopulation::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ChromeUserPopulation*>(&from));
}

void ChromeUserPopulation::MergeFrom(const ChromeUserPopulation& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ChromeUserPopulation)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  finch_active_groups_.MergeFrom(from.finch_active_groups_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      user_population_ = from.user_population_;
    }
    if (cached_has_bits & 0x00000002u) {
      is_history_sync_enabled_ = from.is_history_sync_enabled_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ChromeUserPopulation::CopyFrom(const ChromeUserPopulation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ChromeUserPopulation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ChromeUserPopulation::IsInitialized() const {
  return true;
}

void ChromeUserPopulation::Swap(ChromeUserPopulation* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ChromeUserPopulation::InternalSwap(ChromeUserPopulation* other) {
  using std::swap;
  finch_active_groups_.InternalSwap(&other->finch_active_groups_);
  swap(user_population_, other->user_population_);
  swap(is_history_sync_enabled_, other->is_history_sync_enabled_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ChromeUserPopulation::GetTypeName() const {
  return "safe_browsing.ChromeUserPopulation";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ChromeUserPopulation

// optional .safe_browsing.ChromeUserPopulation.UserPopulation user_population = 1;
bool ChromeUserPopulation::has_user_population() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ChromeUserPopulation::set_has_user_population() {
  _has_bits_[0] |= 0x00000001u;
}
void ChromeUserPopulation::clear_has_user_population() {
  _has_bits_[0] &= ~0x00000001u;
}
void ChromeUserPopulation::clear_user_population() {
  user_population_ = 0;
  clear_has_user_population();
}
::safe_browsing::ChromeUserPopulation_UserPopulation ChromeUserPopulation::user_population() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.user_population)
  return static_cast< ::safe_browsing::ChromeUserPopulation_UserPopulation >(user_population_);
}
void ChromeUserPopulation::set_user_population(::safe_browsing::ChromeUserPopulation_UserPopulation value) {
  assert(::safe_browsing::ChromeUserPopulation_UserPopulation_IsValid(value));
  set_has_user_population();
  user_population_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.user_population)
}

// optional bool is_history_sync_enabled = 2;
bool ChromeUserPopulation::has_is_history_sync_enabled() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ChromeUserPopulation::set_has_is_history_sync_enabled() {
  _has_bits_[0] |= 0x00000002u;
}
void ChromeUserPopulation::clear_has_is_history_sync_enabled() {
  _has_bits_[0] &= ~0x00000002u;
}
void ChromeUserPopulation::clear_is_history_sync_enabled() {
  is_history_sync_enabled_ = false;
  clear_has_is_history_sync_enabled();
}
bool ChromeUserPopulation::is_history_sync_enabled() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
  return is_history_sync_enabled_;
}
void ChromeUserPopulation::set_is_history_sync_enabled(bool value) {
  set_has_is_history_sync_enabled();
  is_history_sync_enabled_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.is_history_sync_enabled)
}

// repeated string finch_active_groups = 4;
int ChromeUserPopulation::finch_active_groups_size() const {
  return finch_active_groups_.size();
}
void ChromeUserPopulation::clear_finch_active_groups() {
  finch_active_groups_.Clear();
}
const ::std::string& ChromeUserPopulation::finch_active_groups(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return finch_active_groups_.Get(index);
}
::std::string* ChromeUserPopulation::mutable_finch_active_groups(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return finch_active_groups_.Mutable(index);
}
void ChromeUserPopulation::set_finch_active_groups(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
  finch_active_groups_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ChromeUserPopulation::set_finch_active_groups(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ChromeUserPopulation.finch_active_groups)
  finch_active_groups_.Mutable(index)->assign(std::move(value));
}
#endif
void ChromeUserPopulation::set_finch_active_groups(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  finch_active_groups_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
void ChromeUserPopulation::set_finch_active_groups(int index, const char* value, size_t size) {
  finch_active_groups_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
::std::string* ChromeUserPopulation::add_finch_active_groups() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return finch_active_groups_.Add();
}
void ChromeUserPopulation::add_finch_active_groups(const ::std::string& value) {
  finch_active_groups_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
#if LANG_CXX11
void ChromeUserPopulation::add_finch_active_groups(::std::string&& value) {
  finch_active_groups_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
#endif
void ChromeUserPopulation::add_finch_active_groups(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  finch_active_groups_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
void ChromeUserPopulation::add_finch_active_groups(const char* value, size_t size) {
  finch_active_groups_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ChromeUserPopulation.finch_active_groups)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ChromeUserPopulation::finch_active_groups() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return finch_active_groups_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ChromeUserPopulation::mutable_finch_active_groups() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ChromeUserPopulation.finch_active_groups)
  return &finch_active_groups_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientPhishingRequest_Feature::kNameFieldNumber;
const int ClientPhishingRequest_Feature::kValueFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientPhishingRequest_Feature::ClientPhishingRequest_Feature()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientPhishingRequest.Feature)
}
ClientPhishingRequest_Feature::ClientPhishingRequest_Feature(const ClientPhishingRequest_Feature& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_name()) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  value_ = from.value_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientPhishingRequest.Feature)
}

void ClientPhishingRequest_Feature::SharedCtor() {
  _cached_size_ = 0;
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_ = 0;
}

ClientPhishingRequest_Feature::~ClientPhishingRequest_Feature() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientPhishingRequest.Feature)
  SharedDtor();
}

void ClientPhishingRequest_Feature::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientPhishingRequest_Feature::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientPhishingRequest_Feature& ClientPhishingRequest_Feature::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientPhishingRequest_Feature* ClientPhishingRequest_Feature::New(::google::protobuf::Arena* arena) const {
  ClientPhishingRequest_Feature* n = new ClientPhishingRequest_Feature;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientPhishingRequest_Feature::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientPhishingRequest.Feature)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_name()) {
    GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*name_.UnsafeRawStringPointer())->clear();
  }
  value_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientPhishingRequest_Feature::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientPhishingRequest.Feature)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required double value = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
          set_has_value();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                 input, &value_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientPhishingRequest.Feature)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientPhishingRequest.Feature)
  return false;
#undef DO_
}

void ClientPhishingRequest_Feature::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientPhishingRequest.Feature)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // required double value = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->value(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientPhishingRequest.Feature)
}

size_t ClientPhishingRequest_Feature::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:safe_browsing.ClientPhishingRequest.Feature)
  size_t total_size = 0;

  if (has_name()) {
    // required string name = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  if (has_value()) {
    // required double value = 2;
    total_size += 1 + 8;
  }

  return total_size;
}
size_t ClientPhishingRequest_Feature::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientPhishingRequest.Feature)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
    // required string name = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());

    // required double value = 2;
    total_size += 1 + 8;

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientPhishingRequest_Feature::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientPhishingRequest_Feature*>(&from));
}

void ClientPhishingRequest_Feature::MergeFrom(const ClientPhishingRequest_Feature& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientPhishingRequest.Feature)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_name();
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (cached_has_bits & 0x00000002u) {
      value_ = from.value_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientPhishingRequest_Feature::CopyFrom(const ClientPhishingRequest_Feature& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientPhishingRequest.Feature)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientPhishingRequest_Feature::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  return true;
}

void ClientPhishingRequest_Feature::Swap(ClientPhishingRequest_Feature* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientPhishingRequest_Feature::InternalSwap(ClientPhishingRequest_Feature* other) {
  using std::swap;
  name_.Swap(&other->name_);
  swap(value_, other->value_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientPhishingRequest_Feature::GetTypeName() const {
  return "safe_browsing.ClientPhishingRequest.Feature";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientPhishingRequest_Feature

// required string name = 1;
bool ClientPhishingRequest_Feature::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientPhishingRequest_Feature::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientPhishingRequest_Feature::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientPhishingRequest_Feature::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
const ::std::string& ClientPhishingRequest_Feature::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.Feature.name)
  return name_.GetNoArena();
}
void ClientPhishingRequest_Feature::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.Feature.name)
}
#if LANG_CXX11
void ClientPhishingRequest_Feature::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientPhishingRequest.Feature.name)
}
#endif
void ClientPhishingRequest_Feature::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientPhishingRequest.Feature.name)
}
void ClientPhishingRequest_Feature::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientPhishingRequest.Feature.name)
}
::std::string* ClientPhishingRequest_Feature::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.Feature.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientPhishingRequest_Feature::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.Feature.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientPhishingRequest_Feature::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.Feature.name)
}

// required double value = 2;
bool ClientPhishingRequest_Feature::has_value() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientPhishingRequest_Feature::set_has_value() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientPhishingRequest_Feature::clear_has_value() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientPhishingRequest_Feature::clear_value() {
  value_ = 0;
  clear_has_value();
}
double ClientPhishingRequest_Feature::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.Feature.value)
  return value_;
}
void ClientPhishingRequest_Feature::set_value(double value) {
  set_has_value();
  value_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.Feature.value)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientPhishingRequest::kUrlFieldNumber;
const int ClientPhishingRequest::kOBSOLETEHashPrefixFieldNumber;
const int ClientPhishingRequest::kClientScoreFieldNumber;
const int ClientPhishingRequest::kIsPhishingFieldNumber;
const int ClientPhishingRequest::kFeatureMapFieldNumber;
const int ClientPhishingRequest::kModelVersionFieldNumber;
const int ClientPhishingRequest::kNonModelFeatureMapFieldNumber;
const int ClientPhishingRequest::kOBSOLETEReferrerUrlFieldNumber;
const int ClientPhishingRequest::kShingleHashesFieldNumber;
const int ClientPhishingRequest::kModelFilenameFieldNumber;
const int ClientPhishingRequest::kPopulationFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientPhishingRequest::ClientPhishingRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientPhishingRequest)
}
ClientPhishingRequest::ClientPhishingRequest(const ClientPhishingRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      feature_map_(from.feature_map_),
      non_model_feature_map_(from.non_model_feature_map_),
      shingle_hashes_(from.shingle_hashes_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  obsolete_referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_obsolete_referrer_url()) {
    obsolete_referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.obsolete_referrer_url_);
  }
  obsolete_hash_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_obsolete_hash_prefix()) {
    obsolete_hash_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.obsolete_hash_prefix_);
  }
  model_filename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_model_filename()) {
    model_filename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.model_filename_);
  }
  if (from.has_population()) {
    population_ = new ::safe_browsing::ChromeUserPopulation(*from.population_);
  } else {
    population_ = NULL;
  }
  ::memcpy(&client_score_, &from.client_score_,
    static_cast<size_t>(reinterpret_cast<char*>(&model_version_) -
    reinterpret_cast<char*>(&client_score_)) + sizeof(model_version_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientPhishingRequest)
}

void ClientPhishingRequest::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  obsolete_referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  obsolete_hash_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  model_filename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&population_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&model_version_) -
      reinterpret_cast<char*>(&population_)) + sizeof(model_version_));
}

ClientPhishingRequest::~ClientPhishingRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientPhishingRequest)
  SharedDtor();
}

void ClientPhishingRequest::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  obsolete_referrer_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  obsolete_hash_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  model_filename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete population_;
}

void ClientPhishingRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientPhishingRequest& ClientPhishingRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientPhishingRequest* ClientPhishingRequest::New(::google::protobuf::Arena* arena) const {
  ClientPhishingRequest* n = new ClientPhishingRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientPhishingRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientPhishingRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  feature_map_.Clear();
  non_model_feature_map_.Clear();
  shingle_hashes_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!obsolete_referrer_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*obsolete_referrer_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!obsolete_hash_prefix_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*obsolete_hash_prefix_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(!model_filename_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*model_filename_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(population_ != NULL);
      population_->::safe_browsing::ChromeUserPopulation::Clear();
    }
  }
  if (cached_has_bits & 224u) {
    ::memset(&client_score_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&model_version_) -
        reinterpret_cast<char*>(&client_score_)) + sizeof(model_version_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientPhishingRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientPhishingRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required float client_score = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(21u /* 21 & 0xFF */)) {
          set_has_client_score();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, &client_score_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool is_phishing = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_is_phishing();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_phishing_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientPhishingRequest.Feature feature_map = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_feature_map()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 model_version = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          set_has_model_version();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &model_version_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientPhishingRequest.Feature non_model_feature_map = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_non_model_feature_map()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string OBSOLETE_referrer_url = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_obsolete_referrer_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes OBSOLETE_hash_prefix = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(82u /* 82 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_obsolete_hash_prefix()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated uint32 shingle_hashes = 12 [packed = true];
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(98u /* 98 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, this->mutable_shingle_hashes())));
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(96u /* 96 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 1, 98u, input, this->mutable_shingle_hashes())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string model_filename = 13;
      case 13: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(106u /* 106 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_model_filename()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ChromeUserPopulation population = 14;
      case 14: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(114u /* 114 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_population()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientPhishingRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientPhishingRequest)
  return false;
#undef DO_
}

void ClientPhishingRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientPhishingRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->url(), output);
  }

  // required float client_score = 2;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->client_score(), output);
  }

  // optional bool is_phishing = 4;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->is_phishing(), output);
  }

  // repeated .safe_browsing.ClientPhishingRequest.Feature feature_map = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->feature_map_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, this->feature_map(static_cast<int>(i)), output);
  }

  // optional int32 model_version = 6;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->model_version(), output);
  }

  // repeated .safe_browsing.ClientPhishingRequest.Feature non_model_feature_map = 8;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->non_model_feature_map_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      8, this->non_model_feature_map(static_cast<int>(i)), output);
  }

  // optional string OBSOLETE_referrer_url = 9;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      9, this->obsolete_referrer_url(), output);
  }

  // optional bytes OBSOLETE_hash_prefix = 10;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      10, this->obsolete_hash_prefix(), output);
  }

  // repeated uint32 shingle_hashes = 12 [packed = true];
  if (this->shingle_hashes_size() > 0) {
    ::google::protobuf::internal::WireFormatLite::WriteTag(12, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
        _shingle_hashes_cached_byte_size_));
  }
  for (int i = 0, n = this->shingle_hashes_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
      this->shingle_hashes(i), output);
  }

  // optional string model_filename = 13;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      13, this->model_filename(), output);
  }

  // optional .safe_browsing.ChromeUserPopulation population = 14;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      14, *this->population_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientPhishingRequest)
}

size_t ClientPhishingRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientPhishingRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required float client_score = 2;
  if (has_client_score()) {
    total_size += 1 + 4;
  }
  // repeated .safe_browsing.ClientPhishingRequest.Feature feature_map = 5;
  {
    unsigned int count = static_cast<unsigned int>(this->feature_map_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->feature_map(static_cast<int>(i)));
    }
  }

  // repeated .safe_browsing.ClientPhishingRequest.Feature non_model_feature_map = 8;
  {
    unsigned int count = static_cast<unsigned int>(this->non_model_feature_map_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->non_model_feature_map(static_cast<int>(i)));
    }
  }

  // repeated uint32 shingle_hashes = 12 [packed = true];
  {
    size_t data_size = ::google::protobuf::internal::WireFormatLite::
      UInt32Size(this->shingle_hashes_);
    if (data_size > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
            static_cast< ::google::protobuf::int32>(data_size));
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    _shingle_hashes_cached_byte_size_ = cached_size;
    GOOGLE_SAFE_CONCURRENT_WRITES_END();
    total_size += data_size;
  }

  if (_has_bits_[0 / 32] & 31u) {
    // optional string url = 1;
    if (has_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->url());
    }

    // optional string OBSOLETE_referrer_url = 9;
    if (has_obsolete_referrer_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->obsolete_referrer_url());
    }

    // optional bytes OBSOLETE_hash_prefix = 10;
    if (has_obsolete_hash_prefix()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->obsolete_hash_prefix());
    }

    // optional string model_filename = 13;
    if (has_model_filename()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->model_filename());
    }

    // optional .safe_browsing.ChromeUserPopulation population = 14;
    if (has_population()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->population_);
    }

  }
  if (_has_bits_[0 / 32] & 192u) {
    // optional bool is_phishing = 4;
    if (has_is_phishing()) {
      total_size += 1 + 1;
    }

    // optional int32 model_version = 6;
    if (has_model_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->model_version());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientPhishingRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientPhishingRequest*>(&from));
}

void ClientPhishingRequest::MergeFrom(const ClientPhishingRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientPhishingRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  feature_map_.MergeFrom(from.feature_map_);
  non_model_feature_map_.MergeFrom(from.non_model_feature_map_);
  shingle_hashes_.MergeFrom(from.shingle_hashes_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_obsolete_referrer_url();
      obsolete_referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.obsolete_referrer_url_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_obsolete_hash_prefix();
      obsolete_hash_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.obsolete_hash_prefix_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_model_filename();
      model_filename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.model_filename_);
    }
    if (cached_has_bits & 0x00000010u) {
      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
    }
    if (cached_has_bits & 0x00000020u) {
      client_score_ = from.client_score_;
    }
    if (cached_has_bits & 0x00000040u) {
      is_phishing_ = from.is_phishing_;
    }
    if (cached_has_bits & 0x00000080u) {
      model_version_ = from.model_version_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientPhishingRequest::CopyFrom(const ClientPhishingRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientPhishingRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientPhishingRequest::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000020) != 0x00000020) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->feature_map())) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->non_model_feature_map())) return false;
  return true;
}

void ClientPhishingRequest::Swap(ClientPhishingRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientPhishingRequest::InternalSwap(ClientPhishingRequest* other) {
  using std::swap;
  feature_map_.InternalSwap(&other->feature_map_);
  non_model_feature_map_.InternalSwap(&other->non_model_feature_map_);
  shingle_hashes_.InternalSwap(&other->shingle_hashes_);
  url_.Swap(&other->url_);
  obsolete_referrer_url_.Swap(&other->obsolete_referrer_url_);
  obsolete_hash_prefix_.Swap(&other->obsolete_hash_prefix_);
  model_filename_.Swap(&other->model_filename_);
  swap(population_, other->population_);
  swap(client_score_, other->client_score_);
  swap(is_phishing_, other->is_phishing_);
  swap(model_version_, other->model_version_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientPhishingRequest::GetTypeName() const {
  return "safe_browsing.ClientPhishingRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientPhishingRequest

// optional string url = 1;
bool ClientPhishingRequest::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientPhishingRequest::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientPhishingRequest::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientPhishingRequest::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientPhishingRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.url)
  return url_.GetNoArena();
}
void ClientPhishingRequest::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.url)
}
#if LANG_CXX11
void ClientPhishingRequest::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientPhishingRequest.url)
}
#endif
void ClientPhishingRequest::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientPhishingRequest.url)
}
void ClientPhishingRequest::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientPhishingRequest.url)
}
::std::string* ClientPhishingRequest::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientPhishingRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientPhishingRequest::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.url)
}

// optional bytes OBSOLETE_hash_prefix = 10;
bool ClientPhishingRequest::has_obsolete_hash_prefix() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientPhishingRequest::set_has_obsolete_hash_prefix() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientPhishingRequest::clear_has_obsolete_hash_prefix() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientPhishingRequest::clear_obsolete_hash_prefix() {
  obsolete_hash_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_obsolete_hash_prefix();
}
const ::std::string& ClientPhishingRequest::obsolete_hash_prefix() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
  return obsolete_hash_prefix_.GetNoArena();
}
void ClientPhishingRequest::set_obsolete_hash_prefix(const ::std::string& value) {
  set_has_obsolete_hash_prefix();
  obsolete_hash_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
}
#if LANG_CXX11
void ClientPhishingRequest::set_obsolete_hash_prefix(::std::string&& value) {
  set_has_obsolete_hash_prefix();
  obsolete_hash_prefix_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
}
#endif
void ClientPhishingRequest::set_obsolete_hash_prefix(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_obsolete_hash_prefix();
  obsolete_hash_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
}
void ClientPhishingRequest::set_obsolete_hash_prefix(const void* value, size_t size) {
  set_has_obsolete_hash_prefix();
  obsolete_hash_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
}
::std::string* ClientPhishingRequest::mutable_obsolete_hash_prefix() {
  set_has_obsolete_hash_prefix();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
  return obsolete_hash_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientPhishingRequest::release_obsolete_hash_prefix() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
  clear_has_obsolete_hash_prefix();
  return obsolete_hash_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientPhishingRequest::set_allocated_obsolete_hash_prefix(::std::string* obsolete_hash_prefix) {
  if (obsolete_hash_prefix != NULL) {
    set_has_obsolete_hash_prefix();
  } else {
    clear_has_obsolete_hash_prefix();
  }
  obsolete_hash_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), obsolete_hash_prefix);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.OBSOLETE_hash_prefix)
}

// required float client_score = 2;
bool ClientPhishingRequest::has_client_score() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ClientPhishingRequest::set_has_client_score() {
  _has_bits_[0] |= 0x00000020u;
}
void ClientPhishingRequest::clear_has_client_score() {
  _has_bits_[0] &= ~0x00000020u;
}
void ClientPhishingRequest::clear_client_score() {
  client_score_ = 0;
  clear_has_client_score();
}
float ClientPhishingRequest::client_score() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.client_score)
  return client_score_;
}
void ClientPhishingRequest::set_client_score(float value) {
  set_has_client_score();
  client_score_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.client_score)
}

// optional bool is_phishing = 4;
bool ClientPhishingRequest::has_is_phishing() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
void ClientPhishingRequest::set_has_is_phishing() {
  _has_bits_[0] |= 0x00000040u;
}
void ClientPhishingRequest::clear_has_is_phishing() {
  _has_bits_[0] &= ~0x00000040u;
}
void ClientPhishingRequest::clear_is_phishing() {
  is_phishing_ = false;
  clear_has_is_phishing();
}
bool ClientPhishingRequest::is_phishing() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.is_phishing)
  return is_phishing_;
}
void ClientPhishingRequest::set_is_phishing(bool value) {
  set_has_is_phishing();
  is_phishing_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.is_phishing)
}

// repeated .safe_browsing.ClientPhishingRequest.Feature feature_map = 5;
int ClientPhishingRequest::feature_map_size() const {
  return feature_map_.size();
}
void ClientPhishingRequest::clear_feature_map() {
  feature_map_.Clear();
}
const ::safe_browsing::ClientPhishingRequest_Feature& ClientPhishingRequest::feature_map(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.feature_map)
  return feature_map_.Get(index);
}
::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::mutable_feature_map(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.feature_map)
  return feature_map_.Mutable(index);
}
::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::add_feature_map() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingRequest.feature_map)
  return feature_map_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >*
ClientPhishingRequest::mutable_feature_map() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingRequest.feature_map)
  return &feature_map_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >&
ClientPhishingRequest::feature_map() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingRequest.feature_map)
  return feature_map_;
}

// optional int32 model_version = 6;
bool ClientPhishingRequest::has_model_version() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
void ClientPhishingRequest::set_has_model_version() {
  _has_bits_[0] |= 0x00000080u;
}
void ClientPhishingRequest::clear_has_model_version() {
  _has_bits_[0] &= ~0x00000080u;
}
void ClientPhishingRequest::clear_model_version() {
  model_version_ = 0;
  clear_has_model_version();
}
::google::protobuf::int32 ClientPhishingRequest::model_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.model_version)
  return model_version_;
}
void ClientPhishingRequest::set_model_version(::google::protobuf::int32 value) {
  set_has_model_version();
  model_version_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.model_version)
}

// repeated .safe_browsing.ClientPhishingRequest.Feature non_model_feature_map = 8;
int ClientPhishingRequest::non_model_feature_map_size() const {
  return non_model_feature_map_.size();
}
void ClientPhishingRequest::clear_non_model_feature_map() {
  non_model_feature_map_.Clear();
}
const ::safe_browsing::ClientPhishingRequest_Feature& ClientPhishingRequest::non_model_feature_map(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return non_model_feature_map_.Get(index);
}
::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::mutable_non_model_feature_map(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return non_model_feature_map_.Mutable(index);
}
::safe_browsing::ClientPhishingRequest_Feature* ClientPhishingRequest::add_non_model_feature_map() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return non_model_feature_map_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >*
ClientPhishingRequest::mutable_non_model_feature_map() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return &non_model_feature_map_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientPhishingRequest_Feature >&
ClientPhishingRequest::non_model_feature_map() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingRequest.non_model_feature_map)
  return non_model_feature_map_;
}

// optional string OBSOLETE_referrer_url = 9;
bool ClientPhishingRequest::has_obsolete_referrer_url() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientPhishingRequest::set_has_obsolete_referrer_url() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientPhishingRequest::clear_has_obsolete_referrer_url() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientPhishingRequest::clear_obsolete_referrer_url() {
  obsolete_referrer_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_obsolete_referrer_url();
}
const ::std::string& ClientPhishingRequest::obsolete_referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
  return obsolete_referrer_url_.GetNoArena();
}
void ClientPhishingRequest::set_obsolete_referrer_url(const ::std::string& value) {
  set_has_obsolete_referrer_url();
  obsolete_referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
}
#if LANG_CXX11
void ClientPhishingRequest::set_obsolete_referrer_url(::std::string&& value) {
  set_has_obsolete_referrer_url();
  obsolete_referrer_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
}
#endif
void ClientPhishingRequest::set_obsolete_referrer_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_obsolete_referrer_url();
  obsolete_referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
}
void ClientPhishingRequest::set_obsolete_referrer_url(const char* value, size_t size) {
  set_has_obsolete_referrer_url();
  obsolete_referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
}
::std::string* ClientPhishingRequest::mutable_obsolete_referrer_url() {
  set_has_obsolete_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
  return obsolete_referrer_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientPhishingRequest::release_obsolete_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
  clear_has_obsolete_referrer_url();
  return obsolete_referrer_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientPhishingRequest::set_allocated_obsolete_referrer_url(::std::string* obsolete_referrer_url) {
  if (obsolete_referrer_url != NULL) {
    set_has_obsolete_referrer_url();
  } else {
    clear_has_obsolete_referrer_url();
  }
  obsolete_referrer_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), obsolete_referrer_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.OBSOLETE_referrer_url)
}

// repeated uint32 shingle_hashes = 12 [packed = true];
int ClientPhishingRequest::shingle_hashes_size() const {
  return shingle_hashes_.size();
}
void ClientPhishingRequest::clear_shingle_hashes() {
  shingle_hashes_.Clear();
}
::google::protobuf::uint32 ClientPhishingRequest::shingle_hashes(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.shingle_hashes)
  return shingle_hashes_.Get(index);
}
void ClientPhishingRequest::set_shingle_hashes(int index, ::google::protobuf::uint32 value) {
  shingle_hashes_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.shingle_hashes)
}
void ClientPhishingRequest::add_shingle_hashes(::google::protobuf::uint32 value) {
  shingle_hashes_.Add(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingRequest.shingle_hashes)
}
const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
ClientPhishingRequest::shingle_hashes() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingRequest.shingle_hashes)
  return shingle_hashes_;
}
::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
ClientPhishingRequest::mutable_shingle_hashes() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingRequest.shingle_hashes)
  return &shingle_hashes_;
}

// optional string model_filename = 13;
bool ClientPhishingRequest::has_model_filename() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientPhishingRequest::set_has_model_filename() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientPhishingRequest::clear_has_model_filename() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientPhishingRequest::clear_model_filename() {
  model_filename_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_model_filename();
}
const ::std::string& ClientPhishingRequest::model_filename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.model_filename)
  return model_filename_.GetNoArena();
}
void ClientPhishingRequest::set_model_filename(const ::std::string& value) {
  set_has_model_filename();
  model_filename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingRequest.model_filename)
}
#if LANG_CXX11
void ClientPhishingRequest::set_model_filename(::std::string&& value) {
  set_has_model_filename();
  model_filename_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientPhishingRequest.model_filename)
}
#endif
void ClientPhishingRequest::set_model_filename(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_model_filename();
  model_filename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientPhishingRequest.model_filename)
}
void ClientPhishingRequest::set_model_filename(const char* value, size_t size) {
  set_has_model_filename();
  model_filename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientPhishingRequest.model_filename)
}
::std::string* ClientPhishingRequest::mutable_model_filename() {
  set_has_model_filename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.model_filename)
  return model_filename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientPhishingRequest::release_model_filename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.model_filename)
  clear_has_model_filename();
  return model_filename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientPhishingRequest::set_allocated_model_filename(::std::string* model_filename) {
  if (model_filename != NULL) {
    set_has_model_filename();
  } else {
    clear_has_model_filename();
  }
  model_filename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), model_filename);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.model_filename)
}

// optional .safe_browsing.ChromeUserPopulation population = 14;
bool ClientPhishingRequest::has_population() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientPhishingRequest::set_has_population() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientPhishingRequest::clear_has_population() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientPhishingRequest::clear_population() {
  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
  clear_has_population();
}
const ::safe_browsing::ChromeUserPopulation& ClientPhishingRequest::population() const {
  const ::safe_browsing::ChromeUserPopulation* p = population_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingRequest.population)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
      &::safe_browsing::_ChromeUserPopulation_default_instance_);
}
::safe_browsing::ChromeUserPopulation* ClientPhishingRequest::mutable_population() {
  set_has_population();
  if (population_ == NULL) {
    population_ = new ::safe_browsing::ChromeUserPopulation;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingRequest.population)
  return population_;
}
::safe_browsing::ChromeUserPopulation* ClientPhishingRequest::release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientPhishingRequest.population)
  clear_has_population();
  ::safe_browsing::ChromeUserPopulation* temp = population_;
  population_ = NULL;
  return temp;
}
void ClientPhishingRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  delete population_;
  population_ = population;
  if (population) {
    set_has_population();
  } else {
    clear_has_population();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientPhishingRequest.population)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientPhishingResponse::kPhishyFieldNumber;
const int ClientPhishingResponse::kOBSOLETEWhitelistExpressionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientPhishingResponse::ClientPhishingResponse()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientPhishingResponse)
}
ClientPhishingResponse::ClientPhishingResponse(const ClientPhishingResponse& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      obsolete_whitelist_expression_(from.obsolete_whitelist_expression_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  phishy_ = from.phishy_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientPhishingResponse)
}

void ClientPhishingResponse::SharedCtor() {
  _cached_size_ = 0;
  phishy_ = false;
}

ClientPhishingResponse::~ClientPhishingResponse() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientPhishingResponse)
  SharedDtor();
}

void ClientPhishingResponse::SharedDtor() {
}

void ClientPhishingResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientPhishingResponse& ClientPhishingResponse::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientPhishingResponse* ClientPhishingResponse::New(::google::protobuf::Arena* arena) const {
  ClientPhishingResponse* n = new ClientPhishingResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientPhishingResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientPhishingResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  obsolete_whitelist_expression_.Clear();
  phishy_ = false;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientPhishingResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientPhishingResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required bool phishy = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_phishy();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &phishy_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string OBSOLETE_whitelist_expression = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_obsolete_whitelist_expression()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientPhishingResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientPhishingResponse)
  return false;
#undef DO_
}

void ClientPhishingResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientPhishingResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required bool phishy = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->phishy(), output);
  }

  // repeated string OBSOLETE_whitelist_expression = 2;
  for (int i = 0, n = this->obsolete_whitelist_expression_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      2, this->obsolete_whitelist_expression(i), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientPhishingResponse)
}

size_t ClientPhishingResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientPhishingResponse)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required bool phishy = 1;
  if (has_phishy()) {
    total_size += 1 + 1;
  }
  // repeated string OBSOLETE_whitelist_expression = 2;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->obsolete_whitelist_expression_size());
  for (int i = 0, n = this->obsolete_whitelist_expression_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->obsolete_whitelist_expression(i));
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientPhishingResponse::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientPhishingResponse*>(&from));
}

void ClientPhishingResponse::MergeFrom(const ClientPhishingResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientPhishingResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  obsolete_whitelist_expression_.MergeFrom(from.obsolete_whitelist_expression_);
  if (from.has_phishy()) {
    set_phishy(from.phishy());
  }
}

void ClientPhishingResponse::CopyFrom(const ClientPhishingResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientPhishingResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientPhishingResponse::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  return true;
}

void ClientPhishingResponse::Swap(ClientPhishingResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientPhishingResponse::InternalSwap(ClientPhishingResponse* other) {
  using std::swap;
  obsolete_whitelist_expression_.InternalSwap(&other->obsolete_whitelist_expression_);
  swap(phishy_, other->phishy_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientPhishingResponse::GetTypeName() const {
  return "safe_browsing.ClientPhishingResponse";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientPhishingResponse

// required bool phishy = 1;
bool ClientPhishingResponse::has_phishy() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientPhishingResponse::set_has_phishy() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientPhishingResponse::clear_has_phishy() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientPhishingResponse::clear_phishy() {
  phishy_ = false;
  clear_has_phishy();
}
bool ClientPhishingResponse::phishy() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingResponse.phishy)
  return phishy_;
}
void ClientPhishingResponse::set_phishy(bool value) {
  set_has_phishy();
  phishy_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingResponse.phishy)
}

// repeated string OBSOLETE_whitelist_expression = 2;
int ClientPhishingResponse::obsolete_whitelist_expression_size() const {
  return obsolete_whitelist_expression_.size();
}
void ClientPhishingResponse::clear_obsolete_whitelist_expression() {
  obsolete_whitelist_expression_.Clear();
}
const ::std::string& ClientPhishingResponse::obsolete_whitelist_expression(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return obsolete_whitelist_expression_.Get(index);
}
::std::string* ClientPhishingResponse::mutable_obsolete_whitelist_expression(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return obsolete_whitelist_expression_.Mutable(index);
}
void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  obsolete_whitelist_expression_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  obsolete_whitelist_expression_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  obsolete_whitelist_expression_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
void ClientPhishingResponse::set_obsolete_whitelist_expression(int index, const char* value, size_t size) {
  obsolete_whitelist_expression_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
::std::string* ClientPhishingResponse::add_obsolete_whitelist_expression() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return obsolete_whitelist_expression_.Add();
}
void ClientPhishingResponse::add_obsolete_whitelist_expression(const ::std::string& value) {
  obsolete_whitelist_expression_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
#if LANG_CXX11
void ClientPhishingResponse::add_obsolete_whitelist_expression(::std::string&& value) {
  obsolete_whitelist_expression_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
#endif
void ClientPhishingResponse::add_obsolete_whitelist_expression(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  obsolete_whitelist_expression_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
void ClientPhishingResponse::add_obsolete_whitelist_expression(const char* value, size_t size) {
  obsolete_whitelist_expression_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientPhishingResponse::obsolete_whitelist_expression() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return obsolete_whitelist_expression_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientPhishingResponse::mutable_obsolete_whitelist_expression() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientPhishingResponse.OBSOLETE_whitelist_expression)
  return &obsolete_whitelist_expression_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientMalwareRequest_UrlInfo::kIpFieldNumber;
const int ClientMalwareRequest_UrlInfo::kUrlFieldNumber;
const int ClientMalwareRequest_UrlInfo::kMethodFieldNumber;
const int ClientMalwareRequest_UrlInfo::kReferrerFieldNumber;
const int ClientMalwareRequest_UrlInfo::kResourceTypeFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientMalwareRequest_UrlInfo::ClientMalwareRequest_UrlInfo()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientMalwareRequest.UrlInfo)
}
ClientMalwareRequest_UrlInfo::ClientMalwareRequest_UrlInfo(const ClientMalwareRequest_UrlInfo& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_ip()) {
    ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ip_);
  }
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  method_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_method()) {
    method_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.method_);
  }
  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_referrer()) {
    referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
  }
  resource_type_ = from.resource_type_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientMalwareRequest.UrlInfo)
}

void ClientMalwareRequest_UrlInfo::SharedCtor() {
  _cached_size_ = 0;
  ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  method_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  resource_type_ = 0;
}

ClientMalwareRequest_UrlInfo::~ClientMalwareRequest_UrlInfo() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientMalwareRequest.UrlInfo)
  SharedDtor();
}

void ClientMalwareRequest_UrlInfo::SharedDtor() {
  ip_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  method_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientMalwareRequest_UrlInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientMalwareRequest_UrlInfo& ClientMalwareRequest_UrlInfo::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientMalwareRequest_UrlInfo* ClientMalwareRequest_UrlInfo::New(::google::protobuf::Arena* arena) const {
  ClientMalwareRequest_UrlInfo* n = new ClientMalwareRequest_UrlInfo;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientMalwareRequest_UrlInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientMalwareRequest.UrlInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!ip_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*ip_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!method_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*method_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(!referrer_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*referrer_.UnsafeRawStringPointer())->clear();
    }
  }
  resource_type_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientMalwareRequest_UrlInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientMalwareRequest.UrlInfo)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string ip = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_ip()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string url = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string method = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_method()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string referrer = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_referrer()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 resource_type = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_resource_type();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &resource_type_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientMalwareRequest.UrlInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientMalwareRequest.UrlInfo)
  return false;
#undef DO_
}

void ClientMalwareRequest_UrlInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientMalwareRequest.UrlInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string ip = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->ip(), output);
  }

  // required string url = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->url(), output);
  }

  // optional string method = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->method(), output);
  }

  // optional string referrer = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->referrer(), output);
  }

  // optional int32 resource_type = 5;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->resource_type(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientMalwareRequest.UrlInfo)
}

size_t ClientMalwareRequest_UrlInfo::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:safe_browsing.ClientMalwareRequest.UrlInfo)
  size_t total_size = 0;

  if (has_ip()) {
    // required string ip = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->ip());
  }

  if (has_url()) {
    // required string url = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());
  }

  return total_size;
}
size_t ClientMalwareRequest_UrlInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientMalwareRequest.UrlInfo)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
    // required string ip = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->ip());

    // required string url = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  if (_has_bits_[0 / 32] & 28u) {
    // optional string method = 3;
    if (has_method()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->method());
    }

    // optional string referrer = 4;
    if (has_referrer()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->referrer());
    }

    // optional int32 resource_type = 5;
    if (has_resource_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->resource_type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientMalwareRequest_UrlInfo::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientMalwareRequest_UrlInfo*>(&from));
}

void ClientMalwareRequest_UrlInfo::MergeFrom(const ClientMalwareRequest_UrlInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientMalwareRequest.UrlInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_ip();
      ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.ip_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_method();
      method_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.method_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_referrer();
      referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
    }
    if (cached_has_bits & 0x00000010u) {
      resource_type_ = from.resource_type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientMalwareRequest_UrlInfo::CopyFrom(const ClientMalwareRequest_UrlInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientMalwareRequest.UrlInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientMalwareRequest_UrlInfo::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  return true;
}

void ClientMalwareRequest_UrlInfo::Swap(ClientMalwareRequest_UrlInfo* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientMalwareRequest_UrlInfo::InternalSwap(ClientMalwareRequest_UrlInfo* other) {
  using std::swap;
  ip_.Swap(&other->ip_);
  url_.Swap(&other->url_);
  method_.Swap(&other->method_);
  referrer_.Swap(&other->referrer_);
  swap(resource_type_, other->resource_type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientMalwareRequest_UrlInfo::GetTypeName() const {
  return "safe_browsing.ClientMalwareRequest.UrlInfo";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientMalwareRequest_UrlInfo

// required string ip = 1;
bool ClientMalwareRequest_UrlInfo::has_ip() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientMalwareRequest_UrlInfo::set_has_ip() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientMalwareRequest_UrlInfo::clear_has_ip() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientMalwareRequest_UrlInfo::clear_ip() {
  ip_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_ip();
}
const ::std::string& ClientMalwareRequest_UrlInfo::ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
  return ip_.GetNoArena();
}
void ClientMalwareRequest_UrlInfo::set_ip(const ::std::string& value) {
  set_has_ip();
  ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
}
#if LANG_CXX11
void ClientMalwareRequest_UrlInfo::set_ip(::std::string&& value) {
  set_has_ip();
  ip_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
}
#endif
void ClientMalwareRequest_UrlInfo::set_ip(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_ip();
  ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
}
void ClientMalwareRequest_UrlInfo::set_ip(const char* value, size_t size) {
  set_has_ip();
  ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
}
::std::string* ClientMalwareRequest_UrlInfo::mutable_ip() {
  set_has_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
  return ip_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareRequest_UrlInfo::release_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
  clear_has_ip();
  return ip_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareRequest_UrlInfo::set_allocated_ip(::std::string* ip) {
  if (ip != NULL) {
    set_has_ip();
  } else {
    clear_has_ip();
  }
  ip_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ip);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.ip)
}

// required string url = 2;
bool ClientMalwareRequest_UrlInfo::has_url() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientMalwareRequest_UrlInfo::set_has_url() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientMalwareRequest_UrlInfo::clear_has_url() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientMalwareRequest_UrlInfo::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientMalwareRequest_UrlInfo::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.url)
  return url_.GetNoArena();
}
void ClientMalwareRequest_UrlInfo::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.url)
}
#if LANG_CXX11
void ClientMalwareRequest_UrlInfo::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareRequest.UrlInfo.url)
}
#endif
void ClientMalwareRequest_UrlInfo::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareRequest.UrlInfo.url)
}
void ClientMalwareRequest_UrlInfo::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareRequest.UrlInfo.url)
}
::std::string* ClientMalwareRequest_UrlInfo::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareRequest_UrlInfo::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareRequest_UrlInfo::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.url)
}

// optional string method = 3;
bool ClientMalwareRequest_UrlInfo::has_method() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientMalwareRequest_UrlInfo::set_has_method() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientMalwareRequest_UrlInfo::clear_has_method() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientMalwareRequest_UrlInfo::clear_method() {
  method_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_method();
}
const ::std::string& ClientMalwareRequest_UrlInfo::method() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.method)
  return method_.GetNoArena();
}
void ClientMalwareRequest_UrlInfo::set_method(const ::std::string& value) {
  set_has_method();
  method_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.method)
}
#if LANG_CXX11
void ClientMalwareRequest_UrlInfo::set_method(::std::string&& value) {
  set_has_method();
  method_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareRequest.UrlInfo.method)
}
#endif
void ClientMalwareRequest_UrlInfo::set_method(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_method();
  method_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareRequest.UrlInfo.method)
}
void ClientMalwareRequest_UrlInfo::set_method(const char* value, size_t size) {
  set_has_method();
  method_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareRequest.UrlInfo.method)
}
::std::string* ClientMalwareRequest_UrlInfo::mutable_method() {
  set_has_method();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.method)
  return method_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareRequest_UrlInfo::release_method() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.method)
  clear_has_method();
  return method_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareRequest_UrlInfo::set_allocated_method(::std::string* method) {
  if (method != NULL) {
    set_has_method();
  } else {
    clear_has_method();
  }
  method_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), method);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.method)
}

// optional string referrer = 4;
bool ClientMalwareRequest_UrlInfo::has_referrer() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientMalwareRequest_UrlInfo::set_has_referrer() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientMalwareRequest_UrlInfo::clear_has_referrer() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientMalwareRequest_UrlInfo::clear_referrer() {
  referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_referrer();
}
const ::std::string& ClientMalwareRequest_UrlInfo::referrer() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
  return referrer_.GetNoArena();
}
void ClientMalwareRequest_UrlInfo::set_referrer(const ::std::string& value) {
  set_has_referrer();
  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
}
#if LANG_CXX11
void ClientMalwareRequest_UrlInfo::set_referrer(::std::string&& value) {
  set_has_referrer();
  referrer_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
}
#endif
void ClientMalwareRequest_UrlInfo::set_referrer(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_referrer();
  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
}
void ClientMalwareRequest_UrlInfo::set_referrer(const char* value, size_t size) {
  set_has_referrer();
  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
}
::std::string* ClientMalwareRequest_UrlInfo::mutable_referrer() {
  set_has_referrer();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
  return referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareRequest_UrlInfo::release_referrer() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
  clear_has_referrer();
  return referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareRequest_UrlInfo::set_allocated_referrer(::std::string* referrer) {
  if (referrer != NULL) {
    set_has_referrer();
  } else {
    clear_has_referrer();
  }
  referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.UrlInfo.referrer)
}

// optional int32 resource_type = 5;
bool ClientMalwareRequest_UrlInfo::has_resource_type() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientMalwareRequest_UrlInfo::set_has_resource_type() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientMalwareRequest_UrlInfo::clear_has_resource_type() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientMalwareRequest_UrlInfo::clear_resource_type() {
  resource_type_ = 0;
  clear_has_resource_type();
}
::google::protobuf::int32 ClientMalwareRequest_UrlInfo::resource_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.UrlInfo.resource_type)
  return resource_type_;
}
void ClientMalwareRequest_UrlInfo::set_resource_type(::google::protobuf::int32 value) {
  set_has_resource_type();
  resource_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.UrlInfo.resource_type)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientMalwareRequest::kUrlFieldNumber;
const int ClientMalwareRequest::kReferrerUrlFieldNumber;
const int ClientMalwareRequest::kBadIpUrlInfoFieldNumber;
const int ClientMalwareRequest::kPopulationFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientMalwareRequest::ClientMalwareRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientMalwareRequest)
}
ClientMalwareRequest::ClientMalwareRequest(const ClientMalwareRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      bad_ip_url_info_(from.bad_ip_url_info_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_referrer_url()) {
    referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
  }
  if (from.has_population()) {
    population_ = new ::safe_browsing::ChromeUserPopulation(*from.population_);
  } else {
    population_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientMalwareRequest)
}

void ClientMalwareRequest::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  population_ = NULL;
}

ClientMalwareRequest::~ClientMalwareRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientMalwareRequest)
  SharedDtor();
}

void ClientMalwareRequest::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete population_;
}

void ClientMalwareRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientMalwareRequest& ClientMalwareRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientMalwareRequest* ClientMalwareRequest::New(::google::protobuf::Arena* arena) const {
  ClientMalwareRequest* n = new ClientMalwareRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientMalwareRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientMalwareRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  bad_ip_url_info_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!referrer_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*referrer_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(population_ != NULL);
      population_->::safe_browsing::ChromeUserPopulation::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientMalwareRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientMalwareRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string referrer_url = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_referrer_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientMalwareRequest.UrlInfo bad_ip_url_info = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_bad_ip_url_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ChromeUserPopulation population = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_population()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientMalwareRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientMalwareRequest)
  return false;
#undef DO_
}

void ClientMalwareRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientMalwareRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->url(), output);
  }

  // optional string referrer_url = 4;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->referrer_url(), output);
  }

  // repeated .safe_browsing.ClientMalwareRequest.UrlInfo bad_ip_url_info = 7;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->bad_ip_url_info_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      7, this->bad_ip_url_info(static_cast<int>(i)), output);
  }

  // optional .safe_browsing.ChromeUserPopulation population = 9;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      9, *this->population_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientMalwareRequest)
}

size_t ClientMalwareRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientMalwareRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required string url = 1;
  if (has_url()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());
  }
  // repeated .safe_browsing.ClientMalwareRequest.UrlInfo bad_ip_url_info = 7;
  {
    unsigned int count = static_cast<unsigned int>(this->bad_ip_url_info_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->bad_ip_url_info(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 6u) {
    // optional string referrer_url = 4;
    if (has_referrer_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->referrer_url());
    }

    // optional .safe_browsing.ChromeUserPopulation population = 9;
    if (has_population()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->population_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientMalwareRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientMalwareRequest*>(&from));
}

void ClientMalwareRequest::MergeFrom(const ClientMalwareRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientMalwareRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  bad_ip_url_info_.MergeFrom(from.bad_ip_url_info_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_referrer_url();
      referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
    }
  }
}

void ClientMalwareRequest::CopyFrom(const ClientMalwareRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientMalwareRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientMalwareRequest::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->bad_ip_url_info())) return false;
  return true;
}

void ClientMalwareRequest::Swap(ClientMalwareRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientMalwareRequest::InternalSwap(ClientMalwareRequest* other) {
  using std::swap;
  bad_ip_url_info_.InternalSwap(&other->bad_ip_url_info_);
  url_.Swap(&other->url_);
  referrer_url_.Swap(&other->referrer_url_);
  swap(population_, other->population_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientMalwareRequest::GetTypeName() const {
  return "safe_browsing.ClientMalwareRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientMalwareRequest

// required string url = 1;
bool ClientMalwareRequest::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientMalwareRequest::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientMalwareRequest::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientMalwareRequest::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientMalwareRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.url)
  return url_.GetNoArena();
}
void ClientMalwareRequest::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.url)
}
#if LANG_CXX11
void ClientMalwareRequest::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareRequest.url)
}
#endif
void ClientMalwareRequest::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareRequest.url)
}
void ClientMalwareRequest::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareRequest.url)
}
::std::string* ClientMalwareRequest::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareRequest::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.url)
}

// optional string referrer_url = 4;
bool ClientMalwareRequest::has_referrer_url() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientMalwareRequest::set_has_referrer_url() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientMalwareRequest::clear_has_referrer_url() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientMalwareRequest::clear_referrer_url() {
  referrer_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_referrer_url();
}
const ::std::string& ClientMalwareRequest::referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.referrer_url)
  return referrer_url_.GetNoArena();
}
void ClientMalwareRequest::set_referrer_url(const ::std::string& value) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareRequest.referrer_url)
}
#if LANG_CXX11
void ClientMalwareRequest::set_referrer_url(::std::string&& value) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareRequest.referrer_url)
}
#endif
void ClientMalwareRequest::set_referrer_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareRequest.referrer_url)
}
void ClientMalwareRequest::set_referrer_url(const char* value, size_t size) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareRequest.referrer_url)
}
::std::string* ClientMalwareRequest::mutable_referrer_url() {
  set_has_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.referrer_url)
  return referrer_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareRequest::release_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.referrer_url)
  clear_has_referrer_url();
  return referrer_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareRequest::set_allocated_referrer_url(::std::string* referrer_url) {
  if (referrer_url != NULL) {
    set_has_referrer_url();
  } else {
    clear_has_referrer_url();
  }
  referrer_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.referrer_url)
}

// repeated .safe_browsing.ClientMalwareRequest.UrlInfo bad_ip_url_info = 7;
int ClientMalwareRequest::bad_ip_url_info_size() const {
  return bad_ip_url_info_.size();
}
void ClientMalwareRequest::clear_bad_ip_url_info() {
  bad_ip_url_info_.Clear();
}
const ::safe_browsing::ClientMalwareRequest_UrlInfo& ClientMalwareRequest::bad_ip_url_info(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return bad_ip_url_info_.Get(index);
}
::safe_browsing::ClientMalwareRequest_UrlInfo* ClientMalwareRequest::mutable_bad_ip_url_info(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return bad_ip_url_info_.Mutable(index);
}
::safe_browsing::ClientMalwareRequest_UrlInfo* ClientMalwareRequest::add_bad_ip_url_info() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return bad_ip_url_info_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo >*
ClientMalwareRequest::mutable_bad_ip_url_info() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return &bad_ip_url_info_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientMalwareRequest_UrlInfo >&
ClientMalwareRequest::bad_ip_url_info() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientMalwareRequest.bad_ip_url_info)
  return bad_ip_url_info_;
}

// optional .safe_browsing.ChromeUserPopulation population = 9;
bool ClientMalwareRequest::has_population() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientMalwareRequest::set_has_population() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientMalwareRequest::clear_has_population() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientMalwareRequest::clear_population() {
  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
  clear_has_population();
}
const ::safe_browsing::ChromeUserPopulation& ClientMalwareRequest::population() const {
  const ::safe_browsing::ChromeUserPopulation* p = population_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareRequest.population)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
      &::safe_browsing::_ChromeUserPopulation_default_instance_);
}
::safe_browsing::ChromeUserPopulation* ClientMalwareRequest::mutable_population() {
  set_has_population();
  if (population_ == NULL) {
    population_ = new ::safe_browsing::ChromeUserPopulation;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareRequest.population)
  return population_;
}
::safe_browsing::ChromeUserPopulation* ClientMalwareRequest::release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareRequest.population)
  clear_has_population();
  ::safe_browsing::ChromeUserPopulation* temp = population_;
  population_ = NULL;
  return temp;
}
void ClientMalwareRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  delete population_;
  population_ = population;
  if (population) {
    set_has_population();
  } else {
    clear_has_population();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareRequest.population)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LoginReputationClientRequest_Frame_Form::kActionUrlFieldNumber;
const int LoginReputationClientRequest_Frame_Form::kHasPasswordFieldFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LoginReputationClientRequest_Frame_Form::LoginReputationClientRequest_Frame_Form()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
}
LoginReputationClientRequest_Frame_Form::LoginReputationClientRequest_Frame_Form(const LoginReputationClientRequest_Frame_Form& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  action_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_action_url()) {
    action_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.action_url_);
  }
  has_password_field_ = from.has_password_field_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
}

void LoginReputationClientRequest_Frame_Form::SharedCtor() {
  _cached_size_ = 0;
  action_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  has_password_field_ = false;
}

LoginReputationClientRequest_Frame_Form::~LoginReputationClientRequest_Frame_Form() {
  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.Frame.Form)
  SharedDtor();
}

void LoginReputationClientRequest_Frame_Form::SharedDtor() {
  action_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void LoginReputationClientRequest_Frame_Form::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame_Form::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame_Form::New(::google::protobuf::Arena* arena) const {
  LoginReputationClientRequest_Frame_Form* n = new LoginReputationClientRequest_Frame_Form;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LoginReputationClientRequest_Frame_Form::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_action_url()) {
    GOOGLE_DCHECK(!action_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*action_url_.UnsafeRawStringPointer())->clear();
  }
  has_password_field_ = false;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LoginReputationClientRequest_Frame_Form::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string action_url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_action_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool has_password_field = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_has_password_field();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &has_password_field_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.Frame.Form)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.Frame.Form)
  return false;
#undef DO_
}

void LoginReputationClientRequest_Frame_Form::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string action_url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->action_url(), output);
  }

  // optional bool has_password_field = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->has_password_field(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.Frame.Form)
}

size_t LoginReputationClientRequest_Frame_Form::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional string action_url = 1;
    if (has_action_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->action_url());
    }

    // optional bool has_password_field = 2;
    if (has_has_password_field()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LoginReputationClientRequest_Frame_Form::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_Frame_Form*>(&from));
}

void LoginReputationClientRequest_Frame_Form::MergeFrom(const LoginReputationClientRequest_Frame_Form& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_action_url();
      action_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.action_url_);
    }
    if (cached_has_bits & 0x00000002u) {
      has_password_field_ = from.has_password_field_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LoginReputationClientRequest_Frame_Form::CopyFrom(const LoginReputationClientRequest_Frame_Form& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.Frame.Form)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LoginReputationClientRequest_Frame_Form::IsInitialized() const {
  return true;
}

void LoginReputationClientRequest_Frame_Form::Swap(LoginReputationClientRequest_Frame_Form* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LoginReputationClientRequest_Frame_Form::InternalSwap(LoginReputationClientRequest_Frame_Form* other) {
  using std::swap;
  action_url_.Swap(&other->action_url_);
  swap(has_password_field_, other->has_password_field_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LoginReputationClientRequest_Frame_Form::GetTypeName() const {
  return "safe_browsing.LoginReputationClientRequest.Frame.Form";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LoginReputationClientRequest_Frame_Form

// optional string action_url = 1;
bool LoginReputationClientRequest_Frame_Form::has_action_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LoginReputationClientRequest_Frame_Form::set_has_action_url() {
  _has_bits_[0] |= 0x00000001u;
}
void LoginReputationClientRequest_Frame_Form::clear_has_action_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void LoginReputationClientRequest_Frame_Form::clear_action_url() {
  action_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_action_url();
}
const ::std::string& LoginReputationClientRequest_Frame_Form::action_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
  return action_url_.GetNoArena();
}
void LoginReputationClientRequest_Frame_Form::set_action_url(const ::std::string& value) {
  set_has_action_url();
  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
}
#if LANG_CXX11
void LoginReputationClientRequest_Frame_Form::set_action_url(::std::string&& value) {
  set_has_action_url();
  action_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
}
#endif
void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_action_url();
  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
}
void LoginReputationClientRequest_Frame_Form::set_action_url(const char* value, size_t size) {
  set_has_action_url();
  action_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
}
::std::string* LoginReputationClientRequest_Frame_Form::mutable_action_url() {
  set_has_action_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
  return action_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* LoginReputationClientRequest_Frame_Form::release_action_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
  clear_has_action_url();
  return action_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void LoginReputationClientRequest_Frame_Form::set_allocated_action_url(::std::string* action_url) {
  if (action_url != NULL) {
    set_has_action_url();
  } else {
    clear_has_action_url();
  }
  action_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), action_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.Form.action_url)
}

// optional bool has_password_field = 2;
bool LoginReputationClientRequest_Frame_Form::has_has_password_field() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LoginReputationClientRequest_Frame_Form::set_has_has_password_field() {
  _has_bits_[0] |= 0x00000002u;
}
void LoginReputationClientRequest_Frame_Form::clear_has_has_password_field() {
  _has_bits_[0] &= ~0x00000002u;
}
void LoginReputationClientRequest_Frame_Form::clear_has_password_field() {
  has_password_field_ = false;
  clear_has_has_password_field();
}
bool LoginReputationClientRequest_Frame_Form::has_password_field() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
  return has_password_field_;
}
void LoginReputationClientRequest_Frame_Form::set_has_password_field(bool value) {
  set_has_has_password_field();
  has_password_field_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.Form.has_password_field)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LoginReputationClientRequest_Frame::kFrameIndexFieldNumber;
const int LoginReputationClientRequest_Frame::kParentFrameIndexFieldNumber;
const int LoginReputationClientRequest_Frame::kUrlFieldNumber;
const int LoginReputationClientRequest_Frame::kHasPasswordFieldFieldNumber;
const int LoginReputationClientRequest_Frame::kReferrerChainFieldNumber;
const int LoginReputationClientRequest_Frame::kFormsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LoginReputationClientRequest_Frame::LoginReputationClientRequest_Frame()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.Frame)
}
LoginReputationClientRequest_Frame::LoginReputationClientRequest_Frame(const LoginReputationClientRequest_Frame& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      referrer_chain_(from.referrer_chain_),
      forms_(from.forms_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  ::memcpy(&frame_index_, &from.frame_index_,
    static_cast<size_t>(reinterpret_cast<char*>(&has_password_field_) -
    reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.Frame)
}

void LoginReputationClientRequest_Frame::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&frame_index_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&has_password_field_) -
      reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
}

LoginReputationClientRequest_Frame::~LoginReputationClientRequest_Frame() {
  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.Frame)
  SharedDtor();
}

void LoginReputationClientRequest_Frame::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void LoginReputationClientRequest_Frame::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LoginReputationClientRequest_Frame& LoginReputationClientRequest_Frame::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

LoginReputationClientRequest_Frame* LoginReputationClientRequest_Frame::New(::google::protobuf::Arena* arena) const {
  LoginReputationClientRequest_Frame* n = new LoginReputationClientRequest_Frame;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LoginReputationClientRequest_Frame::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.Frame)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  referrer_chain_.Clear();
  forms_.Clear();
  if (has_url()) {
    GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*url_.UnsafeRawStringPointer())->clear();
  }
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 14u) {
    ::memset(&frame_index_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&has_password_field_) -
        reinterpret_cast<char*>(&frame_index_)) + sizeof(has_password_field_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LoginReputationClientRequest_Frame::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.Frame)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 frame_index = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_frame_index();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &frame_index_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 parent_frame_index = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_parent_frame_index();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &parent_frame_index_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string url = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool has_password_field = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_has_password_field();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &has_password_field_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_referrer_chain()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_forms()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.Frame)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.Frame)
  return false;
#undef DO_
}

void LoginReputationClientRequest_Frame::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.Frame)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 frame_index = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->frame_index(), output);
  }

  // optional int32 parent_frame_index = 2;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->parent_frame_index(), output);
  }

  // optional string url = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->url(), output);
  }

  // optional bool has_password_field = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->has_password_field(), output);
  }

  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->referrer_chain_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, this->referrer_chain(static_cast<int>(i)), output);
  }

  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->forms_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      6, this->forms(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.Frame)
}

size_t LoginReputationClientRequest_Frame::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.Frame)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
  {
    unsigned int count = static_cast<unsigned int>(this->referrer_chain_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->referrer_chain(static_cast<int>(i)));
    }
  }

  // repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
  {
    unsigned int count = static_cast<unsigned int>(this->forms_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->forms(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 15u) {
    // optional string url = 3;
    if (has_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->url());
    }

    // optional int32 frame_index = 1;
    if (has_frame_index()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->frame_index());
    }

    // optional int32 parent_frame_index = 2;
    if (has_parent_frame_index()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->parent_frame_index());
    }

    // optional bool has_password_field = 4;
    if (has_has_password_field()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LoginReputationClientRequest_Frame::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_Frame*>(&from));
}

void LoginReputationClientRequest_Frame::MergeFrom(const LoginReputationClientRequest_Frame& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.Frame)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  referrer_chain_.MergeFrom(from.referrer_chain_);
  forms_.MergeFrom(from.forms_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      frame_index_ = from.frame_index_;
    }
    if (cached_has_bits & 0x00000004u) {
      parent_frame_index_ = from.parent_frame_index_;
    }
    if (cached_has_bits & 0x00000008u) {
      has_password_field_ = from.has_password_field_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LoginReputationClientRequest_Frame::CopyFrom(const LoginReputationClientRequest_Frame& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.Frame)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LoginReputationClientRequest_Frame::IsInitialized() const {
  return true;
}

void LoginReputationClientRequest_Frame::Swap(LoginReputationClientRequest_Frame* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LoginReputationClientRequest_Frame::InternalSwap(LoginReputationClientRequest_Frame* other) {
  using std::swap;
  referrer_chain_.InternalSwap(&other->referrer_chain_);
  forms_.InternalSwap(&other->forms_);
  url_.Swap(&other->url_);
  swap(frame_index_, other->frame_index_);
  swap(parent_frame_index_, other->parent_frame_index_);
  swap(has_password_field_, other->has_password_field_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LoginReputationClientRequest_Frame::GetTypeName() const {
  return "safe_browsing.LoginReputationClientRequest.Frame";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LoginReputationClientRequest_Frame

// optional int32 frame_index = 1;
bool LoginReputationClientRequest_Frame::has_frame_index() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LoginReputationClientRequest_Frame::set_has_frame_index() {
  _has_bits_[0] |= 0x00000002u;
}
void LoginReputationClientRequest_Frame::clear_has_frame_index() {
  _has_bits_[0] &= ~0x00000002u;
}
void LoginReputationClientRequest_Frame::clear_frame_index() {
  frame_index_ = 0;
  clear_has_frame_index();
}
::google::protobuf::int32 LoginReputationClientRequest_Frame::frame_index() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
  return frame_index_;
}
void LoginReputationClientRequest_Frame::set_frame_index(::google::protobuf::int32 value) {
  set_has_frame_index();
  frame_index_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.frame_index)
}

// optional int32 parent_frame_index = 2;
bool LoginReputationClientRequest_Frame::has_parent_frame_index() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void LoginReputationClientRequest_Frame::set_has_parent_frame_index() {
  _has_bits_[0] |= 0x00000004u;
}
void LoginReputationClientRequest_Frame::clear_has_parent_frame_index() {
  _has_bits_[0] &= ~0x00000004u;
}
void LoginReputationClientRequest_Frame::clear_parent_frame_index() {
  parent_frame_index_ = 0;
  clear_has_parent_frame_index();
}
::google::protobuf::int32 LoginReputationClientRequest_Frame::parent_frame_index() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
  return parent_frame_index_;
}
void LoginReputationClientRequest_Frame::set_parent_frame_index(::google::protobuf::int32 value) {
  set_has_parent_frame_index();
  parent_frame_index_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.parent_frame_index)
}

// optional string url = 3;
bool LoginReputationClientRequest_Frame::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LoginReputationClientRequest_Frame::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void LoginReputationClientRequest_Frame::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void LoginReputationClientRequest_Frame::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& LoginReputationClientRequest_Frame::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.url)
  return url_.GetNoArena();
}
void LoginReputationClientRequest_Frame::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.url)
}
#if LANG_CXX11
void LoginReputationClientRequest_Frame::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.Frame.url)
}
#endif
void LoginReputationClientRequest_Frame::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.Frame.url)
}
void LoginReputationClientRequest_Frame::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.Frame.url)
}
::std::string* LoginReputationClientRequest_Frame::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* LoginReputationClientRequest_Frame::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.Frame.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void LoginReputationClientRequest_Frame::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.Frame.url)
}

// optional bool has_password_field = 4;
bool LoginReputationClientRequest_Frame::has_has_password_field() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void LoginReputationClientRequest_Frame::set_has_has_password_field() {
  _has_bits_[0] |= 0x00000008u;
}
void LoginReputationClientRequest_Frame::clear_has_has_password_field() {
  _has_bits_[0] &= ~0x00000008u;
}
void LoginReputationClientRequest_Frame::clear_has_password_field() {
  has_password_field_ = false;
  clear_has_has_password_field();
}
bool LoginReputationClientRequest_Frame::has_password_field() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
  return has_password_field_;
}
void LoginReputationClientRequest_Frame::set_has_password_field(bool value) {
  set_has_has_password_field();
  has_password_field_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.Frame.has_password_field)
}

// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 5;
int LoginReputationClientRequest_Frame::referrer_chain_size() const {
  return referrer_chain_.size();
}
void LoginReputationClientRequest_Frame::clear_referrer_chain() {
  referrer_chain_.Clear();
}
const ::safe_browsing::ReferrerChainEntry& LoginReputationClientRequest_Frame::referrer_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return referrer_chain_.Get(index);
}
::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::mutable_referrer_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return referrer_chain_.Mutable(index);
}
::safe_browsing::ReferrerChainEntry* LoginReputationClientRequest_Frame::add_referrer_chain() {
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return referrer_chain_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
LoginReputationClientRequest_Frame::mutable_referrer_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return &referrer_chain_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
LoginReputationClientRequest_Frame::referrer_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.referrer_chain)
  return referrer_chain_;
}

// repeated .safe_browsing.LoginReputationClientRequest.Frame.Form forms = 6;
int LoginReputationClientRequest_Frame::forms_size() const {
  return forms_.size();
}
void LoginReputationClientRequest_Frame::clear_forms() {
  forms_.Clear();
}
const ::safe_browsing::LoginReputationClientRequest_Frame_Form& LoginReputationClientRequest_Frame::forms(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return forms_.Get(index);
}
::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::mutable_forms(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return forms_.Mutable(index);
}
::safe_browsing::LoginReputationClientRequest_Frame_Form* LoginReputationClientRequest_Frame::add_forms() {
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return forms_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >*
LoginReputationClientRequest_Frame::mutable_forms() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return &forms_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame_Form >&
LoginReputationClientRequest_Frame::forms() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.Frame.forms)
  return forms_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LoginReputationClientRequest_PasswordReuseEvent::kDomainsMatchingPasswordFieldNumber;
const int LoginReputationClientRequest_PasswordReuseEvent::kFrameIdFieldNumber;
const int LoginReputationClientRequest_PasswordReuseEvent::kIsChromeSigninPasswordFieldNumber;
const int LoginReputationClientRequest_PasswordReuseEvent::kSyncAccountTypeFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LoginReputationClientRequest_PasswordReuseEvent::LoginReputationClientRequest_PasswordReuseEvent()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
}
LoginReputationClientRequest_PasswordReuseEvent::LoginReputationClientRequest_PasswordReuseEvent(const LoginReputationClientRequest_PasswordReuseEvent& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      domains_matching_password_(from.domains_matching_password_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&frame_id_, &from.frame_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&sync_account_type_) -
    reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
}

void LoginReputationClientRequest_PasswordReuseEvent::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&frame_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&sync_account_type_) -
      reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
}

LoginReputationClientRequest_PasswordReuseEvent::~LoginReputationClientRequest_PasswordReuseEvent() {
  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  SharedDtor();
}

void LoginReputationClientRequest_PasswordReuseEvent::SharedDtor() {
}

void LoginReputationClientRequest_PasswordReuseEvent::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest_PasswordReuseEvent::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest_PasswordReuseEvent::New(::google::protobuf::Arena* arena) const {
  LoginReputationClientRequest_PasswordReuseEvent* n = new LoginReputationClientRequest_PasswordReuseEvent;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LoginReputationClientRequest_PasswordReuseEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  domains_matching_password_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    ::memset(&frame_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&sync_account_type_) -
        reinterpret_cast<char*>(&frame_id_)) + sizeof(sync_account_type_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LoginReputationClientRequest_PasswordReuseEvent::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated string domains_matching_password = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_domains_matching_password()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 frame_id = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_frame_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &frame_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool is_chrome_signin_password = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_is_chrome_signin_password();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_chrome_signin_password_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value)) {
            set_sync_account_type(static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(32u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  return false;
#undef DO_
}

void LoginReputationClientRequest_PasswordReuseEvent::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated string domains_matching_password = 1;
  for (int i = 0, n = this->domains_matching_password_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      1, this->domains_matching_password(i), output);
  }

  cached_has_bits = _has_bits_[0];
  // optional int32 frame_id = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->frame_id(), output);
  }

  // optional bool is_chrome_signin_password = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->is_chrome_signin_password(), output);
  }

  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->sync_account_type(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
}

size_t LoginReputationClientRequest_PasswordReuseEvent::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated string domains_matching_password = 1;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->domains_matching_password_size());
  for (int i = 0, n = this->domains_matching_password_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->domains_matching_password(i));
  }

  if (_has_bits_[0 / 32] & 7u) {
    // optional int32 frame_id = 2;
    if (has_frame_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->frame_id());
    }

    // optional bool is_chrome_signin_password = 3;
    if (has_is_chrome_signin_password()) {
      total_size += 1 + 1;
    }

    // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
    if (has_sync_account_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->sync_account_type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LoginReputationClientRequest_PasswordReuseEvent::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest_PasswordReuseEvent*>(&from));
}

void LoginReputationClientRequest_PasswordReuseEvent::MergeFrom(const LoginReputationClientRequest_PasswordReuseEvent& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  domains_matching_password_.MergeFrom(from.domains_matching_password_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      frame_id_ = from.frame_id_;
    }
    if (cached_has_bits & 0x00000002u) {
      is_chrome_signin_password_ = from.is_chrome_signin_password_;
    }
    if (cached_has_bits & 0x00000004u) {
      sync_account_type_ = from.sync_account_type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LoginReputationClientRequest_PasswordReuseEvent::CopyFrom(const LoginReputationClientRequest_PasswordReuseEvent& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LoginReputationClientRequest_PasswordReuseEvent::IsInitialized() const {
  return true;
}

void LoginReputationClientRequest_PasswordReuseEvent::Swap(LoginReputationClientRequest_PasswordReuseEvent* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LoginReputationClientRequest_PasswordReuseEvent::InternalSwap(LoginReputationClientRequest_PasswordReuseEvent* other) {
  using std::swap;
  domains_matching_password_.InternalSwap(&other->domains_matching_password_);
  swap(frame_id_, other->frame_id_);
  swap(is_chrome_signin_password_, other->is_chrome_signin_password_);
  swap(sync_account_type_, other->sync_account_type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LoginReputationClientRequest_PasswordReuseEvent::GetTypeName() const {
  return "safe_browsing.LoginReputationClientRequest.PasswordReuseEvent";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LoginReputationClientRequest_PasswordReuseEvent

// repeated string domains_matching_password = 1;
int LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password_size() const {
  return domains_matching_password_.size();
}
void LoginReputationClientRequest_PasswordReuseEvent::clear_domains_matching_password() {
  domains_matching_password_.Clear();
}
const ::std::string& LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return domains_matching_password_.Get(index);
}
::std::string* LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return domains_matching_password_.Mutable(index);
}
void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  domains_matching_password_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  domains_matching_password_.Mutable(index)->assign(std::move(value));
}
#endif
void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  domains_matching_password_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
void LoginReputationClientRequest_PasswordReuseEvent::set_domains_matching_password(int index, const char* value, size_t size) {
  domains_matching_password_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
::std::string* LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return domains_matching_password_.Add();
}
void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const ::std::string& value) {
  domains_matching_password_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
#if LANG_CXX11
void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(::std::string&& value) {
  domains_matching_password_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
#endif
void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  domains_matching_password_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
void LoginReputationClientRequest_PasswordReuseEvent::add_domains_matching_password(const char* value, size_t size) {
  domains_matching_password_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
LoginReputationClientRequest_PasswordReuseEvent::domains_matching_password() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return domains_matching_password_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
LoginReputationClientRequest_PasswordReuseEvent::mutable_domains_matching_password() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.domains_matching_password)
  return &domains_matching_password_;
}

// optional int32 frame_id = 2;
bool LoginReputationClientRequest_PasswordReuseEvent::has_frame_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LoginReputationClientRequest_PasswordReuseEvent::set_has_frame_id() {
  _has_bits_[0] |= 0x00000001u;
}
void LoginReputationClientRequest_PasswordReuseEvent::clear_has_frame_id() {
  _has_bits_[0] &= ~0x00000001u;
}
void LoginReputationClientRequest_PasswordReuseEvent::clear_frame_id() {
  frame_id_ = 0;
  clear_has_frame_id();
}
::google::protobuf::int32 LoginReputationClientRequest_PasswordReuseEvent::frame_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
  return frame_id_;
}
void LoginReputationClientRequest_PasswordReuseEvent::set_frame_id(::google::protobuf::int32 value) {
  set_has_frame_id();
  frame_id_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.frame_id)
}

// optional bool is_chrome_signin_password = 3;
bool LoginReputationClientRequest_PasswordReuseEvent::has_is_chrome_signin_password() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LoginReputationClientRequest_PasswordReuseEvent::set_has_is_chrome_signin_password() {
  _has_bits_[0] |= 0x00000002u;
}
void LoginReputationClientRequest_PasswordReuseEvent::clear_has_is_chrome_signin_password() {
  _has_bits_[0] &= ~0x00000002u;
}
void LoginReputationClientRequest_PasswordReuseEvent::clear_is_chrome_signin_password() {
  is_chrome_signin_password_ = false;
  clear_has_is_chrome_signin_password();
}
bool LoginReputationClientRequest_PasswordReuseEvent::is_chrome_signin_password() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.is_chrome_signin_password)
  return is_chrome_signin_password_;
}
void LoginReputationClientRequest_PasswordReuseEvent::set_is_chrome_signin_password(bool value) {
  set_has_is_chrome_signin_password();
  is_chrome_signin_password_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.is_chrome_signin_password)
}

// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.SyncAccountType sync_account_type = 4;
bool LoginReputationClientRequest_PasswordReuseEvent::has_sync_account_type() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void LoginReputationClientRequest_PasswordReuseEvent::set_has_sync_account_type() {
  _has_bits_[0] |= 0x00000004u;
}
void LoginReputationClientRequest_PasswordReuseEvent::clear_has_sync_account_type() {
  _has_bits_[0] &= ~0x00000004u;
}
void LoginReputationClientRequest_PasswordReuseEvent::clear_sync_account_type() {
  sync_account_type_ = 0;
  clear_has_sync_account_type();
}
::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType LoginReputationClientRequest_PasswordReuseEvent::sync_account_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
  return static_cast< ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType >(sync_account_type_);
}
void LoginReputationClientRequest_PasswordReuseEvent::set_sync_account_type(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType value) {
  assert(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent_SyncAccountType_IsValid(value));
  set_has_sync_account_type();
  sync_account_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.PasswordReuseEvent.sync_account_type)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LoginReputationClientRequest::kPageUrlFieldNumber;
const int LoginReputationClientRequest::kTriggerTypeFieldNumber;
const int LoginReputationClientRequest::kFramesFieldNumber;
const int LoginReputationClientRequest::kPasswordReuseEventFieldNumber;
const int LoginReputationClientRequest::kStoredVerdictCntFieldNumber;
const int LoginReputationClientRequest::kPopulationFieldNumber;
const int LoginReputationClientRequest::kClickedThroughInterstitialFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LoginReputationClientRequest::LoginReputationClientRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientRequest)
}
LoginReputationClientRequest::LoginReputationClientRequest(const LoginReputationClientRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      frames_(from.frames_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_page_url()) {
    page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
  }
  if (from.has_password_reuse_event()) {
    password_reuse_event_ = new ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent(*from.password_reuse_event_);
  } else {
    password_reuse_event_ = NULL;
  }
  if (from.has_population()) {
    population_ = new ::safe_browsing::ChromeUserPopulation(*from.population_);
  } else {
    population_ = NULL;
  }
  ::memcpy(&trigger_type_, &from.trigger_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&clicked_through_interstitial_) -
    reinterpret_cast<char*>(&trigger_type_)) + sizeof(clicked_through_interstitial_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientRequest)
}

void LoginReputationClientRequest::SharedCtor() {
  _cached_size_ = 0;
  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&password_reuse_event_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&clicked_through_interstitial_) -
      reinterpret_cast<char*>(&password_reuse_event_)) + sizeof(clicked_through_interstitial_));
}

LoginReputationClientRequest::~LoginReputationClientRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientRequest)
  SharedDtor();
}

void LoginReputationClientRequest::SharedDtor() {
  page_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete password_reuse_event_;
  if (this != internal_default_instance()) delete population_;
}

void LoginReputationClientRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LoginReputationClientRequest& LoginReputationClientRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

LoginReputationClientRequest* LoginReputationClientRequest::New(::google::protobuf::Arena* arena) const {
  LoginReputationClientRequest* n = new LoginReputationClientRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LoginReputationClientRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  frames_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!page_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*page_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(password_reuse_event_ != NULL);
      password_reuse_event_->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(population_ != NULL);
      population_->::safe_browsing::ChromeUserPopulation::Clear();
    }
  }
  if (cached_has_bits & 56u) {
    ::memset(&trigger_type_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&clicked_through_interstitial_) -
        reinterpret_cast<char*>(&trigger_type_)) + sizeof(clicked_through_interstitial_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LoginReputationClientRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string page_url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_page_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value)) {
            set_trigger_type(static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(16u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_frames()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_password_reuse_event()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 stored_verdict_cnt = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_stored_verdict_cnt();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &stored_verdict_cnt_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ChromeUserPopulation population = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_population()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool clicked_through_interstitial = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
          set_has_clicked_through_interstitial();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &clicked_through_interstitial_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientRequest)
  return false;
#undef DO_
}

void LoginReputationClientRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string page_url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->page_url(), output);
  }

  // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->trigger_type(), output);
  }

  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->frames_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, this->frames(static_cast<int>(i)), output);
  }

  // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, *this->password_reuse_event_, output);
  }

  // optional int32 stored_verdict_cnt = 5;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->stored_verdict_cnt(), output);
  }

  // optional .safe_browsing.ChromeUserPopulation population = 6;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      6, *this->population_, output);
  }

  // optional bool clicked_through_interstitial = 7;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->clicked_through_interstitial(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientRequest)
}

size_t LoginReputationClientRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->frames_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->frames(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 63u) {
    // optional string page_url = 1;
    if (has_page_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->page_url());
    }

    // optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
    if (has_password_reuse_event()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->password_reuse_event_);
    }

    // optional .safe_browsing.ChromeUserPopulation population = 6;
    if (has_population()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->population_);
    }

    // optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
    if (has_trigger_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->trigger_type());
    }

    // optional int32 stored_verdict_cnt = 5;
    if (has_stored_verdict_cnt()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->stored_verdict_cnt());
    }

    // optional bool clicked_through_interstitial = 7;
    if (has_clicked_through_interstitial()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LoginReputationClientRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientRequest*>(&from));
}

void LoginReputationClientRequest::MergeFrom(const LoginReputationClientRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  frames_.MergeFrom(from.frames_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_page_url();
      page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_password_reuse_event()->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::MergeFrom(from.password_reuse_event());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
    }
    if (cached_has_bits & 0x00000008u) {
      trigger_type_ = from.trigger_type_;
    }
    if (cached_has_bits & 0x00000010u) {
      stored_verdict_cnt_ = from.stored_verdict_cnt_;
    }
    if (cached_has_bits & 0x00000020u) {
      clicked_through_interstitial_ = from.clicked_through_interstitial_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LoginReputationClientRequest::CopyFrom(const LoginReputationClientRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LoginReputationClientRequest::IsInitialized() const {
  return true;
}

void LoginReputationClientRequest::Swap(LoginReputationClientRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LoginReputationClientRequest::InternalSwap(LoginReputationClientRequest* other) {
  using std::swap;
  frames_.InternalSwap(&other->frames_);
  page_url_.Swap(&other->page_url_);
  swap(password_reuse_event_, other->password_reuse_event_);
  swap(population_, other->population_);
  swap(trigger_type_, other->trigger_type_);
  swap(stored_verdict_cnt_, other->stored_verdict_cnt_);
  swap(clicked_through_interstitial_, other->clicked_through_interstitial_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LoginReputationClientRequest::GetTypeName() const {
  return "safe_browsing.LoginReputationClientRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LoginReputationClientRequest

// optional string page_url = 1;
bool LoginReputationClientRequest::has_page_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LoginReputationClientRequest::set_has_page_url() {
  _has_bits_[0] |= 0x00000001u;
}
void LoginReputationClientRequest::clear_has_page_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void LoginReputationClientRequest::clear_page_url() {
  page_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_page_url();
}
const ::std::string& LoginReputationClientRequest::page_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.page_url)
  return page_url_.GetNoArena();
}
void LoginReputationClientRequest::set_page_url(const ::std::string& value) {
  set_has_page_url();
  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.page_url)
}
#if LANG_CXX11
void LoginReputationClientRequest::set_page_url(::std::string&& value) {
  set_has_page_url();
  page_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientRequest.page_url)
}
#endif
void LoginReputationClientRequest::set_page_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_page_url();
  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientRequest.page_url)
}
void LoginReputationClientRequest::set_page_url(const char* value, size_t size) {
  set_has_page_url();
  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientRequest.page_url)
}
::std::string* LoginReputationClientRequest::mutable_page_url() {
  set_has_page_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.page_url)
  return page_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* LoginReputationClientRequest::release_page_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.page_url)
  clear_has_page_url();
  return page_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void LoginReputationClientRequest::set_allocated_page_url(::std::string* page_url) {
  if (page_url != NULL) {
    set_has_page_url();
  } else {
    clear_has_page_url();
  }
  page_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.page_url)
}

// optional .safe_browsing.LoginReputationClientRequest.TriggerType trigger_type = 2;
bool LoginReputationClientRequest::has_trigger_type() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void LoginReputationClientRequest::set_has_trigger_type() {
  _has_bits_[0] |= 0x00000008u;
}
void LoginReputationClientRequest::clear_has_trigger_type() {
  _has_bits_[0] &= ~0x00000008u;
}
void LoginReputationClientRequest::clear_trigger_type() {
  trigger_type_ = 0;
  clear_has_trigger_type();
}
::safe_browsing::LoginReputationClientRequest_TriggerType LoginReputationClientRequest::trigger_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.trigger_type)
  return static_cast< ::safe_browsing::LoginReputationClientRequest_TriggerType >(trigger_type_);
}
void LoginReputationClientRequest::set_trigger_type(::safe_browsing::LoginReputationClientRequest_TriggerType value) {
  assert(::safe_browsing::LoginReputationClientRequest_TriggerType_IsValid(value));
  set_has_trigger_type();
  trigger_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.trigger_type)
}

// repeated .safe_browsing.LoginReputationClientRequest.Frame frames = 3;
int LoginReputationClientRequest::frames_size() const {
  return frames_.size();
}
void LoginReputationClientRequest::clear_frames() {
  frames_.Clear();
}
const ::safe_browsing::LoginReputationClientRequest_Frame& LoginReputationClientRequest::frames(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.frames)
  return frames_.Get(index);
}
::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::mutable_frames(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.frames)
  return frames_.Mutable(index);
}
::safe_browsing::LoginReputationClientRequest_Frame* LoginReputationClientRequest::add_frames() {
  // @@protoc_insertion_point(field_add:safe_browsing.LoginReputationClientRequest.frames)
  return frames_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >*
LoginReputationClientRequest::mutable_frames() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.LoginReputationClientRequest.frames)
  return &frames_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::LoginReputationClientRequest_Frame >&
LoginReputationClientRequest::frames() const {
  // @@protoc_insertion_point(field_list:safe_browsing.LoginReputationClientRequest.frames)
  return frames_;
}

// optional .safe_browsing.LoginReputationClientRequest.PasswordReuseEvent password_reuse_event = 4;
bool LoginReputationClientRequest::has_password_reuse_event() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LoginReputationClientRequest::set_has_password_reuse_event() {
  _has_bits_[0] |= 0x00000002u;
}
void LoginReputationClientRequest::clear_has_password_reuse_event() {
  _has_bits_[0] &= ~0x00000002u;
}
void LoginReputationClientRequest::clear_password_reuse_event() {
  if (password_reuse_event_ != NULL) password_reuse_event_->::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent::Clear();
  clear_has_password_reuse_event();
}
const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent& LoginReputationClientRequest::password_reuse_event() const {
  const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* p = password_reuse_event_;
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.password_reuse_event)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent*>(
      &::safe_browsing::_LoginReputationClientRequest_PasswordReuseEvent_default_instance_);
}
::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::mutable_password_reuse_event() {
  set_has_password_reuse_event();
  if (password_reuse_event_ == NULL) {
    password_reuse_event_ = new ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.password_reuse_event)
  return password_reuse_event_;
}
::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* LoginReputationClientRequest::release_password_reuse_event() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.password_reuse_event)
  clear_has_password_reuse_event();
  ::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* temp = password_reuse_event_;
  password_reuse_event_ = NULL;
  return temp;
}
void LoginReputationClientRequest::set_allocated_password_reuse_event(::safe_browsing::LoginReputationClientRequest_PasswordReuseEvent* password_reuse_event) {
  delete password_reuse_event_;
  password_reuse_event_ = password_reuse_event;
  if (password_reuse_event) {
    set_has_password_reuse_event();
  } else {
    clear_has_password_reuse_event();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.password_reuse_event)
}

// optional int32 stored_verdict_cnt = 5;
bool LoginReputationClientRequest::has_stored_verdict_cnt() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void LoginReputationClientRequest::set_has_stored_verdict_cnt() {
  _has_bits_[0] |= 0x00000010u;
}
void LoginReputationClientRequest::clear_has_stored_verdict_cnt() {
  _has_bits_[0] &= ~0x00000010u;
}
void LoginReputationClientRequest::clear_stored_verdict_cnt() {
  stored_verdict_cnt_ = 0;
  clear_has_stored_verdict_cnt();
}
::google::protobuf::int32 LoginReputationClientRequest::stored_verdict_cnt() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
  return stored_verdict_cnt_;
}
void LoginReputationClientRequest::set_stored_verdict_cnt(::google::protobuf::int32 value) {
  set_has_stored_verdict_cnt();
  stored_verdict_cnt_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.stored_verdict_cnt)
}

// optional .safe_browsing.ChromeUserPopulation population = 6;
bool LoginReputationClientRequest::has_population() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void LoginReputationClientRequest::set_has_population() {
  _has_bits_[0] |= 0x00000004u;
}
void LoginReputationClientRequest::clear_has_population() {
  _has_bits_[0] &= ~0x00000004u;
}
void LoginReputationClientRequest::clear_population() {
  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
  clear_has_population();
}
const ::safe_browsing::ChromeUserPopulation& LoginReputationClientRequest::population() const {
  const ::safe_browsing::ChromeUserPopulation* p = population_;
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.population)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
      &::safe_browsing::_ChromeUserPopulation_default_instance_);
}
::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::mutable_population() {
  set_has_population();
  if (population_ == NULL) {
    population_ = new ::safe_browsing::ChromeUserPopulation;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientRequest.population)
  return population_;
}
::safe_browsing::ChromeUserPopulation* LoginReputationClientRequest::release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientRequest.population)
  clear_has_population();
  ::safe_browsing::ChromeUserPopulation* temp = population_;
  population_ = NULL;
  return temp;
}
void LoginReputationClientRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  delete population_;
  population_ = population;
  if (population) {
    set_has_population();
  } else {
    clear_has_population();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientRequest.population)
}

// optional bool clicked_through_interstitial = 7;
bool LoginReputationClientRequest::has_clicked_through_interstitial() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void LoginReputationClientRequest::set_has_clicked_through_interstitial() {
  _has_bits_[0] |= 0x00000020u;
}
void LoginReputationClientRequest::clear_has_clicked_through_interstitial() {
  _has_bits_[0] &= ~0x00000020u;
}
void LoginReputationClientRequest::clear_clicked_through_interstitial() {
  clicked_through_interstitial_ = false;
  clear_has_clicked_through_interstitial();
}
bool LoginReputationClientRequest::clicked_through_interstitial() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
  return clicked_through_interstitial_;
}
void LoginReputationClientRequest::set_clicked_through_interstitial(bool value) {
  set_has_clicked_through_interstitial();
  clicked_through_interstitial_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientRequest.clicked_through_interstitial)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LoginReputationClientResponse::kVerdictTypeFieldNumber;
const int LoginReputationClientResponse::kCacheDurationSecFieldNumber;
const int LoginReputationClientResponse::kCacheExpressionFieldNumber;
const int LoginReputationClientResponse::kDEPRECATEDCacheExpressionExactMatchFieldNumber;
const int LoginReputationClientResponse::kVerdictTokenFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LoginReputationClientResponse::LoginReputationClientResponse()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.LoginReputationClientResponse)
}
LoginReputationClientResponse::LoginReputationClientResponse(const LoginReputationClientResponse& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  cache_expression_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_cache_expression()) {
    cache_expression_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cache_expression_);
  }
  verdict_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_verdict_token()) {
    verdict_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verdict_token_);
  }
  ::memcpy(&cache_duration_sec_, &from.cache_duration_sec_,
    static_cast<size_t>(reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
    reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.LoginReputationClientResponse)
}

void LoginReputationClientResponse::SharedCtor() {
  _cached_size_ = 0;
  cache_expression_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  verdict_token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&cache_duration_sec_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
      reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
}

LoginReputationClientResponse::~LoginReputationClientResponse() {
  // @@protoc_insertion_point(destructor:safe_browsing.LoginReputationClientResponse)
  SharedDtor();
}

void LoginReputationClientResponse::SharedDtor() {
  cache_expression_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  verdict_token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void LoginReputationClientResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const LoginReputationClientResponse& LoginReputationClientResponse::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

LoginReputationClientResponse* LoginReputationClientResponse::New(::google::protobuf::Arena* arena) const {
  LoginReputationClientResponse* n = new LoginReputationClientResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void LoginReputationClientResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.LoginReputationClientResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!cache_expression_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*cache_expression_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!verdict_token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*verdict_token_.UnsafeRawStringPointer())->clear();
    }
  }
  if (cached_has_bits & 28u) {
    ::memset(&cache_duration_sec_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&deprecated_cache_expression_exact_match_) -
        reinterpret_cast<char*>(&cache_duration_sec_)) + sizeof(deprecated_cache_expression_exact_match_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LoginReputationClientResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.LoginReputationClientResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value)) {
            set_verdict_type(static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(8u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 cache_duration_sec = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_cache_duration_sec();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &cache_duration_sec_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string cache_expression = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_cache_expression()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_deprecated_cache_expression_exact_match();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &deprecated_cache_expression_exact_match_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes verdict_token = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_verdict_token()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.LoginReputationClientResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.LoginReputationClientResponse)
  return false;
#undef DO_
}

void LoginReputationClientResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.LoginReputationClientResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->verdict_type(), output);
  }

  // optional int64 cache_duration_sec = 2;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->cache_duration_sec(), output);
  }

  // optional string cache_expression = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->cache_expression(), output);
  }

  // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->deprecated_cache_expression_exact_match(), output);
  }

  // optional bytes verdict_token = 5;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      5, this->verdict_token(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.LoginReputationClientResponse)
}

size_t LoginReputationClientResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.LoginReputationClientResponse)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 31u) {
    // optional string cache_expression = 3;
    if (has_cache_expression()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->cache_expression());
    }

    // optional bytes verdict_token = 5;
    if (has_verdict_token()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->verdict_token());
    }

    // optional int64 cache_duration_sec = 2;
    if (has_cache_duration_sec()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->cache_duration_sec());
    }

    // optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
    if (has_verdict_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->verdict_type());
    }

    // optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
    if (has_deprecated_cache_expression_exact_match()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void LoginReputationClientResponse::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const LoginReputationClientResponse*>(&from));
}

void LoginReputationClientResponse::MergeFrom(const LoginReputationClientResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.LoginReputationClientResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_cache_expression();
      cache_expression_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cache_expression_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_verdict_token();
      verdict_token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verdict_token_);
    }
    if (cached_has_bits & 0x00000004u) {
      cache_duration_sec_ = from.cache_duration_sec_;
    }
    if (cached_has_bits & 0x00000008u) {
      verdict_type_ = from.verdict_type_;
    }
    if (cached_has_bits & 0x00000010u) {
      deprecated_cache_expression_exact_match_ = from.deprecated_cache_expression_exact_match_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void LoginReputationClientResponse::CopyFrom(const LoginReputationClientResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.LoginReputationClientResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LoginReputationClientResponse::IsInitialized() const {
  return true;
}

void LoginReputationClientResponse::Swap(LoginReputationClientResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LoginReputationClientResponse::InternalSwap(LoginReputationClientResponse* other) {
  using std::swap;
  cache_expression_.Swap(&other->cache_expression_);
  verdict_token_.Swap(&other->verdict_token_);
  swap(cache_duration_sec_, other->cache_duration_sec_);
  swap(verdict_type_, other->verdict_type_);
  swap(deprecated_cache_expression_exact_match_, other->deprecated_cache_expression_exact_match_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string LoginReputationClientResponse::GetTypeName() const {
  return "safe_browsing.LoginReputationClientResponse";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// LoginReputationClientResponse

// optional .safe_browsing.LoginReputationClientResponse.VerdictType verdict_type = 1;
bool LoginReputationClientResponse::has_verdict_type() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void LoginReputationClientResponse::set_has_verdict_type() {
  _has_bits_[0] |= 0x00000008u;
}
void LoginReputationClientResponse::clear_has_verdict_type() {
  _has_bits_[0] &= ~0x00000008u;
}
void LoginReputationClientResponse::clear_verdict_type() {
  verdict_type_ = 0;
  clear_has_verdict_type();
}
::safe_browsing::LoginReputationClientResponse_VerdictType LoginReputationClientResponse::verdict_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_type)
  return static_cast< ::safe_browsing::LoginReputationClientResponse_VerdictType >(verdict_type_);
}
void LoginReputationClientResponse::set_verdict_type(::safe_browsing::LoginReputationClientResponse_VerdictType value) {
  assert(::safe_browsing::LoginReputationClientResponse_VerdictType_IsValid(value));
  set_has_verdict_type();
  verdict_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_type)
}

// optional int64 cache_duration_sec = 2;
bool LoginReputationClientResponse::has_cache_duration_sec() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void LoginReputationClientResponse::set_has_cache_duration_sec() {
  _has_bits_[0] |= 0x00000004u;
}
void LoginReputationClientResponse::clear_has_cache_duration_sec() {
  _has_bits_[0] &= ~0x00000004u;
}
void LoginReputationClientResponse::clear_cache_duration_sec() {
  cache_duration_sec_ = GOOGLE_LONGLONG(0);
  clear_has_cache_duration_sec();
}
::google::protobuf::int64 LoginReputationClientResponse::cache_duration_sec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
  return cache_duration_sec_;
}
void LoginReputationClientResponse::set_cache_duration_sec(::google::protobuf::int64 value) {
  set_has_cache_duration_sec();
  cache_duration_sec_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_duration_sec)
}

// optional string cache_expression = 3;
bool LoginReputationClientResponse::has_cache_expression() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void LoginReputationClientResponse::set_has_cache_expression() {
  _has_bits_[0] |= 0x00000001u;
}
void LoginReputationClientResponse::clear_has_cache_expression() {
  _has_bits_[0] &= ~0x00000001u;
}
void LoginReputationClientResponse::clear_cache_expression() {
  cache_expression_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_cache_expression();
}
const ::std::string& LoginReputationClientResponse::cache_expression() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.cache_expression)
  return cache_expression_.GetNoArena();
}
void LoginReputationClientResponse::set_cache_expression(const ::std::string& value) {
  set_has_cache_expression();
  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.cache_expression)
}
#if LANG_CXX11
void LoginReputationClientResponse::set_cache_expression(::std::string&& value) {
  set_has_cache_expression();
  cache_expression_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.cache_expression)
}
#endif
void LoginReputationClientResponse::set_cache_expression(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_cache_expression();
  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.cache_expression)
}
void LoginReputationClientResponse::set_cache_expression(const char* value, size_t size) {
  set_has_cache_expression();
  cache_expression_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.cache_expression)
}
::std::string* LoginReputationClientResponse::mutable_cache_expression() {
  set_has_cache_expression();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.cache_expression)
  return cache_expression_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* LoginReputationClientResponse::release_cache_expression() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.cache_expression)
  clear_has_cache_expression();
  return cache_expression_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void LoginReputationClientResponse::set_allocated_cache_expression(::std::string* cache_expression) {
  if (cache_expression != NULL) {
    set_has_cache_expression();
  } else {
    clear_has_cache_expression();
  }
  cache_expression_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cache_expression);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.cache_expression)
}

// optional bool DEPRECATED_cache_expression_exact_match = 4 [deprecated = true];
bool LoginReputationClientResponse::has_deprecated_cache_expression_exact_match() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void LoginReputationClientResponse::set_has_deprecated_cache_expression_exact_match() {
  _has_bits_[0] |= 0x00000010u;
}
void LoginReputationClientResponse::clear_has_deprecated_cache_expression_exact_match() {
  _has_bits_[0] &= ~0x00000010u;
}
void LoginReputationClientResponse::clear_deprecated_cache_expression_exact_match() {
  deprecated_cache_expression_exact_match_ = false;
  clear_has_deprecated_cache_expression_exact_match();
}
bool LoginReputationClientResponse::deprecated_cache_expression_exact_match() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
  return deprecated_cache_expression_exact_match_;
}
void LoginReputationClientResponse::set_deprecated_cache_expression_exact_match(bool value) {
  set_has_deprecated_cache_expression_exact_match();
  deprecated_cache_expression_exact_match_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.DEPRECATED_cache_expression_exact_match)
}

// optional bytes verdict_token = 5;
bool LoginReputationClientResponse::has_verdict_token() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void LoginReputationClientResponse::set_has_verdict_token() {
  _has_bits_[0] |= 0x00000002u;
}
void LoginReputationClientResponse::clear_has_verdict_token() {
  _has_bits_[0] &= ~0x00000002u;
}
void LoginReputationClientResponse::clear_verdict_token() {
  verdict_token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_verdict_token();
}
const ::std::string& LoginReputationClientResponse::verdict_token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.LoginReputationClientResponse.verdict_token)
  return verdict_token_.GetNoArena();
}
void LoginReputationClientResponse::set_verdict_token(const ::std::string& value) {
  set_has_verdict_token();
  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.LoginReputationClientResponse.verdict_token)
}
#if LANG_CXX11
void LoginReputationClientResponse::set_verdict_token(::std::string&& value) {
  set_has_verdict_token();
  verdict_token_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.LoginReputationClientResponse.verdict_token)
}
#endif
void LoginReputationClientResponse::set_verdict_token(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_verdict_token();
  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.LoginReputationClientResponse.verdict_token)
}
void LoginReputationClientResponse::set_verdict_token(const void* value, size_t size) {
  set_has_verdict_token();
  verdict_token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.LoginReputationClientResponse.verdict_token)
}
::std::string* LoginReputationClientResponse::mutable_verdict_token() {
  set_has_verdict_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.LoginReputationClientResponse.verdict_token)
  return verdict_token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* LoginReputationClientResponse::release_verdict_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.LoginReputationClientResponse.verdict_token)
  clear_has_verdict_token();
  return verdict_token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void LoginReputationClientResponse::set_allocated_verdict_token(::std::string* verdict_token) {
  if (verdict_token != NULL) {
    set_has_verdict_token();
  } else {
    clear_has_verdict_token();
  }
  verdict_token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), verdict_token);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.LoginReputationClientResponse.verdict_token)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientMalwareResponse::kBlacklistFieldNumber;
const int ClientMalwareResponse::kBadIpFieldNumber;
const int ClientMalwareResponse::kBadUrlFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientMalwareResponse::ClientMalwareResponse()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientMalwareResponse)
}
ClientMalwareResponse::ClientMalwareResponse(const ClientMalwareResponse& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  bad_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_bad_ip()) {
    bad_ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bad_ip_);
  }
  bad_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_bad_url()) {
    bad_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bad_url_);
  }
  blacklist_ = from.blacklist_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientMalwareResponse)
}

void ClientMalwareResponse::SharedCtor() {
  _cached_size_ = 0;
  bad_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  bad_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  blacklist_ = false;
}

ClientMalwareResponse::~ClientMalwareResponse() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientMalwareResponse)
  SharedDtor();
}

void ClientMalwareResponse::SharedDtor() {
  bad_ip_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  bad_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientMalwareResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientMalwareResponse& ClientMalwareResponse::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientMalwareResponse* ClientMalwareResponse::New(::google::protobuf::Arena* arena) const {
  ClientMalwareResponse* n = new ClientMalwareResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientMalwareResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientMalwareResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!bad_ip_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*bad_ip_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!bad_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*bad_url_.UnsafeRawStringPointer())->clear();
    }
  }
  blacklist_ = false;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientMalwareResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientMalwareResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required bool blacklist = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_blacklist();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &blacklist_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string bad_ip = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_bad_ip()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string bad_url = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_bad_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientMalwareResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientMalwareResponse)
  return false;
#undef DO_
}

void ClientMalwareResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientMalwareResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required bool blacklist = 1;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->blacklist(), output);
  }

  // optional string bad_ip = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->bad_ip(), output);
  }

  // optional string bad_url = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->bad_url(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientMalwareResponse)
}

size_t ClientMalwareResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientMalwareResponse)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required bool blacklist = 1;
  if (has_blacklist()) {
    total_size += 1 + 1;
  }
  if (_has_bits_[0 / 32] & 3u) {
    // optional string bad_ip = 2;
    if (has_bad_ip()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->bad_ip());
    }

    // optional string bad_url = 3;
    if (has_bad_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->bad_url());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientMalwareResponse::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientMalwareResponse*>(&from));
}

void ClientMalwareResponse::MergeFrom(const ClientMalwareResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientMalwareResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_bad_ip();
      bad_ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bad_ip_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_bad_url();
      bad_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bad_url_);
    }
    if (cached_has_bits & 0x00000004u) {
      blacklist_ = from.blacklist_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientMalwareResponse::CopyFrom(const ClientMalwareResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientMalwareResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientMalwareResponse::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000004) != 0x00000004) return false;
  return true;
}

void ClientMalwareResponse::Swap(ClientMalwareResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientMalwareResponse::InternalSwap(ClientMalwareResponse* other) {
  using std::swap;
  bad_ip_.Swap(&other->bad_ip_);
  bad_url_.Swap(&other->bad_url_);
  swap(blacklist_, other->blacklist_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientMalwareResponse::GetTypeName() const {
  return "safe_browsing.ClientMalwareResponse";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientMalwareResponse

// required bool blacklist = 1;
bool ClientMalwareResponse::has_blacklist() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientMalwareResponse::set_has_blacklist() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientMalwareResponse::clear_has_blacklist() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientMalwareResponse::clear_blacklist() {
  blacklist_ = false;
  clear_has_blacklist();
}
bool ClientMalwareResponse::blacklist() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareResponse.blacklist)
  return blacklist_;
}
void ClientMalwareResponse::set_blacklist(bool value) {
  set_has_blacklist();
  blacklist_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareResponse.blacklist)
}

// optional string bad_ip = 2;
bool ClientMalwareResponse::has_bad_ip() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientMalwareResponse::set_has_bad_ip() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientMalwareResponse::clear_has_bad_ip() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientMalwareResponse::clear_bad_ip() {
  bad_ip_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_bad_ip();
}
const ::std::string& ClientMalwareResponse::bad_ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareResponse.bad_ip)
  return bad_ip_.GetNoArena();
}
void ClientMalwareResponse::set_bad_ip(const ::std::string& value) {
  set_has_bad_ip();
  bad_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareResponse.bad_ip)
}
#if LANG_CXX11
void ClientMalwareResponse::set_bad_ip(::std::string&& value) {
  set_has_bad_ip();
  bad_ip_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareResponse.bad_ip)
}
#endif
void ClientMalwareResponse::set_bad_ip(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_bad_ip();
  bad_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareResponse.bad_ip)
}
void ClientMalwareResponse::set_bad_ip(const char* value, size_t size) {
  set_has_bad_ip();
  bad_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareResponse.bad_ip)
}
::std::string* ClientMalwareResponse::mutable_bad_ip() {
  set_has_bad_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareResponse.bad_ip)
  return bad_ip_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareResponse::release_bad_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareResponse.bad_ip)
  clear_has_bad_ip();
  return bad_ip_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareResponse::set_allocated_bad_ip(::std::string* bad_ip) {
  if (bad_ip != NULL) {
    set_has_bad_ip();
  } else {
    clear_has_bad_ip();
  }
  bad_ip_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), bad_ip);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareResponse.bad_ip)
}

// optional string bad_url = 3;
bool ClientMalwareResponse::has_bad_url() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientMalwareResponse::set_has_bad_url() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientMalwareResponse::clear_has_bad_url() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientMalwareResponse::clear_bad_url() {
  bad_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_bad_url();
}
const ::std::string& ClientMalwareResponse::bad_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientMalwareResponse.bad_url)
  return bad_url_.GetNoArena();
}
void ClientMalwareResponse::set_bad_url(const ::std::string& value) {
  set_has_bad_url();
  bad_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientMalwareResponse.bad_url)
}
#if LANG_CXX11
void ClientMalwareResponse::set_bad_url(::std::string&& value) {
  set_has_bad_url();
  bad_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientMalwareResponse.bad_url)
}
#endif
void ClientMalwareResponse::set_bad_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_bad_url();
  bad_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientMalwareResponse.bad_url)
}
void ClientMalwareResponse::set_bad_url(const char* value, size_t size) {
  set_has_bad_url();
  bad_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientMalwareResponse.bad_url)
}
::std::string* ClientMalwareResponse::mutable_bad_url() {
  set_has_bad_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientMalwareResponse.bad_url)
  return bad_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientMalwareResponse::release_bad_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientMalwareResponse.bad_url)
  clear_has_bad_url();
  return bad_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientMalwareResponse::set_allocated_bad_url(::std::string* bad_url) {
  if (bad_url != NULL) {
    set_has_bad_url();
  } else {
    clear_has_bad_url();
  }
  bad_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), bad_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientMalwareResponse.bad_url)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_Digests::kSha256FieldNumber;
const int ClientDownloadRequest_Digests::kSha1FieldNumber;
const int ClientDownloadRequest_Digests::kMd5FieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_Digests::ClientDownloadRequest_Digests()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.Digests)
}
ClientDownloadRequest_Digests::ClientDownloadRequest_Digests(const ClientDownloadRequest_Digests& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  sha256_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_sha256()) {
    sha256_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.sha256_);
  }
  sha1_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_sha1()) {
    sha1_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.sha1_);
  }
  md5_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_md5()) {
    md5_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.md5_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.Digests)
}

void ClientDownloadRequest_Digests::SharedCtor() {
  _cached_size_ = 0;
  sha256_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  sha1_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  md5_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadRequest_Digests::~ClientDownloadRequest_Digests() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.Digests)
  SharedDtor();
}

void ClientDownloadRequest_Digests::SharedDtor() {
  sha256_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  sha1_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  md5_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_Digests::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_Digests& ClientDownloadRequest_Digests::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_Digests* ClientDownloadRequest_Digests::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_Digests* n = new ClientDownloadRequest_Digests;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_Digests::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.Digests)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!sha256_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*sha256_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!sha1_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*sha1_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!md5_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*md5_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_Digests::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.Digests)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes sha256 = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_sha256()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes sha1 = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_sha1()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes md5 = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_md5()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.Digests)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.Digests)
  return false;
#undef DO_
}

void ClientDownloadRequest_Digests::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.Digests)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes sha256 = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->sha256(), output);
  }

  // optional bytes sha1 = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->sha1(), output);
  }

  // optional bytes md5 = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->md5(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.Digests)
}

size_t ClientDownloadRequest_Digests::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.Digests)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional bytes sha256 = 1;
    if (has_sha256()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->sha256());
    }

    // optional bytes sha1 = 2;
    if (has_sha1()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->sha1());
    }

    // optional bytes md5 = 3;
    if (has_md5()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->md5());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_Digests::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_Digests*>(&from));
}

void ClientDownloadRequest_Digests::MergeFrom(const ClientDownloadRequest_Digests& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.Digests)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_sha256();
      sha256_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.sha256_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_sha1();
      sha1_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.sha1_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_md5();
      md5_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.md5_);
    }
  }
}

void ClientDownloadRequest_Digests::CopyFrom(const ClientDownloadRequest_Digests& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.Digests)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_Digests::IsInitialized() const {
  return true;
}

void ClientDownloadRequest_Digests::Swap(ClientDownloadRequest_Digests* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_Digests::InternalSwap(ClientDownloadRequest_Digests* other) {
  using std::swap;
  sha256_.Swap(&other->sha256_);
  sha1_.Swap(&other->sha1_);
  md5_.Swap(&other->md5_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_Digests::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.Digests";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_Digests

// optional bytes sha256 = 1;
bool ClientDownloadRequest_Digests::has_sha256() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_Digests::set_has_sha256() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_Digests::clear_has_sha256() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_Digests::clear_sha256() {
  sha256_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_sha256();
}
const ::std::string& ClientDownloadRequest_Digests::sha256() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Digests.sha256)
  return sha256_.GetNoArena();
}
void ClientDownloadRequest_Digests::set_sha256(const ::std::string& value) {
  set_has_sha256();
  sha256_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Digests.sha256)
}
#if LANG_CXX11
void ClientDownloadRequest_Digests::set_sha256(::std::string&& value) {
  set_has_sha256();
  sha256_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.Digests.sha256)
}
#endif
void ClientDownloadRequest_Digests::set_sha256(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_sha256();
  sha256_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.Digests.sha256)
}
void ClientDownloadRequest_Digests::set_sha256(const void* value, size_t size) {
  set_has_sha256();
  sha256_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.Digests.sha256)
}
::std::string* ClientDownloadRequest_Digests::mutable_sha256() {
  set_has_sha256();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Digests.sha256)
  return sha256_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_Digests::release_sha256() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Digests.sha256)
  clear_has_sha256();
  return sha256_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_Digests::set_allocated_sha256(::std::string* sha256) {
  if (sha256 != NULL) {
    set_has_sha256();
  } else {
    clear_has_sha256();
  }
  sha256_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), sha256);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Digests.sha256)
}

// optional bytes sha1 = 2;
bool ClientDownloadRequest_Digests::has_sha1() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest_Digests::set_has_sha1() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest_Digests::clear_has_sha1() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest_Digests::clear_sha1() {
  sha1_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_sha1();
}
const ::std::string& ClientDownloadRequest_Digests::sha1() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Digests.sha1)
  return sha1_.GetNoArena();
}
void ClientDownloadRequest_Digests::set_sha1(const ::std::string& value) {
  set_has_sha1();
  sha1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Digests.sha1)
}
#if LANG_CXX11
void ClientDownloadRequest_Digests::set_sha1(::std::string&& value) {
  set_has_sha1();
  sha1_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.Digests.sha1)
}
#endif
void ClientDownloadRequest_Digests::set_sha1(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_sha1();
  sha1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.Digests.sha1)
}
void ClientDownloadRequest_Digests::set_sha1(const void* value, size_t size) {
  set_has_sha1();
  sha1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.Digests.sha1)
}
::std::string* ClientDownloadRequest_Digests::mutable_sha1() {
  set_has_sha1();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Digests.sha1)
  return sha1_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_Digests::release_sha1() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Digests.sha1)
  clear_has_sha1();
  return sha1_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_Digests::set_allocated_sha1(::std::string* sha1) {
  if (sha1 != NULL) {
    set_has_sha1();
  } else {
    clear_has_sha1();
  }
  sha1_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), sha1);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Digests.sha1)
}

// optional bytes md5 = 3;
bool ClientDownloadRequest_Digests::has_md5() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientDownloadRequest_Digests::set_has_md5() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientDownloadRequest_Digests::clear_has_md5() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientDownloadRequest_Digests::clear_md5() {
  md5_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_md5();
}
const ::std::string& ClientDownloadRequest_Digests::md5() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Digests.md5)
  return md5_.GetNoArena();
}
void ClientDownloadRequest_Digests::set_md5(const ::std::string& value) {
  set_has_md5();
  md5_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Digests.md5)
}
#if LANG_CXX11
void ClientDownloadRequest_Digests::set_md5(::std::string&& value) {
  set_has_md5();
  md5_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.Digests.md5)
}
#endif
void ClientDownloadRequest_Digests::set_md5(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_md5();
  md5_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.Digests.md5)
}
void ClientDownloadRequest_Digests::set_md5(const void* value, size_t size) {
  set_has_md5();
  md5_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.Digests.md5)
}
::std::string* ClientDownloadRequest_Digests::mutable_md5() {
  set_has_md5();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Digests.md5)
  return md5_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_Digests::release_md5() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Digests.md5)
  clear_has_md5();
  return md5_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_Digests::set_allocated_md5(::std::string* md5) {
  if (md5 != NULL) {
    set_has_md5();
  } else {
    clear_has_md5();
  }
  md5_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), md5);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Digests.md5)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_Resource::kUrlFieldNumber;
const int ClientDownloadRequest_Resource::kTypeFieldNumber;
const int ClientDownloadRequest_Resource::kRemoteIpFieldNumber;
const int ClientDownloadRequest_Resource::kReferrerFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_Resource::ClientDownloadRequest_Resource()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.Resource)
}
ClientDownloadRequest_Resource::ClientDownloadRequest_Resource(const ClientDownloadRequest_Resource& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  remote_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_remote_ip()) {
    remote_ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.remote_ip_);
  }
  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_referrer()) {
    referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
  }
  type_ = from.type_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.Resource)
}

void ClientDownloadRequest_Resource::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  remote_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  type_ = 0;
}

ClientDownloadRequest_Resource::~ClientDownloadRequest_Resource() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.Resource)
  SharedDtor();
}

void ClientDownloadRequest_Resource::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  remote_ip_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_Resource::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_Resource& ClientDownloadRequest_Resource::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_Resource* ClientDownloadRequest_Resource::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_Resource* n = new ClientDownloadRequest_Resource;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_Resource::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.Resource)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!remote_ip_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*remote_ip_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!referrer_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*referrer_.UnsafeRawStringPointer())->clear();
    }
  }
  type_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_Resource::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.Resource)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .safe_browsing.ClientDownloadRequest.ResourceType type = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientDownloadRequest_ResourceType_IsValid(value)) {
            set_type(static_cast< ::safe_browsing::ClientDownloadRequest_ResourceType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(16u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes remote_ip = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_remote_ip()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string referrer = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_referrer()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.Resource)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.Resource)
  return false;
#undef DO_
}

void ClientDownloadRequest_Resource::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.Resource)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->url(), output);
  }

  // required .safe_browsing.ClientDownloadRequest.ResourceType type = 2;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->type(), output);
  }

  // optional bytes remote_ip = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->remote_ip(), output);
  }

  // optional string referrer = 4;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->referrer(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.Resource)
}

size_t ClientDownloadRequest_Resource::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:safe_browsing.ClientDownloadRequest.Resource)
  size_t total_size = 0;

  if (has_url()) {
    // required string url = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());
  }

  if (has_type()) {
    // required .safe_browsing.ClientDownloadRequest.ResourceType type = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
  }

  return total_size;
}
size_t ClientDownloadRequest_Resource::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.Resource)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (((_has_bits_[0] & 0x00000009) ^ 0x00000009) == 0) {  // All required fields are present.
    // required string url = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());

    // required .safe_browsing.ClientDownloadRequest.ResourceType type = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  if (_has_bits_[0 / 32] & 6u) {
    // optional bytes remote_ip = 3;
    if (has_remote_ip()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->remote_ip());
    }

    // optional string referrer = 4;
    if (has_referrer()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->referrer());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_Resource::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_Resource*>(&from));
}

void ClientDownloadRequest_Resource::MergeFrom(const ClientDownloadRequest_Resource& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.Resource)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_remote_ip();
      remote_ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.remote_ip_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_referrer();
      referrer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_);
    }
    if (cached_has_bits & 0x00000008u) {
      type_ = from.type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientDownloadRequest_Resource::CopyFrom(const ClientDownloadRequest_Resource& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.Resource)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_Resource::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000009) != 0x00000009) return false;
  return true;
}

void ClientDownloadRequest_Resource::Swap(ClientDownloadRequest_Resource* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_Resource::InternalSwap(ClientDownloadRequest_Resource* other) {
  using std::swap;
  url_.Swap(&other->url_);
  remote_ip_.Swap(&other->remote_ip_);
  referrer_.Swap(&other->referrer_);
  swap(type_, other->type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_Resource::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.Resource";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_Resource

// required string url = 1;
bool ClientDownloadRequest_Resource::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_Resource::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_Resource::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_Resource::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientDownloadRequest_Resource::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.url)
  return url_.GetNoArena();
}
void ClientDownloadRequest_Resource::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.url)
}
#if LANG_CXX11
void ClientDownloadRequest_Resource::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.Resource.url)
}
#endif
void ClientDownloadRequest_Resource::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.Resource.url)
}
void ClientDownloadRequest_Resource::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.Resource.url)
}
::std::string* ClientDownloadRequest_Resource::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Resource.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_Resource::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Resource.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_Resource::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Resource.url)
}

// required .safe_browsing.ClientDownloadRequest.ResourceType type = 2;
bool ClientDownloadRequest_Resource::has_type() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientDownloadRequest_Resource::set_has_type() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientDownloadRequest_Resource::clear_has_type() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientDownloadRequest_Resource::clear_type() {
  type_ = 0;
  clear_has_type();
}
::safe_browsing::ClientDownloadRequest_ResourceType ClientDownloadRequest_Resource::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.type)
  return static_cast< ::safe_browsing::ClientDownloadRequest_ResourceType >(type_);
}
void ClientDownloadRequest_Resource::set_type(::safe_browsing::ClientDownloadRequest_ResourceType value) {
  assert(::safe_browsing::ClientDownloadRequest_ResourceType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.type)
}

// optional bytes remote_ip = 3;
bool ClientDownloadRequest_Resource::has_remote_ip() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest_Resource::set_has_remote_ip() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest_Resource::clear_has_remote_ip() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest_Resource::clear_remote_ip() {
  remote_ip_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_remote_ip();
}
const ::std::string& ClientDownloadRequest_Resource::remote_ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
  return remote_ip_.GetNoArena();
}
void ClientDownloadRequest_Resource::set_remote_ip(const ::std::string& value) {
  set_has_remote_ip();
  remote_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
}
#if LANG_CXX11
void ClientDownloadRequest_Resource::set_remote_ip(::std::string&& value) {
  set_has_remote_ip();
  remote_ip_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
}
#endif
void ClientDownloadRequest_Resource::set_remote_ip(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_remote_ip();
  remote_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
}
void ClientDownloadRequest_Resource::set_remote_ip(const void* value, size_t size) {
  set_has_remote_ip();
  remote_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
}
::std::string* ClientDownloadRequest_Resource::mutable_remote_ip() {
  set_has_remote_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
  return remote_ip_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_Resource::release_remote_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
  clear_has_remote_ip();
  return remote_ip_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_Resource::set_allocated_remote_ip(::std::string* remote_ip) {
  if (remote_ip != NULL) {
    set_has_remote_ip();
  } else {
    clear_has_remote_ip();
  }
  remote_ip_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), remote_ip);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Resource.remote_ip)
}

// optional string referrer = 4;
bool ClientDownloadRequest_Resource::has_referrer() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientDownloadRequest_Resource::set_has_referrer() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientDownloadRequest_Resource::clear_has_referrer() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientDownloadRequest_Resource::clear_referrer() {
  referrer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_referrer();
}
const ::std::string& ClientDownloadRequest_Resource::referrer() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.Resource.referrer)
  return referrer_.GetNoArena();
}
void ClientDownloadRequest_Resource::set_referrer(const ::std::string& value) {
  set_has_referrer();
  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.Resource.referrer)
}
#if LANG_CXX11
void ClientDownloadRequest_Resource::set_referrer(::std::string&& value) {
  set_has_referrer();
  referrer_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.Resource.referrer)
}
#endif
void ClientDownloadRequest_Resource::set_referrer(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_referrer();
  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.Resource.referrer)
}
void ClientDownloadRequest_Resource::set_referrer(const char* value, size_t size) {
  set_has_referrer();
  referrer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.Resource.referrer)
}
::std::string* ClientDownloadRequest_Resource::mutable_referrer() {
  set_has_referrer();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.Resource.referrer)
  return referrer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_Resource::release_referrer() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.Resource.referrer)
  clear_has_referrer();
  return referrer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_Resource::set_allocated_referrer(::std::string* referrer) {
  if (referrer != NULL) {
    set_has_referrer();
  } else {
    clear_has_referrer();
  }
  referrer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.Resource.referrer)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_CertificateChain_Element::kCertificateFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_CertificateChain_Element::ClientDownloadRequest_CertificateChain_Element()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
}
ClientDownloadRequest_CertificateChain_Element::ClientDownloadRequest_CertificateChain_Element(const ClientDownloadRequest_CertificateChain_Element& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  certificate_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_certificate()) {
    certificate_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.certificate_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
}

void ClientDownloadRequest_CertificateChain_Element::SharedCtor() {
  _cached_size_ = 0;
  certificate_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadRequest_CertificateChain_Element::~ClientDownloadRequest_CertificateChain_Element() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  SharedDtor();
}

void ClientDownloadRequest_CertificateChain_Element::SharedDtor() {
  certificate_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_CertificateChain_Element::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_CertificateChain_Element& ClientDownloadRequest_CertificateChain_Element::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_CertificateChain_Element* ClientDownloadRequest_CertificateChain_Element::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_CertificateChain_Element* n = new ClientDownloadRequest_CertificateChain_Element;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_CertificateChain_Element::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_certificate()) {
    GOOGLE_DCHECK(!certificate_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*certificate_.UnsafeRawStringPointer())->clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_CertificateChain_Element::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes certificate = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_certificate()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  return false;
#undef DO_
}

void ClientDownloadRequest_CertificateChain_Element::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes certificate = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->certificate(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
}

size_t ClientDownloadRequest_CertificateChain_Element::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // optional bytes certificate = 1;
  if (has_certificate()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->certificate());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_CertificateChain_Element::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_CertificateChain_Element*>(&from));
}

void ClientDownloadRequest_CertificateChain_Element::MergeFrom(const ClientDownloadRequest_CertificateChain_Element& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_certificate()) {
    set_has_certificate();
    certificate_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.certificate_);
  }
}

void ClientDownloadRequest_CertificateChain_Element::CopyFrom(const ClientDownloadRequest_CertificateChain_Element& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.CertificateChain.Element)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_CertificateChain_Element::IsInitialized() const {
  return true;
}

void ClientDownloadRequest_CertificateChain_Element::Swap(ClientDownloadRequest_CertificateChain_Element* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_CertificateChain_Element::InternalSwap(ClientDownloadRequest_CertificateChain_Element* other) {
  using std::swap;
  certificate_.Swap(&other->certificate_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_CertificateChain_Element::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.CertificateChain.Element";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_CertificateChain_Element

// optional bytes certificate = 1;
bool ClientDownloadRequest_CertificateChain_Element::has_certificate() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_CertificateChain_Element::set_has_certificate() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_CertificateChain_Element::clear_has_certificate() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_CertificateChain_Element::clear_certificate() {
  certificate_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_certificate();
}
const ::std::string& ClientDownloadRequest_CertificateChain_Element::certificate() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
  return certificate_.GetNoArena();
}
void ClientDownloadRequest_CertificateChain_Element::set_certificate(const ::std::string& value) {
  set_has_certificate();
  certificate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
}
#if LANG_CXX11
void ClientDownloadRequest_CertificateChain_Element::set_certificate(::std::string&& value) {
  set_has_certificate();
  certificate_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
}
#endif
void ClientDownloadRequest_CertificateChain_Element::set_certificate(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_certificate();
  certificate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
}
void ClientDownloadRequest_CertificateChain_Element::set_certificate(const void* value, size_t size) {
  set_has_certificate();
  certificate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
}
::std::string* ClientDownloadRequest_CertificateChain_Element::mutable_certificate() {
  set_has_certificate();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
  return certificate_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_CertificateChain_Element::release_certificate() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
  clear_has_certificate();
  return certificate_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_CertificateChain_Element::set_allocated_certificate(::std::string* certificate) {
  if (certificate != NULL) {
    set_has_certificate();
  } else {
    clear_has_certificate();
  }
  certificate_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), certificate);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.CertificateChain.Element.certificate)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_CertificateChain::kElementFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_CertificateChain::ClientDownloadRequest_CertificateChain()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.CertificateChain)
}
ClientDownloadRequest_CertificateChain::ClientDownloadRequest_CertificateChain(const ClientDownloadRequest_CertificateChain& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      element_(from.element_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.CertificateChain)
}

void ClientDownloadRequest_CertificateChain::SharedCtor() {
  _cached_size_ = 0;
}

ClientDownloadRequest_CertificateChain::~ClientDownloadRequest_CertificateChain() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.CertificateChain)
  SharedDtor();
}

void ClientDownloadRequest_CertificateChain::SharedDtor() {
}

void ClientDownloadRequest_CertificateChain::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_CertificateChain& ClientDownloadRequest_CertificateChain::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_CertificateChain* ClientDownloadRequest_CertificateChain::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_CertificateChain* n = new ClientDownloadRequest_CertificateChain;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_CertificateChain::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.CertificateChain)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  element_.Clear();
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_CertificateChain::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.CertificateChain)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .safe_browsing.ClientDownloadRequest.CertificateChain.Element element = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_element()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.CertificateChain)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.CertificateChain)
  return false;
#undef DO_
}

void ClientDownloadRequest_CertificateChain::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.CertificateChain)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .safe_browsing.ClientDownloadRequest.CertificateChain.Element element = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->element_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, this->element(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.CertificateChain)
}

size_t ClientDownloadRequest_CertificateChain::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.CertificateChain)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientDownloadRequest.CertificateChain.Element element = 1;
  {
    unsigned int count = static_cast<unsigned int>(this->element_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->element(static_cast<int>(i)));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_CertificateChain::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_CertificateChain*>(&from));
}

void ClientDownloadRequest_CertificateChain::MergeFrom(const ClientDownloadRequest_CertificateChain& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.CertificateChain)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  element_.MergeFrom(from.element_);
}

void ClientDownloadRequest_CertificateChain::CopyFrom(const ClientDownloadRequest_CertificateChain& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.CertificateChain)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_CertificateChain::IsInitialized() const {
  return true;
}

void ClientDownloadRequest_CertificateChain::Swap(ClientDownloadRequest_CertificateChain* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_CertificateChain::InternalSwap(ClientDownloadRequest_CertificateChain* other) {
  using std::swap;
  element_.InternalSwap(&other->element_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_CertificateChain::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.CertificateChain";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_CertificateChain

// repeated .safe_browsing.ClientDownloadRequest.CertificateChain.Element element = 1;
int ClientDownloadRequest_CertificateChain::element_size() const {
  return element_.size();
}
void ClientDownloadRequest_CertificateChain::clear_element() {
  element_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_CertificateChain_Element& ClientDownloadRequest_CertificateChain::element(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return element_.Get(index);
}
::safe_browsing::ClientDownloadRequest_CertificateChain_Element* ClientDownloadRequest_CertificateChain::mutable_element(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return element_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_CertificateChain_Element* ClientDownloadRequest_CertificateChain::add_element() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return element_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain_Element >*
ClientDownloadRequest_CertificateChain::mutable_element() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return &element_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain_Element >&
ClientDownloadRequest_CertificateChain::element() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.CertificateChain.element)
  return element_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_ExtendedAttr::kKeyFieldNumber;
const int ClientDownloadRequest_ExtendedAttr::kValueFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_ExtendedAttr::ClientDownloadRequest_ExtendedAttr()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.ExtendedAttr)
}
ClientDownloadRequest_ExtendedAttr::ClientDownloadRequest_ExtendedAttr(const ClientDownloadRequest_ExtendedAttr& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_key()) {
    key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
  }
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_value()) {
    value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.ExtendedAttr)
}

void ClientDownloadRequest_ExtendedAttr::SharedCtor() {
  _cached_size_ = 0;
  key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadRequest_ExtendedAttr::~ClientDownloadRequest_ExtendedAttr() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  SharedDtor();
}

void ClientDownloadRequest_ExtendedAttr::SharedDtor() {
  key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_ExtendedAttr::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_ExtendedAttr& ClientDownloadRequest_ExtendedAttr::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_ExtendedAttr* ClientDownloadRequest_ExtendedAttr::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_ExtendedAttr* n = new ClientDownloadRequest_ExtendedAttr;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_ExtendedAttr::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!key_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*key_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!value_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*value_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_ExtendedAttr::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string key = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_key()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes value = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_value()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  return false;
#undef DO_
}

void ClientDownloadRequest_ExtendedAttr::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string key = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->key(), output);
  }

  // optional bytes value = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->value(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.ExtendedAttr)
}

size_t ClientDownloadRequest_ExtendedAttr::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required string key = 1;
  if (has_key()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->key());
  }
  // optional bytes value = 2;
  if (has_value()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->value());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_ExtendedAttr::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_ExtendedAttr*>(&from));
}

void ClientDownloadRequest_ExtendedAttr::MergeFrom(const ClientDownloadRequest_ExtendedAttr& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_key();
      key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_value();
      value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
    }
  }
}

void ClientDownloadRequest_ExtendedAttr::CopyFrom(const ClientDownloadRequest_ExtendedAttr& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.ExtendedAttr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_ExtendedAttr::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  return true;
}

void ClientDownloadRequest_ExtendedAttr::Swap(ClientDownloadRequest_ExtendedAttr* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_ExtendedAttr::InternalSwap(ClientDownloadRequest_ExtendedAttr* other) {
  using std::swap;
  key_.Swap(&other->key_);
  value_.Swap(&other->value_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_ExtendedAttr::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.ExtendedAttr";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_ExtendedAttr

// required string key = 1;
bool ClientDownloadRequest_ExtendedAttr::has_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_ExtendedAttr::set_has_key() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_ExtendedAttr::clear_has_key() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_ExtendedAttr::clear_key() {
  key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_key();
}
const ::std::string& ClientDownloadRequest_ExtendedAttr::key() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
  return key_.GetNoArena();
}
void ClientDownloadRequest_ExtendedAttr::set_key(const ::std::string& value) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
}
#if LANG_CXX11
void ClientDownloadRequest_ExtendedAttr::set_key(::std::string&& value) {
  set_has_key();
  key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
}
#endif
void ClientDownloadRequest_ExtendedAttr::set_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
}
void ClientDownloadRequest_ExtendedAttr::set_key(const char* value, size_t size) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
}
::std::string* ClientDownloadRequest_ExtendedAttr::mutable_key() {
  set_has_key();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
  return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_ExtendedAttr::release_key() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
  clear_has_key();
  return key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_ExtendedAttr::set_allocated_key(::std::string* key) {
  if (key != NULL) {
    set_has_key();
  } else {
    clear_has_key();
  }
  key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ExtendedAttr.key)
}

// optional bytes value = 2;
bool ClientDownloadRequest_ExtendedAttr::has_value() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest_ExtendedAttr::set_has_value() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest_ExtendedAttr::clear_has_value() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest_ExtendedAttr::clear_value() {
  value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_value();
}
const ::std::string& ClientDownloadRequest_ExtendedAttr::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
  return value_.GetNoArena();
}
void ClientDownloadRequest_ExtendedAttr::set_value(const ::std::string& value) {
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
}
#if LANG_CXX11
void ClientDownloadRequest_ExtendedAttr::set_value(::std::string&& value) {
  set_has_value();
  value_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
}
#endif
void ClientDownloadRequest_ExtendedAttr::set_value(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
}
void ClientDownloadRequest_ExtendedAttr::set_value(const void* value, size_t size) {
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
}
::std::string* ClientDownloadRequest_ExtendedAttr::mutable_value() {
  set_has_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
  return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_ExtendedAttr::release_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
  clear_has_value();
  return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_ExtendedAttr::set_allocated_value(::std::string* value) {
  if (value != NULL) {
    set_has_value();
  } else {
    clear_has_value();
  }
  value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ExtendedAttr.value)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_SignatureInfo::kCertificateChainFieldNumber;
const int ClientDownloadRequest_SignatureInfo::kTrustedFieldNumber;
const int ClientDownloadRequest_SignatureInfo::kSignedDataFieldNumber;
const int ClientDownloadRequest_SignatureInfo::kXattrFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_SignatureInfo::ClientDownloadRequest_SignatureInfo()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.SignatureInfo)
}
ClientDownloadRequest_SignatureInfo::ClientDownloadRequest_SignatureInfo(const ClientDownloadRequest_SignatureInfo& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      certificate_chain_(from.certificate_chain_),
      signed_data_(from.signed_data_),
      xattr_(from.xattr_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  trusted_ = from.trusted_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.SignatureInfo)
}

void ClientDownloadRequest_SignatureInfo::SharedCtor() {
  _cached_size_ = 0;
  trusted_ = false;
}

ClientDownloadRequest_SignatureInfo::~ClientDownloadRequest_SignatureInfo() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.SignatureInfo)
  SharedDtor();
}

void ClientDownloadRequest_SignatureInfo::SharedDtor() {
}

void ClientDownloadRequest_SignatureInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_SignatureInfo& ClientDownloadRequest_SignatureInfo::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_SignatureInfo* ClientDownloadRequest_SignatureInfo::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_SignatureInfo* n = new ClientDownloadRequest_SignatureInfo;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_SignatureInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.SignatureInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  certificate_chain_.Clear();
  signed_data_.Clear();
  xattr_.Clear();
  trusted_ = false;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_SignatureInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.SignatureInfo)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .safe_browsing.ClientDownloadRequest.CertificateChain certificate_chain = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_certificate_chain()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool trusted = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_trusted();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &trusted_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated bytes signed_data = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->add_signed_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientDownloadRequest.ExtendedAttr xattr = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_xattr()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.SignatureInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.SignatureInfo)
  return false;
#undef DO_
}

void ClientDownloadRequest_SignatureInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.SignatureInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .safe_browsing.ClientDownloadRequest.CertificateChain certificate_chain = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->certificate_chain_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, this->certificate_chain(static_cast<int>(i)), output);
  }

  cached_has_bits = _has_bits_[0];
  // optional bool trusted = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->trusted(), output);
  }

  // repeated bytes signed_data = 3;
  for (int i = 0, n = this->signed_data_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteBytes(
      3, this->signed_data(i), output);
  }

  // repeated .safe_browsing.ClientDownloadRequest.ExtendedAttr xattr = 4;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->xattr_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, this->xattr(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.SignatureInfo)
}

size_t ClientDownloadRequest_SignatureInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.SignatureInfo)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientDownloadRequest.CertificateChain certificate_chain = 1;
  {
    unsigned int count = static_cast<unsigned int>(this->certificate_chain_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->certificate_chain(static_cast<int>(i)));
    }
  }

  // repeated bytes signed_data = 3;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->signed_data_size());
  for (int i = 0, n = this->signed_data_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
      this->signed_data(i));
  }

  // repeated .safe_browsing.ClientDownloadRequest.ExtendedAttr xattr = 4;
  {
    unsigned int count = static_cast<unsigned int>(this->xattr_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->xattr(static_cast<int>(i)));
    }
  }

  // optional bool trusted = 2;
  if (has_trusted()) {
    total_size += 1 + 1;
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_SignatureInfo::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_SignatureInfo*>(&from));
}

void ClientDownloadRequest_SignatureInfo::MergeFrom(const ClientDownloadRequest_SignatureInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.SignatureInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  certificate_chain_.MergeFrom(from.certificate_chain_);
  signed_data_.MergeFrom(from.signed_data_);
  xattr_.MergeFrom(from.xattr_);
  if (from.has_trusted()) {
    set_trusted(from.trusted());
  }
}

void ClientDownloadRequest_SignatureInfo::CopyFrom(const ClientDownloadRequest_SignatureInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.SignatureInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_SignatureInfo::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->xattr())) return false;
  return true;
}

void ClientDownloadRequest_SignatureInfo::Swap(ClientDownloadRequest_SignatureInfo* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_SignatureInfo::InternalSwap(ClientDownloadRequest_SignatureInfo* other) {
  using std::swap;
  certificate_chain_.InternalSwap(&other->certificate_chain_);
  signed_data_.InternalSwap(&other->signed_data_);
  xattr_.InternalSwap(&other->xattr_);
  swap(trusted_, other->trusted_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_SignatureInfo::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.SignatureInfo";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_SignatureInfo

// repeated .safe_browsing.ClientDownloadRequest.CertificateChain certificate_chain = 1;
int ClientDownloadRequest_SignatureInfo::certificate_chain_size() const {
  return certificate_chain_.size();
}
void ClientDownloadRequest_SignatureInfo::clear_certificate_chain() {
  certificate_chain_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_CertificateChain& ClientDownloadRequest_SignatureInfo::certificate_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return certificate_chain_.Get(index);
}
::safe_browsing::ClientDownloadRequest_CertificateChain* ClientDownloadRequest_SignatureInfo::mutable_certificate_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return certificate_chain_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_CertificateChain* ClientDownloadRequest_SignatureInfo::add_certificate_chain() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return certificate_chain_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain >*
ClientDownloadRequest_SignatureInfo::mutable_certificate_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return &certificate_chain_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_CertificateChain >&
ClientDownloadRequest_SignatureInfo::certificate_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.SignatureInfo.certificate_chain)
  return certificate_chain_;
}

// optional bool trusted = 2;
bool ClientDownloadRequest_SignatureInfo::has_trusted() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_SignatureInfo::set_has_trusted() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_SignatureInfo::clear_has_trusted() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_SignatureInfo::clear_trusted() {
  trusted_ = false;
  clear_has_trusted();
}
bool ClientDownloadRequest_SignatureInfo::trusted() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.trusted)
  return trusted_;
}
void ClientDownloadRequest_SignatureInfo::set_trusted(bool value) {
  set_has_trusted();
  trusted_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.SignatureInfo.trusted)
}

// repeated bytes signed_data = 3;
int ClientDownloadRequest_SignatureInfo::signed_data_size() const {
  return signed_data_.size();
}
void ClientDownloadRequest_SignatureInfo::clear_signed_data() {
  signed_data_.Clear();
}
const ::std::string& ClientDownloadRequest_SignatureInfo::signed_data(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return signed_data_.Get(index);
}
::std::string* ClientDownloadRequest_SignatureInfo::mutable_signed_data(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return signed_data_.Mutable(index);
}
void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  signed_data_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  signed_data_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  signed_data_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
void ClientDownloadRequest_SignatureInfo::set_signed_data(int index, const void* value, size_t size) {
  signed_data_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
::std::string* ClientDownloadRequest_SignatureInfo::add_signed_data() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return signed_data_.Add();
}
void ClientDownloadRequest_SignatureInfo::add_signed_data(const ::std::string& value) {
  signed_data_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
#if LANG_CXX11
void ClientDownloadRequest_SignatureInfo::add_signed_data(::std::string&& value) {
  signed_data_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
#endif
void ClientDownloadRequest_SignatureInfo::add_signed_data(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  signed_data_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
void ClientDownloadRequest_SignatureInfo::add_signed_data(const void* value, size_t size) {
  signed_data_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientDownloadRequest_SignatureInfo::signed_data() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return signed_data_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientDownloadRequest_SignatureInfo::mutable_signed_data() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.SignatureInfo.signed_data)
  return &signed_data_;
}

// repeated .safe_browsing.ClientDownloadRequest.ExtendedAttr xattr = 4;
int ClientDownloadRequest_SignatureInfo::xattr_size() const {
  return xattr_.size();
}
void ClientDownloadRequest_SignatureInfo::clear_xattr() {
  xattr_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_ExtendedAttr& ClientDownloadRequest_SignatureInfo::xattr(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return xattr_.Get(index);
}
::safe_browsing::ClientDownloadRequest_ExtendedAttr* ClientDownloadRequest_SignatureInfo::mutable_xattr(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return xattr_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_ExtendedAttr* ClientDownloadRequest_SignatureInfo::add_xattr() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return xattr_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ExtendedAttr >*
ClientDownloadRequest_SignatureInfo::mutable_xattr() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return &xattr_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ExtendedAttr >&
ClientDownloadRequest_SignatureInfo::xattr() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.SignatureInfo.xattr)
  return xattr_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_PEImageHeaders_DebugData::kDirectoryEntryFieldNumber;
const int ClientDownloadRequest_PEImageHeaders_DebugData::kRawDataFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_PEImageHeaders_DebugData::ClientDownloadRequest_PEImageHeaders_DebugData()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
}
ClientDownloadRequest_PEImageHeaders_DebugData::ClientDownloadRequest_PEImageHeaders_DebugData(const ClientDownloadRequest_PEImageHeaders_DebugData& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  directory_entry_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_directory_entry()) {
    directory_entry_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.directory_entry_);
  }
  raw_data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_raw_data()) {
    raw_data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.raw_data_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
}

void ClientDownloadRequest_PEImageHeaders_DebugData::SharedCtor() {
  _cached_size_ = 0;
  directory_entry_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  raw_data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadRequest_PEImageHeaders_DebugData::~ClientDownloadRequest_PEImageHeaders_DebugData() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  SharedDtor();
}

void ClientDownloadRequest_PEImageHeaders_DebugData::SharedDtor() {
  directory_entry_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  raw_data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_PEImageHeaders_DebugData::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_PEImageHeaders_DebugData& ClientDownloadRequest_PEImageHeaders_DebugData::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_PEImageHeaders_DebugData* ClientDownloadRequest_PEImageHeaders_DebugData::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_PEImageHeaders_DebugData* n = new ClientDownloadRequest_PEImageHeaders_DebugData;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_PEImageHeaders_DebugData::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!directory_entry_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*directory_entry_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!raw_data_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*raw_data_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_PEImageHeaders_DebugData::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes directory_entry = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_directory_entry()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes raw_data = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_raw_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  return false;
#undef DO_
}

void ClientDownloadRequest_PEImageHeaders_DebugData::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes directory_entry = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->directory_entry(), output);
  }

  // optional bytes raw_data = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->raw_data(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
}

size_t ClientDownloadRequest_PEImageHeaders_DebugData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional bytes directory_entry = 1;
    if (has_directory_entry()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->directory_entry());
    }

    // optional bytes raw_data = 2;
    if (has_raw_data()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->raw_data());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_PEImageHeaders_DebugData::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_PEImageHeaders_DebugData*>(&from));
}

void ClientDownloadRequest_PEImageHeaders_DebugData::MergeFrom(const ClientDownloadRequest_PEImageHeaders_DebugData& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_directory_entry();
      directory_entry_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.directory_entry_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_raw_data();
      raw_data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.raw_data_);
    }
  }
}

void ClientDownloadRequest_PEImageHeaders_DebugData::CopyFrom(const ClientDownloadRequest_PEImageHeaders_DebugData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_PEImageHeaders_DebugData::IsInitialized() const {
  return true;
}

void ClientDownloadRequest_PEImageHeaders_DebugData::Swap(ClientDownloadRequest_PEImageHeaders_DebugData* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_PEImageHeaders_DebugData::InternalSwap(ClientDownloadRequest_PEImageHeaders_DebugData* other) {
  using std::swap;
  directory_entry_.Swap(&other->directory_entry_);
  raw_data_.Swap(&other->raw_data_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_PEImageHeaders_DebugData::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_PEImageHeaders_DebugData

// optional bytes directory_entry = 1;
bool ClientDownloadRequest_PEImageHeaders_DebugData::has_directory_entry() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_has_directory_entry() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_PEImageHeaders_DebugData::clear_has_directory_entry() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_PEImageHeaders_DebugData::clear_directory_entry() {
  directory_entry_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_directory_entry();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders_DebugData::directory_entry() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
  return directory_entry_.GetNoArena();
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_directory_entry(const ::std::string& value) {
  set_has_directory_entry();
  directory_entry_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders_DebugData::set_directory_entry(::std::string&& value) {
  set_has_directory_entry();
  directory_entry_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
}
#endif
void ClientDownloadRequest_PEImageHeaders_DebugData::set_directory_entry(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_directory_entry();
  directory_entry_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_directory_entry(const void* value, size_t size) {
  set_has_directory_entry();
  directory_entry_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
}
::std::string* ClientDownloadRequest_PEImageHeaders_DebugData::mutable_directory_entry() {
  set_has_directory_entry();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
  return directory_entry_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_PEImageHeaders_DebugData::release_directory_entry() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
  clear_has_directory_entry();
  return directory_entry_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_allocated_directory_entry(::std::string* directory_entry) {
  if (directory_entry != NULL) {
    set_has_directory_entry();
  } else {
    clear_has_directory_entry();
  }
  directory_entry_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), directory_entry);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.directory_entry)
}

// optional bytes raw_data = 2;
bool ClientDownloadRequest_PEImageHeaders_DebugData::has_raw_data() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_has_raw_data() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest_PEImageHeaders_DebugData::clear_has_raw_data() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest_PEImageHeaders_DebugData::clear_raw_data() {
  raw_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_raw_data();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders_DebugData::raw_data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
  return raw_data_.GetNoArena();
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_raw_data(const ::std::string& value) {
  set_has_raw_data();
  raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders_DebugData::set_raw_data(::std::string&& value) {
  set_has_raw_data();
  raw_data_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
}
#endif
void ClientDownloadRequest_PEImageHeaders_DebugData::set_raw_data(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_raw_data();
  raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_raw_data(const void* value, size_t size) {
  set_has_raw_data();
  raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
}
::std::string* ClientDownloadRequest_PEImageHeaders_DebugData::mutable_raw_data() {
  set_has_raw_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
  return raw_data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_PEImageHeaders_DebugData::release_raw_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
  clear_has_raw_data();
  return raw_data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_PEImageHeaders_DebugData::set_allocated_raw_data(::std::string* raw_data) {
  if (raw_data != NULL) {
    set_has_raw_data();
  } else {
    clear_has_raw_data();
  }
  raw_data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), raw_data);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData.raw_data)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_PEImageHeaders::kDosHeaderFieldNumber;
const int ClientDownloadRequest_PEImageHeaders::kFileHeaderFieldNumber;
const int ClientDownloadRequest_PEImageHeaders::kOptionalHeaders32FieldNumber;
const int ClientDownloadRequest_PEImageHeaders::kOptionalHeaders64FieldNumber;
const int ClientDownloadRequest_PEImageHeaders::kSectionHeaderFieldNumber;
const int ClientDownloadRequest_PEImageHeaders::kExportSectionDataFieldNumber;
const int ClientDownloadRequest_PEImageHeaders::kDebugDataFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_PEImageHeaders::ClientDownloadRequest_PEImageHeaders()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.PEImageHeaders)
}
ClientDownloadRequest_PEImageHeaders::ClientDownloadRequest_PEImageHeaders(const ClientDownloadRequest_PEImageHeaders& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      section_header_(from.section_header_),
      debug_data_(from.debug_data_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  dos_header_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_dos_header()) {
    dos_header_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.dos_header_);
  }
  file_header_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_file_header()) {
    file_header_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_header_);
  }
  optional_headers32_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_optional_headers32()) {
    optional_headers32_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.optional_headers32_);
  }
  optional_headers64_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_optional_headers64()) {
    optional_headers64_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.optional_headers64_);
  }
  export_section_data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_export_section_data()) {
    export_section_data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.export_section_data_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.PEImageHeaders)
}

void ClientDownloadRequest_PEImageHeaders::SharedCtor() {
  _cached_size_ = 0;
  dos_header_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  file_header_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  optional_headers32_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  optional_headers64_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  export_section_data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadRequest_PEImageHeaders::~ClientDownloadRequest_PEImageHeaders() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  SharedDtor();
}

void ClientDownloadRequest_PEImageHeaders::SharedDtor() {
  dos_header_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  file_header_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  optional_headers32_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  optional_headers64_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  export_section_data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_PEImageHeaders::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_PEImageHeaders& ClientDownloadRequest_PEImageHeaders::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_PEImageHeaders* ClientDownloadRequest_PEImageHeaders::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_PEImageHeaders* n = new ClientDownloadRequest_PEImageHeaders;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_PEImageHeaders::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  section_header_.Clear();
  debug_data_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!dos_header_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*dos_header_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!file_header_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*file_header_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!optional_headers32_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*optional_headers32_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(!optional_headers64_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*optional_headers64_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(!export_section_data_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*export_section_data_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_PEImageHeaders::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes dos_header = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_dos_header()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes file_header = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_file_header()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes optional_headers32 = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_optional_headers32()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes optional_headers64 = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_optional_headers64()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated bytes section_header = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->add_section_header()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes export_section_data = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_export_section_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData debug_data = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_debug_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  return false;
#undef DO_
}

void ClientDownloadRequest_PEImageHeaders::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes dos_header = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->dos_header(), output);
  }

  // optional bytes file_header = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->file_header(), output);
  }

  // optional bytes optional_headers32 = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->optional_headers32(), output);
  }

  // optional bytes optional_headers64 = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      4, this->optional_headers64(), output);
  }

  // repeated bytes section_header = 5;
  for (int i = 0, n = this->section_header_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteBytes(
      5, this->section_header(i), output);
  }

  // optional bytes export_section_data = 6;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      6, this->export_section_data(), output);
  }

  // repeated .safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData debug_data = 7;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->debug_data_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      7, this->debug_data(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.PEImageHeaders)
}

size_t ClientDownloadRequest_PEImageHeaders::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated bytes section_header = 5;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->section_header_size());
  for (int i = 0, n = this->section_header_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
      this->section_header(i));
  }

  // repeated .safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData debug_data = 7;
  {
    unsigned int count = static_cast<unsigned int>(this->debug_data_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->debug_data(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 31u) {
    // optional bytes dos_header = 1;
    if (has_dos_header()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->dos_header());
    }

    // optional bytes file_header = 2;
    if (has_file_header()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->file_header());
    }

    // optional bytes optional_headers32 = 3;
    if (has_optional_headers32()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->optional_headers32());
    }

    // optional bytes optional_headers64 = 4;
    if (has_optional_headers64()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->optional_headers64());
    }

    // optional bytes export_section_data = 6;
    if (has_export_section_data()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->export_section_data());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_PEImageHeaders::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_PEImageHeaders*>(&from));
}

void ClientDownloadRequest_PEImageHeaders::MergeFrom(const ClientDownloadRequest_PEImageHeaders& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  section_header_.MergeFrom(from.section_header_);
  debug_data_.MergeFrom(from.debug_data_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_dos_header();
      dos_header_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.dos_header_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_file_header();
      file_header_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_header_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_optional_headers32();
      optional_headers32_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.optional_headers32_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_optional_headers64();
      optional_headers64_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.optional_headers64_);
    }
    if (cached_has_bits & 0x00000010u) {
      set_has_export_section_data();
      export_section_data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.export_section_data_);
    }
  }
}

void ClientDownloadRequest_PEImageHeaders::CopyFrom(const ClientDownloadRequest_PEImageHeaders& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.PEImageHeaders)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_PEImageHeaders::IsInitialized() const {
  return true;
}

void ClientDownloadRequest_PEImageHeaders::Swap(ClientDownloadRequest_PEImageHeaders* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_PEImageHeaders::InternalSwap(ClientDownloadRequest_PEImageHeaders* other) {
  using std::swap;
  section_header_.InternalSwap(&other->section_header_);
  debug_data_.InternalSwap(&other->debug_data_);
  dos_header_.Swap(&other->dos_header_);
  file_header_.Swap(&other->file_header_);
  optional_headers32_.Swap(&other->optional_headers32_);
  optional_headers64_.Swap(&other->optional_headers64_);
  export_section_data_.Swap(&other->export_section_data_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_PEImageHeaders::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.PEImageHeaders";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_PEImageHeaders

// optional bytes dos_header = 1;
bool ClientDownloadRequest_PEImageHeaders::has_dos_header() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_PEImageHeaders::set_has_dos_header() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_PEImageHeaders::clear_has_dos_header() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_PEImageHeaders::clear_dos_header() {
  dos_header_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_dos_header();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders::dos_header() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
  return dos_header_.GetNoArena();
}
void ClientDownloadRequest_PEImageHeaders::set_dos_header(const ::std::string& value) {
  set_has_dos_header();
  dos_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders::set_dos_header(::std::string&& value) {
  set_has_dos_header();
  dos_header_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
}
#endif
void ClientDownloadRequest_PEImageHeaders::set_dos_header(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_dos_header();
  dos_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
}
void ClientDownloadRequest_PEImageHeaders::set_dos_header(const void* value, size_t size) {
  set_has_dos_header();
  dos_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
}
::std::string* ClientDownloadRequest_PEImageHeaders::mutable_dos_header() {
  set_has_dos_header();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
  return dos_header_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_PEImageHeaders::release_dos_header() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
  clear_has_dos_header();
  return dos_header_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_PEImageHeaders::set_allocated_dos_header(::std::string* dos_header) {
  if (dos_header != NULL) {
    set_has_dos_header();
  } else {
    clear_has_dos_header();
  }
  dos_header_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), dos_header);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.dos_header)
}

// optional bytes file_header = 2;
bool ClientDownloadRequest_PEImageHeaders::has_file_header() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest_PEImageHeaders::set_has_file_header() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest_PEImageHeaders::clear_has_file_header() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest_PEImageHeaders::clear_file_header() {
  file_header_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_file_header();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders::file_header() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
  return file_header_.GetNoArena();
}
void ClientDownloadRequest_PEImageHeaders::set_file_header(const ::std::string& value) {
  set_has_file_header();
  file_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders::set_file_header(::std::string&& value) {
  set_has_file_header();
  file_header_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
}
#endif
void ClientDownloadRequest_PEImageHeaders::set_file_header(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_file_header();
  file_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
}
void ClientDownloadRequest_PEImageHeaders::set_file_header(const void* value, size_t size) {
  set_has_file_header();
  file_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
}
::std::string* ClientDownloadRequest_PEImageHeaders::mutable_file_header() {
  set_has_file_header();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
  return file_header_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_PEImageHeaders::release_file_header() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
  clear_has_file_header();
  return file_header_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_PEImageHeaders::set_allocated_file_header(::std::string* file_header) {
  if (file_header != NULL) {
    set_has_file_header();
  } else {
    clear_has_file_header();
  }
  file_header_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_header);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.file_header)
}

// optional bytes optional_headers32 = 3;
bool ClientDownloadRequest_PEImageHeaders::has_optional_headers32() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientDownloadRequest_PEImageHeaders::set_has_optional_headers32() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientDownloadRequest_PEImageHeaders::clear_has_optional_headers32() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientDownloadRequest_PEImageHeaders::clear_optional_headers32() {
  optional_headers32_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_optional_headers32();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders::optional_headers32() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
  return optional_headers32_.GetNoArena();
}
void ClientDownloadRequest_PEImageHeaders::set_optional_headers32(const ::std::string& value) {
  set_has_optional_headers32();
  optional_headers32_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders::set_optional_headers32(::std::string&& value) {
  set_has_optional_headers32();
  optional_headers32_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
}
#endif
void ClientDownloadRequest_PEImageHeaders::set_optional_headers32(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_optional_headers32();
  optional_headers32_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
}
void ClientDownloadRequest_PEImageHeaders::set_optional_headers32(const void* value, size_t size) {
  set_has_optional_headers32();
  optional_headers32_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
}
::std::string* ClientDownloadRequest_PEImageHeaders::mutable_optional_headers32() {
  set_has_optional_headers32();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
  return optional_headers32_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_PEImageHeaders::release_optional_headers32() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
  clear_has_optional_headers32();
  return optional_headers32_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_PEImageHeaders::set_allocated_optional_headers32(::std::string* optional_headers32) {
  if (optional_headers32 != NULL) {
    set_has_optional_headers32();
  } else {
    clear_has_optional_headers32();
  }
  optional_headers32_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), optional_headers32);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers32)
}

// optional bytes optional_headers64 = 4;
bool ClientDownloadRequest_PEImageHeaders::has_optional_headers64() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientDownloadRequest_PEImageHeaders::set_has_optional_headers64() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientDownloadRequest_PEImageHeaders::clear_has_optional_headers64() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientDownloadRequest_PEImageHeaders::clear_optional_headers64() {
  optional_headers64_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_optional_headers64();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders::optional_headers64() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
  return optional_headers64_.GetNoArena();
}
void ClientDownloadRequest_PEImageHeaders::set_optional_headers64(const ::std::string& value) {
  set_has_optional_headers64();
  optional_headers64_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders::set_optional_headers64(::std::string&& value) {
  set_has_optional_headers64();
  optional_headers64_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
}
#endif
void ClientDownloadRequest_PEImageHeaders::set_optional_headers64(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_optional_headers64();
  optional_headers64_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
}
void ClientDownloadRequest_PEImageHeaders::set_optional_headers64(const void* value, size_t size) {
  set_has_optional_headers64();
  optional_headers64_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
}
::std::string* ClientDownloadRequest_PEImageHeaders::mutable_optional_headers64() {
  set_has_optional_headers64();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
  return optional_headers64_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_PEImageHeaders::release_optional_headers64() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
  clear_has_optional_headers64();
  return optional_headers64_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_PEImageHeaders::set_allocated_optional_headers64(::std::string* optional_headers64) {
  if (optional_headers64 != NULL) {
    set_has_optional_headers64();
  } else {
    clear_has_optional_headers64();
  }
  optional_headers64_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), optional_headers64);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.optional_headers64)
}

// repeated bytes section_header = 5;
int ClientDownloadRequest_PEImageHeaders::section_header_size() const {
  return section_header_.size();
}
void ClientDownloadRequest_PEImageHeaders::clear_section_header() {
  section_header_.Clear();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders::section_header(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return section_header_.Get(index);
}
::std::string* ClientDownloadRequest_PEImageHeaders::mutable_section_header(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return section_header_.Mutable(index);
}
void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  section_header_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  section_header_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  section_header_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
void ClientDownloadRequest_PEImageHeaders::set_section_header(int index, const void* value, size_t size) {
  section_header_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
::std::string* ClientDownloadRequest_PEImageHeaders::add_section_header() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return section_header_.Add();
}
void ClientDownloadRequest_PEImageHeaders::add_section_header(const ::std::string& value) {
  section_header_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders::add_section_header(::std::string&& value) {
  section_header_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
#endif
void ClientDownloadRequest_PEImageHeaders::add_section_header(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  section_header_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
void ClientDownloadRequest_PEImageHeaders::add_section_header(const void* value, size_t size) {
  section_header_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientDownloadRequest_PEImageHeaders::section_header() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return section_header_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientDownloadRequest_PEImageHeaders::mutable_section_header() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.section_header)
  return &section_header_;
}

// optional bytes export_section_data = 6;
bool ClientDownloadRequest_PEImageHeaders::has_export_section_data() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientDownloadRequest_PEImageHeaders::set_has_export_section_data() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientDownloadRequest_PEImageHeaders::clear_has_export_section_data() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientDownloadRequest_PEImageHeaders::clear_export_section_data() {
  export_section_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_export_section_data();
}
const ::std::string& ClientDownloadRequest_PEImageHeaders::export_section_data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
  return export_section_data_.GetNoArena();
}
void ClientDownloadRequest_PEImageHeaders::set_export_section_data(const ::std::string& value) {
  set_has_export_section_data();
  export_section_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
}
#if LANG_CXX11
void ClientDownloadRequest_PEImageHeaders::set_export_section_data(::std::string&& value) {
  set_has_export_section_data();
  export_section_data_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
}
#endif
void ClientDownloadRequest_PEImageHeaders::set_export_section_data(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_export_section_data();
  export_section_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
}
void ClientDownloadRequest_PEImageHeaders::set_export_section_data(const void* value, size_t size) {
  set_has_export_section_data();
  export_section_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
}
::std::string* ClientDownloadRequest_PEImageHeaders::mutable_export_section_data() {
  set_has_export_section_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
  return export_section_data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_PEImageHeaders::release_export_section_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
  clear_has_export_section_data();
  return export_section_data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_PEImageHeaders::set_allocated_export_section_data(::std::string* export_section_data) {
  if (export_section_data != NULL) {
    set_has_export_section_data();
  } else {
    clear_has_export_section_data();
  }
  export_section_data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), export_section_data);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.PEImageHeaders.export_section_data)
}

// repeated .safe_browsing.ClientDownloadRequest.PEImageHeaders.DebugData debug_data = 7;
int ClientDownloadRequest_PEImageHeaders::debug_data_size() const {
  return debug_data_.size();
}
void ClientDownloadRequest_PEImageHeaders::clear_debug_data() {
  debug_data_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData& ClientDownloadRequest_PEImageHeaders::debug_data(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return debug_data_.Get(index);
}
::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* ClientDownloadRequest_PEImageHeaders::mutable_debug_data(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return debug_data_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData* ClientDownloadRequest_PEImageHeaders::add_debug_data() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return debug_data_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData >*
ClientDownloadRequest_PEImageHeaders::mutable_debug_data() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return &debug_data_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_PEImageHeaders_DebugData >&
ClientDownloadRequest_PEImageHeaders::debug_data() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.PEImageHeaders.debug_data)
  return debug_data_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_MachOHeaders_LoadCommand::kCommandIdFieldNumber;
const int ClientDownloadRequest_MachOHeaders_LoadCommand::kCommandFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_MachOHeaders_LoadCommand::ClientDownloadRequest_MachOHeaders_LoadCommand()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
}
ClientDownloadRequest_MachOHeaders_LoadCommand::ClientDownloadRequest_MachOHeaders_LoadCommand(const ClientDownloadRequest_MachOHeaders_LoadCommand& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_command()) {
    command_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_);
  }
  command_id_ = from.command_id_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::SharedCtor() {
  _cached_size_ = 0;
  command_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  command_id_ = 0u;
}

ClientDownloadRequest_MachOHeaders_LoadCommand::~ClientDownloadRequest_MachOHeaders_LoadCommand() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  SharedDtor();
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::SharedDtor() {
  command_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_MachOHeaders_LoadCommand& ClientDownloadRequest_MachOHeaders_LoadCommand::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_MachOHeaders_LoadCommand* ClientDownloadRequest_MachOHeaders_LoadCommand::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_MachOHeaders_LoadCommand* n = new ClientDownloadRequest_MachOHeaders_LoadCommand;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_command()) {
    GOOGLE_DCHECK(!command_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*command_.UnsafeRawStringPointer())->clear();
  }
  command_id_ = 0u;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_MachOHeaders_LoadCommand::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required uint32 command_id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_command_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &command_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required bytes command = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_command()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  return false;
#undef DO_
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required uint32 command_id = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->command_id(), output);
  }

  // required bytes command = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->command(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
}

size_t ClientDownloadRequest_MachOHeaders_LoadCommand::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  size_t total_size = 0;

  if (has_command()) {
    // required bytes command = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->command());
  }

  if (has_command_id()) {
    // required uint32 command_id = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::UInt32Size(
        this->command_id());
  }

  return total_size;
}
size_t ClientDownloadRequest_MachOHeaders_LoadCommand::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
    // required bytes command = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->command());

    // required uint32 command_id = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::UInt32Size(
        this->command_id());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_MachOHeaders_LoadCommand*>(&from));
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::MergeFrom(const ClientDownloadRequest_MachOHeaders_LoadCommand& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_command();
      command_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.command_);
    }
    if (cached_has_bits & 0x00000002u) {
      command_id_ = from.command_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::CopyFrom(const ClientDownloadRequest_MachOHeaders_LoadCommand& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_MachOHeaders_LoadCommand::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  return true;
}

void ClientDownloadRequest_MachOHeaders_LoadCommand::Swap(ClientDownloadRequest_MachOHeaders_LoadCommand* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::InternalSwap(ClientDownloadRequest_MachOHeaders_LoadCommand* other) {
  using std::swap;
  command_.Swap(&other->command_);
  swap(command_id_, other->command_id_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_MachOHeaders_LoadCommand::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_MachOHeaders_LoadCommand

// required uint32 command_id = 1;
bool ClientDownloadRequest_MachOHeaders_LoadCommand::has_command_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_has_command_id() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::clear_has_command_id() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::clear_command_id() {
  command_id_ = 0u;
  clear_has_command_id();
}
::google::protobuf::uint32 ClientDownloadRequest_MachOHeaders_LoadCommand::command_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command_id)
  return command_id_;
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_command_id(::google::protobuf::uint32 value) {
  set_has_command_id();
  command_id_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command_id)
}

// required bytes command = 2;
bool ClientDownloadRequest_MachOHeaders_LoadCommand::has_command() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_has_command() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::clear_has_command() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::clear_command() {
  command_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_command();
}
const ::std::string& ClientDownloadRequest_MachOHeaders_LoadCommand::command() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
  return command_.GetNoArena();
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_command(const ::std::string& value) {
  set_has_command();
  command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
}
#if LANG_CXX11
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_command(::std::string&& value) {
  set_has_command();
  command_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
}
#endif
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_command(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_command();
  command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_command(const void* value, size_t size) {
  set_has_command();
  command_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
}
::std::string* ClientDownloadRequest_MachOHeaders_LoadCommand::mutable_command() {
  set_has_command();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
  return command_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_MachOHeaders_LoadCommand::release_command() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
  clear_has_command();
  return command_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_MachOHeaders_LoadCommand::set_allocated_command(::std::string* command) {
  if (command != NULL) {
    set_has_command();
  } else {
    clear_has_command();
  }
  command_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), command);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand.command)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_MachOHeaders::kMachHeaderFieldNumber;
const int ClientDownloadRequest_MachOHeaders::kLoadCommandsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_MachOHeaders::ClientDownloadRequest_MachOHeaders()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.MachOHeaders)
}
ClientDownloadRequest_MachOHeaders::ClientDownloadRequest_MachOHeaders(const ClientDownloadRequest_MachOHeaders& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      load_commands_(from.load_commands_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  mach_header_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_mach_header()) {
    mach_header_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mach_header_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.MachOHeaders)
}

void ClientDownloadRequest_MachOHeaders::SharedCtor() {
  _cached_size_ = 0;
  mach_header_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadRequest_MachOHeaders::~ClientDownloadRequest_MachOHeaders() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.MachOHeaders)
  SharedDtor();
}

void ClientDownloadRequest_MachOHeaders::SharedDtor() {
  mach_header_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadRequest_MachOHeaders::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_MachOHeaders& ClientDownloadRequest_MachOHeaders::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_MachOHeaders* ClientDownloadRequest_MachOHeaders::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_MachOHeaders* n = new ClientDownloadRequest_MachOHeaders;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_MachOHeaders::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.MachOHeaders)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  load_commands_.Clear();
  if (has_mach_header()) {
    GOOGLE_DCHECK(!mach_header_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*mach_header_.UnsafeRawStringPointer())->clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_MachOHeaders::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.MachOHeaders)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required bytes mach_header = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_mach_header()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand load_commands = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_load_commands()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.MachOHeaders)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.MachOHeaders)
  return false;
#undef DO_
}

void ClientDownloadRequest_MachOHeaders::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.MachOHeaders)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required bytes mach_header = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->mach_header(), output);
  }

  // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand load_commands = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->load_commands_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, this->load_commands(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.MachOHeaders)
}

size_t ClientDownloadRequest_MachOHeaders::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.MachOHeaders)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required bytes mach_header = 1;
  if (has_mach_header()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->mach_header());
  }
  // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand load_commands = 2;
  {
    unsigned int count = static_cast<unsigned int>(this->load_commands_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->load_commands(static_cast<int>(i)));
    }
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_MachOHeaders::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_MachOHeaders*>(&from));
}

void ClientDownloadRequest_MachOHeaders::MergeFrom(const ClientDownloadRequest_MachOHeaders& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.MachOHeaders)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  load_commands_.MergeFrom(from.load_commands_);
  if (from.has_mach_header()) {
    set_has_mach_header();
    mach_header_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mach_header_);
  }
}

void ClientDownloadRequest_MachOHeaders::CopyFrom(const ClientDownloadRequest_MachOHeaders& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.MachOHeaders)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_MachOHeaders::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->load_commands())) return false;
  return true;
}

void ClientDownloadRequest_MachOHeaders::Swap(ClientDownloadRequest_MachOHeaders* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_MachOHeaders::InternalSwap(ClientDownloadRequest_MachOHeaders* other) {
  using std::swap;
  load_commands_.InternalSwap(&other->load_commands_);
  mach_header_.Swap(&other->mach_header_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_MachOHeaders::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.MachOHeaders";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_MachOHeaders

// required bytes mach_header = 1;
bool ClientDownloadRequest_MachOHeaders::has_mach_header() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_MachOHeaders::set_has_mach_header() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_MachOHeaders::clear_has_mach_header() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_MachOHeaders::clear_mach_header() {
  mach_header_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_mach_header();
}
const ::std::string& ClientDownloadRequest_MachOHeaders::mach_header() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
  return mach_header_.GetNoArena();
}
void ClientDownloadRequest_MachOHeaders::set_mach_header(const ::std::string& value) {
  set_has_mach_header();
  mach_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
}
#if LANG_CXX11
void ClientDownloadRequest_MachOHeaders::set_mach_header(::std::string&& value) {
  set_has_mach_header();
  mach_header_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
}
#endif
void ClientDownloadRequest_MachOHeaders::set_mach_header(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_mach_header();
  mach_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
}
void ClientDownloadRequest_MachOHeaders::set_mach_header(const void* value, size_t size) {
  set_has_mach_header();
  mach_header_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
}
::std::string* ClientDownloadRequest_MachOHeaders::mutable_mach_header() {
  set_has_mach_header();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
  return mach_header_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_MachOHeaders::release_mach_header() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
  clear_has_mach_header();
  return mach_header_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_MachOHeaders::set_allocated_mach_header(::std::string* mach_header) {
  if (mach_header != NULL) {
    set_has_mach_header();
  } else {
    clear_has_mach_header();
  }
  mach_header_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mach_header);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.MachOHeaders.mach_header)
}

// repeated .safe_browsing.ClientDownloadRequest.MachOHeaders.LoadCommand load_commands = 2;
int ClientDownloadRequest_MachOHeaders::load_commands_size() const {
  return load_commands_.size();
}
void ClientDownloadRequest_MachOHeaders::clear_load_commands() {
  load_commands_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand& ClientDownloadRequest_MachOHeaders::load_commands(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return load_commands_.Get(index);
}
::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* ClientDownloadRequest_MachOHeaders::mutable_load_commands(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return load_commands_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand* ClientDownloadRequest_MachOHeaders::add_load_commands() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return load_commands_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand >*
ClientDownloadRequest_MachOHeaders::mutable_load_commands() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return &load_commands_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders_LoadCommand >&
ClientDownloadRequest_MachOHeaders::load_commands() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.MachOHeaders.load_commands)
  return load_commands_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_ImageHeaders::kPeHeadersFieldNumber;
const int ClientDownloadRequest_ImageHeaders::kMachOHeadersFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_ImageHeaders::ClientDownloadRequest_ImageHeaders()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.ImageHeaders)
}
ClientDownloadRequest_ImageHeaders::ClientDownloadRequest_ImageHeaders(const ClientDownloadRequest_ImageHeaders& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      mach_o_headers_(from.mach_o_headers_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_pe_headers()) {
    pe_headers_ = new ::safe_browsing::ClientDownloadRequest_PEImageHeaders(*from.pe_headers_);
  } else {
    pe_headers_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.ImageHeaders)
}

void ClientDownloadRequest_ImageHeaders::SharedCtor() {
  _cached_size_ = 0;
  pe_headers_ = NULL;
}

ClientDownloadRequest_ImageHeaders::~ClientDownloadRequest_ImageHeaders() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.ImageHeaders)
  SharedDtor();
}

void ClientDownloadRequest_ImageHeaders::SharedDtor() {
  if (this != internal_default_instance()) delete pe_headers_;
}

void ClientDownloadRequest_ImageHeaders::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_ImageHeaders& ClientDownloadRequest_ImageHeaders::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_ImageHeaders* ClientDownloadRequest_ImageHeaders::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_ImageHeaders* n = new ClientDownloadRequest_ImageHeaders;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_ImageHeaders::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.ImageHeaders)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  mach_o_headers_.Clear();
  if (has_pe_headers()) {
    GOOGLE_DCHECK(pe_headers_ != NULL);
    pe_headers_->::safe_browsing::ClientDownloadRequest_PEImageHeaders::Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_ImageHeaders::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.ImageHeaders)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientDownloadRequest.PEImageHeaders pe_headers = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_pe_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders mach_o_headers = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_mach_o_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.ImageHeaders)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.ImageHeaders)
  return false;
#undef DO_
}

void ClientDownloadRequest_ImageHeaders::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.ImageHeaders)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientDownloadRequest.PEImageHeaders pe_headers = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, *this->pe_headers_, output);
  }

  // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders mach_o_headers = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->mach_o_headers_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, this->mach_o_headers(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.ImageHeaders)
}

size_t ClientDownloadRequest_ImageHeaders::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.ImageHeaders)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientDownloadRequest.MachOHeaders mach_o_headers = 2;
  {
    unsigned int count = static_cast<unsigned int>(this->mach_o_headers_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->mach_o_headers(static_cast<int>(i)));
    }
  }

  // optional .safe_browsing.ClientDownloadRequest.PEImageHeaders pe_headers = 1;
  if (has_pe_headers()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->pe_headers_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_ImageHeaders::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_ImageHeaders*>(&from));
}

void ClientDownloadRequest_ImageHeaders::MergeFrom(const ClientDownloadRequest_ImageHeaders& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.ImageHeaders)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  mach_o_headers_.MergeFrom(from.mach_o_headers_);
  if (from.has_pe_headers()) {
    mutable_pe_headers()->::safe_browsing::ClientDownloadRequest_PEImageHeaders::MergeFrom(from.pe_headers());
  }
}

void ClientDownloadRequest_ImageHeaders::CopyFrom(const ClientDownloadRequest_ImageHeaders& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.ImageHeaders)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_ImageHeaders::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->mach_o_headers())) return false;
  return true;
}

void ClientDownloadRequest_ImageHeaders::Swap(ClientDownloadRequest_ImageHeaders* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_ImageHeaders::InternalSwap(ClientDownloadRequest_ImageHeaders* other) {
  using std::swap;
  mach_o_headers_.InternalSwap(&other->mach_o_headers_);
  swap(pe_headers_, other->pe_headers_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_ImageHeaders::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.ImageHeaders";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_ImageHeaders

// optional .safe_browsing.ClientDownloadRequest.PEImageHeaders pe_headers = 1;
bool ClientDownloadRequest_ImageHeaders::has_pe_headers() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_ImageHeaders::set_has_pe_headers() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_ImageHeaders::clear_has_pe_headers() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_ImageHeaders::clear_pe_headers() {
  if (pe_headers_ != NULL) pe_headers_->::safe_browsing::ClientDownloadRequest_PEImageHeaders::Clear();
  clear_has_pe_headers();
}
const ::safe_browsing::ClientDownloadRequest_PEImageHeaders& ClientDownloadRequest_ImageHeaders::pe_headers() const {
  const ::safe_browsing::ClientDownloadRequest_PEImageHeaders* p = pe_headers_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_PEImageHeaders*>(
      &::safe_browsing::_ClientDownloadRequest_PEImageHeaders_default_instance_);
}
::safe_browsing::ClientDownloadRequest_PEImageHeaders* ClientDownloadRequest_ImageHeaders::mutable_pe_headers() {
  set_has_pe_headers();
  if (pe_headers_ == NULL) {
    pe_headers_ = new ::safe_browsing::ClientDownloadRequest_PEImageHeaders;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
  return pe_headers_;
}
::safe_browsing::ClientDownloadRequest_PEImageHeaders* ClientDownloadRequest_ImageHeaders::release_pe_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
  clear_has_pe_headers();
  ::safe_browsing::ClientDownloadRequest_PEImageHeaders* temp = pe_headers_;
  pe_headers_ = NULL;
  return temp;
}
void ClientDownloadRequest_ImageHeaders::set_allocated_pe_headers(::safe_browsing::ClientDownloadRequest_PEImageHeaders* pe_headers) {
  delete pe_headers_;
  pe_headers_ = pe_headers;
  if (pe_headers) {
    set_has_pe_headers();
  } else {
    clear_has_pe_headers();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ImageHeaders.pe_headers)
}

// repeated .safe_browsing.ClientDownloadRequest.MachOHeaders mach_o_headers = 2;
int ClientDownloadRequest_ImageHeaders::mach_o_headers_size() const {
  return mach_o_headers_.size();
}
void ClientDownloadRequest_ImageHeaders::clear_mach_o_headers() {
  mach_o_headers_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_MachOHeaders& ClientDownloadRequest_ImageHeaders::mach_o_headers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return mach_o_headers_.Get(index);
}
::safe_browsing::ClientDownloadRequest_MachOHeaders* ClientDownloadRequest_ImageHeaders::mutable_mach_o_headers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return mach_o_headers_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_MachOHeaders* ClientDownloadRequest_ImageHeaders::add_mach_o_headers() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return mach_o_headers_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders >*
ClientDownloadRequest_ImageHeaders::mutable_mach_o_headers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return &mach_o_headers_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_MachOHeaders >&
ClientDownloadRequest_ImageHeaders::mach_o_headers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.ImageHeaders.mach_o_headers)
  return mach_o_headers_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest_ArchivedBinary::kFileBasenameFieldNumber;
const int ClientDownloadRequest_ArchivedBinary::kDownloadTypeFieldNumber;
const int ClientDownloadRequest_ArchivedBinary::kDigestsFieldNumber;
const int ClientDownloadRequest_ArchivedBinary::kLengthFieldNumber;
const int ClientDownloadRequest_ArchivedBinary::kSignatureFieldNumber;
const int ClientDownloadRequest_ArchivedBinary::kImageHeadersFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest_ArchivedBinary::ClientDownloadRequest_ArchivedBinary()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest.ArchivedBinary)
}
ClientDownloadRequest_ArchivedBinary::ClientDownloadRequest_ArchivedBinary(const ClientDownloadRequest_ArchivedBinary& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_file_basename()) {
    file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
  }
  if (from.has_digests()) {
    digests_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digests_);
  } else {
    digests_ = NULL;
  }
  if (from.has_signature()) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
  } else {
    signature_ = NULL;
  }
  if (from.has_image_headers()) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
  } else {
    image_headers_ = NULL;
  }
  ::memcpy(&length_, &from.length_,
    static_cast<size_t>(reinterpret_cast<char*>(&download_type_) -
    reinterpret_cast<char*>(&length_)) + sizeof(download_type_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest.ArchivedBinary)
}

void ClientDownloadRequest_ArchivedBinary::SharedCtor() {
  _cached_size_ = 0;
  file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&digests_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&download_type_) -
      reinterpret_cast<char*>(&digests_)) + sizeof(download_type_));
}

ClientDownloadRequest_ArchivedBinary::~ClientDownloadRequest_ArchivedBinary() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  SharedDtor();
}

void ClientDownloadRequest_ArchivedBinary::SharedDtor() {
  file_basename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete digests_;
  if (this != internal_default_instance()) delete signature_;
  if (this != internal_default_instance()) delete image_headers_;
}

void ClientDownloadRequest_ArchivedBinary::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest_ArchivedBinary& ClientDownloadRequest_ArchivedBinary::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest_ArchivedBinary* ClientDownloadRequest_ArchivedBinary::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest_ArchivedBinary* n = new ClientDownloadRequest_ArchivedBinary;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest_ArchivedBinary::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!file_basename_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*file_basename_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(digests_ != NULL);
      digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(signature_ != NULL);
      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(image_headers_ != NULL);
      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
    }
  }
  if (cached_has_bits & 48u) {
    ::memset(&length_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&download_type_) -
        reinterpret_cast<char*>(&length_)) + sizeof(download_type_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest_ArchivedBinary::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string file_basename = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_file_basename()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value)) {
            set_download_type(static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(16u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.Digests digests = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_digests()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 length = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_length();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &length_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_signature()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_image_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  return false;
#undef DO_
}

void ClientDownloadRequest_ArchivedBinary::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string file_basename = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->file_basename(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 2;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->download_type(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.Digests digests = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->digests_, output);
  }

  // optional int64 length = 4;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(4, this->length(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, *this->signature_, output);
  }

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      6, *this->image_headers_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest.ArchivedBinary)
}

size_t ClientDownloadRequest_ArchivedBinary::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 63u) {
    // optional string file_basename = 1;
    if (has_file_basename()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->file_basename());
    }

    // optional .safe_browsing.ClientDownloadRequest.Digests digests = 3;
    if (has_digests()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->digests_);
    }

    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
    if (has_signature()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->signature_);
    }

    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
    if (has_image_headers()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->image_headers_);
    }

    // optional int64 length = 4;
    if (has_length()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->length());
    }

    // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 2;
    if (has_download_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->download_type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest_ArchivedBinary::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest_ArchivedBinary*>(&from));
}

void ClientDownloadRequest_ArchivedBinary::MergeFrom(const ClientDownloadRequest_ArchivedBinary& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_file_basename();
      file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_digests()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digests());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
    }
    if (cached_has_bits & 0x00000010u) {
      length_ = from.length_;
    }
    if (cached_has_bits & 0x00000020u) {
      download_type_ = from.download_type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientDownloadRequest_ArchivedBinary::CopyFrom(const ClientDownloadRequest_ArchivedBinary& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest.ArchivedBinary)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest_ArchivedBinary::IsInitialized() const {
  if (has_signature()) {
    if (!this->signature_->IsInitialized()) return false;
  }
  if (has_image_headers()) {
    if (!this->image_headers_->IsInitialized()) return false;
  }
  return true;
}

void ClientDownloadRequest_ArchivedBinary::Swap(ClientDownloadRequest_ArchivedBinary* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest_ArchivedBinary::InternalSwap(ClientDownloadRequest_ArchivedBinary* other) {
  using std::swap;
  file_basename_.Swap(&other->file_basename_);
  swap(digests_, other->digests_);
  swap(signature_, other->signature_);
  swap(image_headers_, other->image_headers_);
  swap(length_, other->length_);
  swap(download_type_, other->download_type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest_ArchivedBinary::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest.ArchivedBinary";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest_ArchivedBinary

// optional string file_basename = 1;
bool ClientDownloadRequest_ArchivedBinary::has_file_basename() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest_ArchivedBinary::set_has_file_basename() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest_ArchivedBinary::clear_has_file_basename() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest_ArchivedBinary::clear_file_basename() {
  file_basename_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_file_basename();
}
const ::std::string& ClientDownloadRequest_ArchivedBinary::file_basename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
  return file_basename_.GetNoArena();
}
void ClientDownloadRequest_ArchivedBinary::set_file_basename(const ::std::string& value) {
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
}
#if LANG_CXX11
void ClientDownloadRequest_ArchivedBinary::set_file_basename(::std::string&& value) {
  set_has_file_basename();
  file_basename_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
}
#endif
void ClientDownloadRequest_ArchivedBinary::set_file_basename(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
}
void ClientDownloadRequest_ArchivedBinary::set_file_basename(const char* value, size_t size) {
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
}
::std::string* ClientDownloadRequest_ArchivedBinary::mutable_file_basename() {
  set_has_file_basename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
  return file_basename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest_ArchivedBinary::release_file_basename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
  clear_has_file_basename();
  return file_basename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest_ArchivedBinary::set_allocated_file_basename(::std::string* file_basename) {
  if (file_basename != NULL) {
    set_has_file_basename();
  } else {
    clear_has_file_basename();
  }
  file_basename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_basename);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.file_basename)
}

// optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 2;
bool ClientDownloadRequest_ArchivedBinary::has_download_type() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ClientDownloadRequest_ArchivedBinary::set_has_download_type() {
  _has_bits_[0] |= 0x00000020u;
}
void ClientDownloadRequest_ArchivedBinary::clear_has_download_type() {
  _has_bits_[0] &= ~0x00000020u;
}
void ClientDownloadRequest_ArchivedBinary::clear_download_type() {
  download_type_ = 0;
  clear_has_download_type();
}
::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest_ArchivedBinary::download_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.download_type)
  return static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(download_type_);
}
void ClientDownloadRequest_ArchivedBinary::set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value) {
  assert(::safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value));
  set_has_download_type();
  download_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ArchivedBinary.download_type)
}

// optional .safe_browsing.ClientDownloadRequest.Digests digests = 3;
bool ClientDownloadRequest_ArchivedBinary::has_digests() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest_ArchivedBinary::set_has_digests() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest_ArchivedBinary::clear_has_digests() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest_ArchivedBinary::clear_digests() {
  if (digests_ != NULL) digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
  clear_has_digests();
}
const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest_ArchivedBinary::digests() const {
  const ::safe_browsing::ClientDownloadRequest_Digests* p = digests_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
}
::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest_ArchivedBinary::mutable_digests() {
  set_has_digests();
  if (digests_ == NULL) {
    digests_ = new ::safe_browsing::ClientDownloadRequest_Digests;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
  return digests_;
}
::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest_ArchivedBinary::release_digests() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
  clear_has_digests();
  ::safe_browsing::ClientDownloadRequest_Digests* temp = digests_;
  digests_ = NULL;
  return temp;
}
void ClientDownloadRequest_ArchivedBinary::set_allocated_digests(::safe_browsing::ClientDownloadRequest_Digests* digests) {
  delete digests_;
  digests_ = digests;
  if (digests) {
    set_has_digests();
  } else {
    clear_has_digests();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.digests)
}

// optional int64 length = 4;
bool ClientDownloadRequest_ArchivedBinary::has_length() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientDownloadRequest_ArchivedBinary::set_has_length() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientDownloadRequest_ArchivedBinary::clear_has_length() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientDownloadRequest_ArchivedBinary::clear_length() {
  length_ = GOOGLE_LONGLONG(0);
  clear_has_length();
}
::google::protobuf::int64 ClientDownloadRequest_ArchivedBinary::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.length)
  return length_;
}
void ClientDownloadRequest_ArchivedBinary::set_length(::google::protobuf::int64 value) {
  set_has_length();
  length_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.ArchivedBinary.length)
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
bool ClientDownloadRequest_ArchivedBinary::has_signature() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientDownloadRequest_ArchivedBinary::set_has_signature() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientDownloadRequest_ArchivedBinary::clear_has_signature() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientDownloadRequest_ArchivedBinary::clear_signature() {
  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
  clear_has_signature();
}
const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest_ArchivedBinary::signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest_ArchivedBinary::mutable_signature() {
  set_has_signature();
  if (signature_ == NULL) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
  return signature_;
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest_ArchivedBinary::release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
  clear_has_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
  signature_ = NULL;
  return temp;
}
void ClientDownloadRequest_ArchivedBinary::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  delete signature_;
  signature_ = signature;
  if (signature) {
    set_has_signature();
  } else {
    clear_has_signature();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.signature)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 6;
bool ClientDownloadRequest_ArchivedBinary::has_image_headers() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientDownloadRequest_ArchivedBinary::set_has_image_headers() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientDownloadRequest_ArchivedBinary::clear_has_image_headers() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientDownloadRequest_ArchivedBinary::clear_image_headers() {
  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
  clear_has_image_headers();
}
const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest_ArchivedBinary::image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest_ArchivedBinary::mutable_image_headers() {
  set_has_image_headers();
  if (image_headers_ == NULL) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
  return image_headers_;
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest_ArchivedBinary::release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
  clear_has_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
  image_headers_ = NULL;
  return temp;
}
void ClientDownloadRequest_ArchivedBinary::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  delete image_headers_;
  image_headers_ = image_headers;
  if (image_headers) {
    set_has_image_headers();
  } else {
    clear_has_image_headers();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.ArchivedBinary.image_headers)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadRequest::kUrlFieldNumber;
const int ClientDownloadRequest::kDigestsFieldNumber;
const int ClientDownloadRequest::kLengthFieldNumber;
const int ClientDownloadRequest::kResourcesFieldNumber;
const int ClientDownloadRequest::kSignatureFieldNumber;
const int ClientDownloadRequest::kUserInitiatedFieldNumber;
const int ClientDownloadRequest::kFileBasenameFieldNumber;
const int ClientDownloadRequest::kDownloadTypeFieldNumber;
const int ClientDownloadRequest::kLocaleFieldNumber;
const int ClientDownloadRequest::kImageHeadersFieldNumber;
const int ClientDownloadRequest::kArchivedBinaryFieldNumber;
const int ClientDownloadRequest::kPopulationFieldNumber;
const int ClientDownloadRequest::kArchiveValidFieldNumber;
const int ClientDownloadRequest::kSkippedUrlWhitelistFieldNumber;
const int ClientDownloadRequest::kSkippedCertificateWhitelistFieldNumber;
const int ClientDownloadRequest::kAlternateExtensionsFieldNumber;
const int ClientDownloadRequest::kReferrerChainFieldNumber;
const int ClientDownloadRequest::kDEPRECATEDDownloadAttributionFinchEnabledFieldNumber;
const int ClientDownloadRequest::kUdifCodeSignatureFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadRequest::ClientDownloadRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadRequest)
}
ClientDownloadRequest::ClientDownloadRequest(const ClientDownloadRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      resources_(from.resources_),
      archived_binary_(from.archived_binary_),
      alternate_extensions_(from.alternate_extensions_),
      referrer_chain_(from.referrer_chain_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_file_basename()) {
    file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
  }
  locale_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_locale()) {
    locale_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.locale_);
  }
  udif_code_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_udif_code_signature()) {
    udif_code_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.udif_code_signature_);
  }
  if (from.has_digests()) {
    digests_ = new ::safe_browsing::ClientDownloadRequest_Digests(*from.digests_);
  } else {
    digests_ = NULL;
  }
  if (from.has_signature()) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
  } else {
    signature_ = NULL;
  }
  if (from.has_image_headers()) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
  } else {
    image_headers_ = NULL;
  }
  if (from.has_population()) {
    population_ = new ::safe_browsing::ChromeUserPopulation(*from.population_);
  } else {
    population_ = NULL;
  }
  ::memcpy(&length_, &from.length_,
    static_cast<size_t>(reinterpret_cast<char*>(&skipped_certificate_whitelist_) -
    reinterpret_cast<char*>(&length_)) + sizeof(skipped_certificate_whitelist_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadRequest)
}

void ClientDownloadRequest::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  locale_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  udif_code_signature_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&digests_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&skipped_certificate_whitelist_) -
      reinterpret_cast<char*>(&digests_)) + sizeof(skipped_certificate_whitelist_));
}

ClientDownloadRequest::~ClientDownloadRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadRequest)
  SharedDtor();
}

void ClientDownloadRequest::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  file_basename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  locale_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  udif_code_signature_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete digests_;
  if (this != internal_default_instance()) delete signature_;
  if (this != internal_default_instance()) delete image_headers_;
  if (this != internal_default_instance()) delete population_;
}

void ClientDownloadRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadRequest& ClientDownloadRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadRequest* ClientDownloadRequest::New(::google::protobuf::Arena* arena) const {
  ClientDownloadRequest* n = new ClientDownloadRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  resources_.Clear();
  archived_binary_.Clear();
  alternate_extensions_.Clear();
  referrer_chain_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!file_basename_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*file_basename_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!locale_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*locale_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(!udif_code_signature_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*udif_code_signature_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(digests_ != NULL);
      digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
    }
    if (cached_has_bits & 0x00000020u) {
      GOOGLE_DCHECK(signature_ != NULL);
      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
    }
    if (cached_has_bits & 0x00000040u) {
      GOOGLE_DCHECK(image_headers_ != NULL);
      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
    }
    if (cached_has_bits & 0x00000080u) {
      GOOGLE_DCHECK(population_ != NULL);
      population_->::safe_browsing::ChromeUserPopulation::Clear();
    }
  }
  if (cached_has_bits & 32512u) {
    ::memset(&length_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&skipped_certificate_whitelist_) -
        reinterpret_cast<char*>(&length_)) + sizeof(skipped_certificate_whitelist_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_digests()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required int64 length = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_length();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &length_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_resources()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_signature()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool user_initiated = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          set_has_user_initiated();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &user_initiated_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string file_basename = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_file_basename()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(80u /* 80 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value)) {
            set_download_type(static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(80u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string locale = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(90u /* 90 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_locale()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
      case 18: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(146u /* 146 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_image_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
      case 22: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(178u /* 178 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_archived_binary()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ChromeUserPopulation population = 24;
      case 24: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(194u /* 194 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_population()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool archive_valid = 26;
      case 26: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(208u /* 208 & 0xFF */)) {
          set_has_archive_valid();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &archive_valid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool skipped_url_whitelist = 28;
      case 28: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(224u /* 224 & 0xFF */)) {
          set_has_skipped_url_whitelist();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &skipped_url_whitelist_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool skipped_certificate_whitelist = 31;
      case 31: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(248u /* 248 & 0xFF */)) {
          set_has_skipped_certificate_whitelist();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &skipped_certificate_whitelist_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string alternate_extensions = 35;
      case 35: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 282 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_alternate_extensions()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
      case 36: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 290 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_referrer_chain()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
      case 39: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u /* 312 & 0xFF */)) {
          set_has_deprecated_download_attribution_finch_enabled();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &deprecated_download_attribution_finch_enabled_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes udif_code_signature = 40;
      case 40: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(66u /* 322 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_udif_code_signature()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadRequest)
  return false;
#undef DO_
}

void ClientDownloadRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->url(), output);
  }

  // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->digests_, output);
  }

  // required int64 length = 3;
  if (cached_has_bits & 0x00000100u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(3, this->length(), output);
  }

  // repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->resources_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, this->resources(static_cast<int>(i)), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, *this->signature_, output);
  }

  // optional bool user_initiated = 6;
  if (cached_has_bits & 0x00000800u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->user_initiated(), output);
  }

  // optional string file_basename = 9;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      9, this->file_basename(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
  if (cached_has_bits & 0x00000400u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      10, this->download_type(), output);
  }

  // optional string locale = 11;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      11, this->locale(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      18, *this->image_headers_, output);
  }

  // repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->archived_binary_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      22, this->archived_binary(static_cast<int>(i)), output);
  }

  // optional .safe_browsing.ChromeUserPopulation population = 24;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      24, *this->population_, output);
  }

  // optional bool archive_valid = 26;
  if (cached_has_bits & 0x00001000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(26, this->archive_valid(), output);
  }

  // optional bool skipped_url_whitelist = 28;
  if (cached_has_bits & 0x00002000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(28, this->skipped_url_whitelist(), output);
  }

  // optional bool skipped_certificate_whitelist = 31;
  if (cached_has_bits & 0x00004000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(31, this->skipped_certificate_whitelist(), output);
  }

  // repeated string alternate_extensions = 35;
  for (int i = 0, n = this->alternate_extensions_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      35, this->alternate_extensions(i), output);
  }

  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->referrer_chain_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      36, this->referrer_chain(static_cast<int>(i)), output);
  }

  // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
  if (cached_has_bits & 0x00000200u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(39, this->deprecated_download_attribution_finch_enabled(), output);
  }

  // optional bytes udif_code_signature = 40;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      40, this->udif_code_signature(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadRequest)
}

size_t ClientDownloadRequest::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:safe_browsing.ClientDownloadRequest)
  size_t total_size = 0;

  if (has_url()) {
    // required string url = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());
  }

  if (has_digests()) {
    // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->digests_);
  }

  if (has_length()) {
    // required int64 length = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->length());
  }

  return total_size;
}
size_t ClientDownloadRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (((_has_bits_[0] & 0x00000111) ^ 0x00000111) == 0) {  // All required fields are present.
    // required string url = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());

    // required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->digests_);

    // required int64 length = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int64Size(
        this->length());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  // repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
  {
    unsigned int count = static_cast<unsigned int>(this->resources_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->resources(static_cast<int>(i)));
    }
  }

  // repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
  {
    unsigned int count = static_cast<unsigned int>(this->archived_binary_size());
    total_size += 2UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->archived_binary(static_cast<int>(i)));
    }
  }

  // repeated string alternate_extensions = 35;
  total_size += 2 *
      ::google::protobuf::internal::FromIntSize(this->alternate_extensions_size());
  for (int i = 0, n = this->alternate_extensions_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->alternate_extensions(i));
  }

  // repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
  {
    unsigned int count = static_cast<unsigned int>(this->referrer_chain_size());
    total_size += 2UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->referrer_chain(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 14u) {
    // optional string file_basename = 9;
    if (has_file_basename()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->file_basename());
    }

    // optional string locale = 11;
    if (has_locale()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->locale());
    }

    // optional bytes udif_code_signature = 40;
    if (has_udif_code_signature()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->udif_code_signature());
    }

  }
  if (_has_bits_[0 / 32] & 224u) {
    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
    if (has_signature()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->signature_);
    }

    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
    if (has_image_headers()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->image_headers_);
    }

    // optional .safe_browsing.ChromeUserPopulation population = 24;
    if (has_population()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->population_);
    }

  }
  if (_has_bits_[8 / 32] & 32256u) {
    // optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
    if (has_deprecated_download_attribution_finch_enabled()) {
      total_size += 2 + 1;
    }

    // optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
    if (has_download_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->download_type());
    }

    // optional bool user_initiated = 6;
    if (has_user_initiated()) {
      total_size += 1 + 1;
    }

    // optional bool archive_valid = 26;
    if (has_archive_valid()) {
      total_size += 2 + 1;
    }

    // optional bool skipped_url_whitelist = 28;
    if (has_skipped_url_whitelist()) {
      total_size += 2 + 1;
    }

    // optional bool skipped_certificate_whitelist = 31;
    if (has_skipped_certificate_whitelist()) {
      total_size += 2 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadRequest*>(&from));
}

void ClientDownloadRequest::MergeFrom(const ClientDownloadRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  resources_.MergeFrom(from.resources_);
  archived_binary_.MergeFrom(from.archived_binary_);
  alternate_extensions_.MergeFrom(from.alternate_extensions_);
  referrer_chain_.MergeFrom(from.referrer_chain_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_file_basename();
      file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_locale();
      locale_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.locale_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_udif_code_signature();
      udif_code_signature_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.udif_code_signature_);
    }
    if (cached_has_bits & 0x00000010u) {
      mutable_digests()->::safe_browsing::ClientDownloadRequest_Digests::MergeFrom(from.digests());
    }
    if (cached_has_bits & 0x00000020u) {
      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
    }
    if (cached_has_bits & 0x00000040u) {
      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
    }
    if (cached_has_bits & 0x00000080u) {
      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
    }
  }
  if (cached_has_bits & 32512u) {
    if (cached_has_bits & 0x00000100u) {
      length_ = from.length_;
    }
    if (cached_has_bits & 0x00000200u) {
      deprecated_download_attribution_finch_enabled_ = from.deprecated_download_attribution_finch_enabled_;
    }
    if (cached_has_bits & 0x00000400u) {
      download_type_ = from.download_type_;
    }
    if (cached_has_bits & 0x00000800u) {
      user_initiated_ = from.user_initiated_;
    }
    if (cached_has_bits & 0x00001000u) {
      archive_valid_ = from.archive_valid_;
    }
    if (cached_has_bits & 0x00002000u) {
      skipped_url_whitelist_ = from.skipped_url_whitelist_;
    }
    if (cached_has_bits & 0x00004000u) {
      skipped_certificate_whitelist_ = from.skipped_certificate_whitelist_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientDownloadRequest::CopyFrom(const ClientDownloadRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadRequest::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000111) != 0x00000111) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->resources())) return false;
  if (!::google::protobuf::internal::AllAreInitialized(this->archived_binary())) return false;
  if (has_signature()) {
    if (!this->signature_->IsInitialized()) return false;
  }
  if (has_image_headers()) {
    if (!this->image_headers_->IsInitialized()) return false;
  }
  return true;
}

void ClientDownloadRequest::Swap(ClientDownloadRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadRequest::InternalSwap(ClientDownloadRequest* other) {
  using std::swap;
  resources_.InternalSwap(&other->resources_);
  archived_binary_.InternalSwap(&other->archived_binary_);
  alternate_extensions_.InternalSwap(&other->alternate_extensions_);
  referrer_chain_.InternalSwap(&other->referrer_chain_);
  url_.Swap(&other->url_);
  file_basename_.Swap(&other->file_basename_);
  locale_.Swap(&other->locale_);
  udif_code_signature_.Swap(&other->udif_code_signature_);
  swap(digests_, other->digests_);
  swap(signature_, other->signature_);
  swap(image_headers_, other->image_headers_);
  swap(population_, other->population_);
  swap(length_, other->length_);
  swap(deprecated_download_attribution_finch_enabled_, other->deprecated_download_attribution_finch_enabled_);
  swap(download_type_, other->download_type_);
  swap(user_initiated_, other->user_initiated_);
  swap(archive_valid_, other->archive_valid_);
  swap(skipped_url_whitelist_, other->skipped_url_whitelist_);
  swap(skipped_certificate_whitelist_, other->skipped_certificate_whitelist_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadRequest::GetTypeName() const {
  return "safe_browsing.ClientDownloadRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadRequest

// required string url = 1;
bool ClientDownloadRequest::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadRequest::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadRequest::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadRequest::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientDownloadRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.url)
  return url_.GetNoArena();
}
void ClientDownloadRequest::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.url)
}
#if LANG_CXX11
void ClientDownloadRequest::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.url)
}
#endif
void ClientDownloadRequest::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.url)
}
void ClientDownloadRequest::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.url)
}
::std::string* ClientDownloadRequest::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.url)
}

// required .safe_browsing.ClientDownloadRequest.Digests digests = 2;
bool ClientDownloadRequest::has_digests() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientDownloadRequest::set_has_digests() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientDownloadRequest::clear_has_digests() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientDownloadRequest::clear_digests() {
  if (digests_ != NULL) digests_->::safe_browsing::ClientDownloadRequest_Digests::Clear();
  clear_has_digests();
}
const ::safe_browsing::ClientDownloadRequest_Digests& ClientDownloadRequest::digests() const {
  const ::safe_browsing::ClientDownloadRequest_Digests* p = digests_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.digests)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_Digests*>(
      &::safe_browsing::_ClientDownloadRequest_Digests_default_instance_);
}
::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest::mutable_digests() {
  set_has_digests();
  if (digests_ == NULL) {
    digests_ = new ::safe_browsing::ClientDownloadRequest_Digests;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.digests)
  return digests_;
}
::safe_browsing::ClientDownloadRequest_Digests* ClientDownloadRequest::release_digests() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.digests)
  clear_has_digests();
  ::safe_browsing::ClientDownloadRequest_Digests* temp = digests_;
  digests_ = NULL;
  return temp;
}
void ClientDownloadRequest::set_allocated_digests(::safe_browsing::ClientDownloadRequest_Digests* digests) {
  delete digests_;
  digests_ = digests;
  if (digests) {
    set_has_digests();
  } else {
    clear_has_digests();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.digests)
}

// required int64 length = 3;
bool ClientDownloadRequest::has_length() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
void ClientDownloadRequest::set_has_length() {
  _has_bits_[0] |= 0x00000100u;
}
void ClientDownloadRequest::clear_has_length() {
  _has_bits_[0] &= ~0x00000100u;
}
void ClientDownloadRequest::clear_length() {
  length_ = GOOGLE_LONGLONG(0);
  clear_has_length();
}
::google::protobuf::int64 ClientDownloadRequest::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.length)
  return length_;
}
void ClientDownloadRequest::set_length(::google::protobuf::int64 value) {
  set_has_length();
  length_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.length)
}

// repeated .safe_browsing.ClientDownloadRequest.Resource resources = 4;
int ClientDownloadRequest::resources_size() const {
  return resources_.size();
}
void ClientDownloadRequest::clear_resources() {
  resources_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_Resource& ClientDownloadRequest::resources(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.resources)
  return resources_.Get(index);
}
::safe_browsing::ClientDownloadRequest_Resource* ClientDownloadRequest::mutable_resources(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.resources)
  return resources_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_Resource* ClientDownloadRequest::add_resources() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.resources)
  return resources_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >*
ClientDownloadRequest::mutable_resources() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.resources)
  return &resources_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_Resource >&
ClientDownloadRequest::resources() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.resources)
  return resources_;
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 5;
bool ClientDownloadRequest::has_signature() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ClientDownloadRequest::set_has_signature() {
  _has_bits_[0] |= 0x00000020u;
}
void ClientDownloadRequest::clear_has_signature() {
  _has_bits_[0] &= ~0x00000020u;
}
void ClientDownloadRequest::clear_signature() {
  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
  clear_has_signature();
}
const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientDownloadRequest::signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.signature)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest::mutable_signature() {
  set_has_signature();
  if (signature_ == NULL) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.signature)
  return signature_;
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientDownloadRequest::release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.signature)
  clear_has_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
  signature_ = NULL;
  return temp;
}
void ClientDownloadRequest::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  delete signature_;
  signature_ = signature;
  if (signature) {
    set_has_signature();
  } else {
    clear_has_signature();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.signature)
}

// optional bool user_initiated = 6;
bool ClientDownloadRequest::has_user_initiated() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
void ClientDownloadRequest::set_has_user_initiated() {
  _has_bits_[0] |= 0x00000800u;
}
void ClientDownloadRequest::clear_has_user_initiated() {
  _has_bits_[0] &= ~0x00000800u;
}
void ClientDownloadRequest::clear_user_initiated() {
  user_initiated_ = false;
  clear_has_user_initiated();
}
bool ClientDownloadRequest::user_initiated() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.user_initiated)
  return user_initiated_;
}
void ClientDownloadRequest::set_user_initiated(bool value) {
  set_has_user_initiated();
  user_initiated_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.user_initiated)
}

// optional string file_basename = 9;
bool ClientDownloadRequest::has_file_basename() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadRequest::set_has_file_basename() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadRequest::clear_has_file_basename() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadRequest::clear_file_basename() {
  file_basename_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_file_basename();
}
const ::std::string& ClientDownloadRequest::file_basename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.file_basename)
  return file_basename_.GetNoArena();
}
void ClientDownloadRequest::set_file_basename(const ::std::string& value) {
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.file_basename)
}
#if LANG_CXX11
void ClientDownloadRequest::set_file_basename(::std::string&& value) {
  set_has_file_basename();
  file_basename_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.file_basename)
}
#endif
void ClientDownloadRequest::set_file_basename(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.file_basename)
}
void ClientDownloadRequest::set_file_basename(const char* value, size_t size) {
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.file_basename)
}
::std::string* ClientDownloadRequest::mutable_file_basename() {
  set_has_file_basename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.file_basename)
  return file_basename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest::release_file_basename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.file_basename)
  clear_has_file_basename();
  return file_basename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest::set_allocated_file_basename(::std::string* file_basename) {
  if (file_basename != NULL) {
    set_has_file_basename();
  } else {
    clear_has_file_basename();
  }
  file_basename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_basename);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.file_basename)
}

// optional .safe_browsing.ClientDownloadRequest.DownloadType download_type = 10 [default = WIN_EXECUTABLE];
bool ClientDownloadRequest::has_download_type() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
void ClientDownloadRequest::set_has_download_type() {
  _has_bits_[0] |= 0x00000400u;
}
void ClientDownloadRequest::clear_has_download_type() {
  _has_bits_[0] &= ~0x00000400u;
}
void ClientDownloadRequest::clear_download_type() {
  download_type_ = 0;
  clear_has_download_type();
}
::safe_browsing::ClientDownloadRequest_DownloadType ClientDownloadRequest::download_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.download_type)
  return static_cast< ::safe_browsing::ClientDownloadRequest_DownloadType >(download_type_);
}
void ClientDownloadRequest::set_download_type(::safe_browsing::ClientDownloadRequest_DownloadType value) {
  assert(::safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value));
  set_has_download_type();
  download_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.download_type)
}

// optional string locale = 11;
bool ClientDownloadRequest::has_locale() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientDownloadRequest::set_has_locale() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientDownloadRequest::clear_has_locale() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientDownloadRequest::clear_locale() {
  locale_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_locale();
}
const ::std::string& ClientDownloadRequest::locale() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.locale)
  return locale_.GetNoArena();
}
void ClientDownloadRequest::set_locale(const ::std::string& value) {
  set_has_locale();
  locale_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.locale)
}
#if LANG_CXX11
void ClientDownloadRequest::set_locale(::std::string&& value) {
  set_has_locale();
  locale_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.locale)
}
#endif
void ClientDownloadRequest::set_locale(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_locale();
  locale_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.locale)
}
void ClientDownloadRequest::set_locale(const char* value, size_t size) {
  set_has_locale();
  locale_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.locale)
}
::std::string* ClientDownloadRequest::mutable_locale() {
  set_has_locale();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.locale)
  return locale_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest::release_locale() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.locale)
  clear_has_locale();
  return locale_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest::set_allocated_locale(::std::string* locale) {
  if (locale != NULL) {
    set_has_locale();
  } else {
    clear_has_locale();
  }
  locale_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), locale);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.locale)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 18;
bool ClientDownloadRequest::has_image_headers() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
void ClientDownloadRequest::set_has_image_headers() {
  _has_bits_[0] |= 0x00000040u;
}
void ClientDownloadRequest::clear_has_image_headers() {
  _has_bits_[0] &= ~0x00000040u;
}
void ClientDownloadRequest::clear_image_headers() {
  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
  clear_has_image_headers();
}
const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientDownloadRequest::image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.image_headers)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest::mutable_image_headers() {
  set_has_image_headers();
  if (image_headers_ == NULL) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.image_headers)
  return image_headers_;
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientDownloadRequest::release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.image_headers)
  clear_has_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
  image_headers_ = NULL;
  return temp;
}
void ClientDownloadRequest::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  delete image_headers_;
  image_headers_ = image_headers;
  if (image_headers) {
    set_has_image_headers();
  } else {
    clear_has_image_headers();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.image_headers)
}

// repeated .safe_browsing.ClientDownloadRequest.ArchivedBinary archived_binary = 22;
int ClientDownloadRequest::archived_binary_size() const {
  return archived_binary_.size();
}
void ClientDownloadRequest::clear_archived_binary() {
  archived_binary_.Clear();
}
const ::safe_browsing::ClientDownloadRequest_ArchivedBinary& ClientDownloadRequest::archived_binary(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.archived_binary)
  return archived_binary_.Get(index);
}
::safe_browsing::ClientDownloadRequest_ArchivedBinary* ClientDownloadRequest::mutable_archived_binary(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.archived_binary)
  return archived_binary_.Mutable(index);
}
::safe_browsing::ClientDownloadRequest_ArchivedBinary* ClientDownloadRequest::add_archived_binary() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.archived_binary)
  return archived_binary_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >*
ClientDownloadRequest::mutable_archived_binary() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.archived_binary)
  return &archived_binary_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientDownloadRequest_ArchivedBinary >&
ClientDownloadRequest::archived_binary() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.archived_binary)
  return archived_binary_;
}

// optional .safe_browsing.ChromeUserPopulation population = 24;
bool ClientDownloadRequest::has_population() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
void ClientDownloadRequest::set_has_population() {
  _has_bits_[0] |= 0x00000080u;
}
void ClientDownloadRequest::clear_has_population() {
  _has_bits_[0] &= ~0x00000080u;
}
void ClientDownloadRequest::clear_population() {
  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
  clear_has_population();
}
const ::safe_browsing::ChromeUserPopulation& ClientDownloadRequest::population() const {
  const ::safe_browsing::ChromeUserPopulation* p = population_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.population)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
      &::safe_browsing::_ChromeUserPopulation_default_instance_);
}
::safe_browsing::ChromeUserPopulation* ClientDownloadRequest::mutable_population() {
  set_has_population();
  if (population_ == NULL) {
    population_ = new ::safe_browsing::ChromeUserPopulation;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.population)
  return population_;
}
::safe_browsing::ChromeUserPopulation* ClientDownloadRequest::release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.population)
  clear_has_population();
  ::safe_browsing::ChromeUserPopulation* temp = population_;
  population_ = NULL;
  return temp;
}
void ClientDownloadRequest::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  delete population_;
  population_ = population;
  if (population) {
    set_has_population();
  } else {
    clear_has_population();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.population)
}

// optional bool archive_valid = 26;
bool ClientDownloadRequest::has_archive_valid() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
void ClientDownloadRequest::set_has_archive_valid() {
  _has_bits_[0] |= 0x00001000u;
}
void ClientDownloadRequest::clear_has_archive_valid() {
  _has_bits_[0] &= ~0x00001000u;
}
void ClientDownloadRequest::clear_archive_valid() {
  archive_valid_ = false;
  clear_has_archive_valid();
}
bool ClientDownloadRequest::archive_valid() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.archive_valid)
  return archive_valid_;
}
void ClientDownloadRequest::set_archive_valid(bool value) {
  set_has_archive_valid();
  archive_valid_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.archive_valid)
}

// optional bool skipped_url_whitelist = 28;
bool ClientDownloadRequest::has_skipped_url_whitelist() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
void ClientDownloadRequest::set_has_skipped_url_whitelist() {
  _has_bits_[0] |= 0x00002000u;
}
void ClientDownloadRequest::clear_has_skipped_url_whitelist() {
  _has_bits_[0] &= ~0x00002000u;
}
void ClientDownloadRequest::clear_skipped_url_whitelist() {
  skipped_url_whitelist_ = false;
  clear_has_skipped_url_whitelist();
}
bool ClientDownloadRequest::skipped_url_whitelist() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
  return skipped_url_whitelist_;
}
void ClientDownloadRequest::set_skipped_url_whitelist(bool value) {
  set_has_skipped_url_whitelist();
  skipped_url_whitelist_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.skipped_url_whitelist)
}

// optional bool skipped_certificate_whitelist = 31;
bool ClientDownloadRequest::has_skipped_certificate_whitelist() const {
  return (_has_bits_[0] & 0x00004000u) != 0;
}
void ClientDownloadRequest::set_has_skipped_certificate_whitelist() {
  _has_bits_[0] |= 0x00004000u;
}
void ClientDownloadRequest::clear_has_skipped_certificate_whitelist() {
  _has_bits_[0] &= ~0x00004000u;
}
void ClientDownloadRequest::clear_skipped_certificate_whitelist() {
  skipped_certificate_whitelist_ = false;
  clear_has_skipped_certificate_whitelist();
}
bool ClientDownloadRequest::skipped_certificate_whitelist() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.skipped_certificate_whitelist)
  return skipped_certificate_whitelist_;
}
void ClientDownloadRequest::set_skipped_certificate_whitelist(bool value) {
  set_has_skipped_certificate_whitelist();
  skipped_certificate_whitelist_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.skipped_certificate_whitelist)
}

// repeated string alternate_extensions = 35;
int ClientDownloadRequest::alternate_extensions_size() const {
  return alternate_extensions_.size();
}
void ClientDownloadRequest::clear_alternate_extensions() {
  alternate_extensions_.Clear();
}
const ::std::string& ClientDownloadRequest::alternate_extensions(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return alternate_extensions_.Get(index);
}
::std::string* ClientDownloadRequest::mutable_alternate_extensions(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return alternate_extensions_.Mutable(index);
}
void ClientDownloadRequest::set_alternate_extensions(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.alternate_extensions)
  alternate_extensions_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientDownloadRequest::set_alternate_extensions(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.alternate_extensions)
  alternate_extensions_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientDownloadRequest::set_alternate_extensions(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  alternate_extensions_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
void ClientDownloadRequest::set_alternate_extensions(int index, const char* value, size_t size) {
  alternate_extensions_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
::std::string* ClientDownloadRequest::add_alternate_extensions() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return alternate_extensions_.Add();
}
void ClientDownloadRequest::add_alternate_extensions(const ::std::string& value) {
  alternate_extensions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
#if LANG_CXX11
void ClientDownloadRequest::add_alternate_extensions(::std::string&& value) {
  alternate_extensions_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
#endif
void ClientDownloadRequest::add_alternate_extensions(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  alternate_extensions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
void ClientDownloadRequest::add_alternate_extensions(const char* value, size_t size) {
  alternate_extensions_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientDownloadRequest.alternate_extensions)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientDownloadRequest::alternate_extensions() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return alternate_extensions_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientDownloadRequest::mutable_alternate_extensions() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.alternate_extensions)
  return &alternate_extensions_;
}

// repeated .safe_browsing.ReferrerChainEntry referrer_chain = 36;
int ClientDownloadRequest::referrer_chain_size() const {
  return referrer_chain_.size();
}
void ClientDownloadRequest::clear_referrer_chain() {
  referrer_chain_.Clear();
}
const ::safe_browsing::ReferrerChainEntry& ClientDownloadRequest::referrer_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.referrer_chain)
  return referrer_chain_.Get(index);
}
::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::mutable_referrer_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.referrer_chain)
  return referrer_chain_.Mutable(index);
}
::safe_browsing::ReferrerChainEntry* ClientDownloadRequest::add_referrer_chain() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientDownloadRequest.referrer_chain)
  return referrer_chain_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >*
ClientDownloadRequest::mutable_referrer_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientDownloadRequest.referrer_chain)
  return &referrer_chain_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry >&
ClientDownloadRequest::referrer_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientDownloadRequest.referrer_chain)
  return referrer_chain_;
}

// optional bool DEPRECATED_download_attribution_finch_enabled = 39 [deprecated = true];
bool ClientDownloadRequest::has_deprecated_download_attribution_finch_enabled() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
void ClientDownloadRequest::set_has_deprecated_download_attribution_finch_enabled() {
  _has_bits_[0] |= 0x00000200u;
}
void ClientDownloadRequest::clear_has_deprecated_download_attribution_finch_enabled() {
  _has_bits_[0] &= ~0x00000200u;
}
void ClientDownloadRequest::clear_deprecated_download_attribution_finch_enabled() {
  deprecated_download_attribution_finch_enabled_ = false;
  clear_has_deprecated_download_attribution_finch_enabled();
}
bool ClientDownloadRequest::deprecated_download_attribution_finch_enabled() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.DEPRECATED_download_attribution_finch_enabled)
  return deprecated_download_attribution_finch_enabled_;
}
void ClientDownloadRequest::set_deprecated_download_attribution_finch_enabled(bool value) {
  set_has_deprecated_download_attribution_finch_enabled();
  deprecated_download_attribution_finch_enabled_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.DEPRECATED_download_attribution_finch_enabled)
}

// optional bytes udif_code_signature = 40;
bool ClientDownloadRequest::has_udif_code_signature() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientDownloadRequest::set_has_udif_code_signature() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientDownloadRequest::clear_has_udif_code_signature() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientDownloadRequest::clear_udif_code_signature() {
  udif_code_signature_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_udif_code_signature();
}
const ::std::string& ClientDownloadRequest::udif_code_signature() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadRequest.udif_code_signature)
  return udif_code_signature_.GetNoArena();
}
void ClientDownloadRequest::set_udif_code_signature(const ::std::string& value) {
  set_has_udif_code_signature();
  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadRequest.udif_code_signature)
}
#if LANG_CXX11
void ClientDownloadRequest::set_udif_code_signature(::std::string&& value) {
  set_has_udif_code_signature();
  udif_code_signature_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadRequest.udif_code_signature)
}
#endif
void ClientDownloadRequest::set_udif_code_signature(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_udif_code_signature();
  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadRequest.udif_code_signature)
}
void ClientDownloadRequest::set_udif_code_signature(const void* value, size_t size) {
  set_has_udif_code_signature();
  udif_code_signature_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadRequest.udif_code_signature)
}
::std::string* ClientDownloadRequest::mutable_udif_code_signature() {
  set_has_udif_code_signature();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadRequest.udif_code_signature)
  return udif_code_signature_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadRequest::release_udif_code_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadRequest.udif_code_signature)
  clear_has_udif_code_signature();
  return udif_code_signature_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadRequest::set_allocated_udif_code_signature(::std::string* udif_code_signature) {
  if (udif_code_signature != NULL) {
    set_has_udif_code_signature();
  } else {
    clear_has_udif_code_signature();
  }
  udif_code_signature_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), udif_code_signature);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadRequest.udif_code_signature)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ReferrerChainEntry_ServerRedirect::kUrlFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ReferrerChainEntry_ServerRedirect::ReferrerChainEntry_ServerRedirect()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
}
ReferrerChainEntry_ServerRedirect::ReferrerChainEntry_ServerRedirect(const ReferrerChainEntry_ServerRedirect& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
}

void ReferrerChainEntry_ServerRedirect::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ReferrerChainEntry_ServerRedirect::~ReferrerChainEntry_ServerRedirect() {
  // @@protoc_insertion_point(destructor:safe_browsing.ReferrerChainEntry.ServerRedirect)
  SharedDtor();
}

void ReferrerChainEntry_ServerRedirect::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ReferrerChainEntry_ServerRedirect::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ReferrerChainEntry_ServerRedirect& ReferrerChainEntry_ServerRedirect::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ReferrerChainEntry_ServerRedirect* ReferrerChainEntry_ServerRedirect::New(::google::protobuf::Arena* arena) const {
  ReferrerChainEntry_ServerRedirect* n = new ReferrerChainEntry_ServerRedirect;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ReferrerChainEntry_ServerRedirect::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_url()) {
    GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*url_.UnsafeRawStringPointer())->clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ReferrerChainEntry_ServerRedirect::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ReferrerChainEntry.ServerRedirect)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ReferrerChainEntry.ServerRedirect)
  return false;
#undef DO_
}

void ReferrerChainEntry_ServerRedirect::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->url(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ReferrerChainEntry.ServerRedirect)
}

size_t ReferrerChainEntry_ServerRedirect::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // optional string url = 1;
  if (has_url()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->url());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReferrerChainEntry_ServerRedirect::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ReferrerChainEntry_ServerRedirect*>(&from));
}

void ReferrerChainEntry_ServerRedirect::MergeFrom(const ReferrerChainEntry_ServerRedirect& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_url()) {
    set_has_url();
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
}

void ReferrerChainEntry_ServerRedirect::CopyFrom(const ReferrerChainEntry_ServerRedirect& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ReferrerChainEntry.ServerRedirect)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ReferrerChainEntry_ServerRedirect::IsInitialized() const {
  return true;
}

void ReferrerChainEntry_ServerRedirect::Swap(ReferrerChainEntry_ServerRedirect* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ReferrerChainEntry_ServerRedirect::InternalSwap(ReferrerChainEntry_ServerRedirect* other) {
  using std::swap;
  url_.Swap(&other->url_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ReferrerChainEntry_ServerRedirect::GetTypeName() const {
  return "safe_browsing.ReferrerChainEntry.ServerRedirect";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ReferrerChainEntry_ServerRedirect

// optional string url = 1;
bool ReferrerChainEntry_ServerRedirect::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ReferrerChainEntry_ServerRedirect::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ReferrerChainEntry_ServerRedirect::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ReferrerChainEntry_ServerRedirect::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ReferrerChainEntry_ServerRedirect::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
  return url_.GetNoArena();
}
void ReferrerChainEntry_ServerRedirect::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
}
#if LANG_CXX11
void ReferrerChainEntry_ServerRedirect::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
}
#endif
void ReferrerChainEntry_ServerRedirect::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
}
void ReferrerChainEntry_ServerRedirect::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
}
::std::string* ReferrerChainEntry_ServerRedirect::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ReferrerChainEntry_ServerRedirect::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ReferrerChainEntry_ServerRedirect::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.ServerRedirect.url)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ReferrerChainEntry::kUrlFieldNumber;
const int ReferrerChainEntry::kMainFrameUrlFieldNumber;
const int ReferrerChainEntry::kTypeFieldNumber;
const int ReferrerChainEntry::kIpAddressesFieldNumber;
const int ReferrerChainEntry::kReferrerUrlFieldNumber;
const int ReferrerChainEntry::kReferrerMainFrameUrlFieldNumber;
const int ReferrerChainEntry::kIsRetargetingFieldNumber;
const int ReferrerChainEntry::kNavigationTimeMsecFieldNumber;
const int ReferrerChainEntry::kServerRedirectChainFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ReferrerChainEntry::ReferrerChainEntry()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ReferrerChainEntry)
}
ReferrerChainEntry::ReferrerChainEntry(const ReferrerChainEntry& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      ip_addresses_(from.ip_addresses_),
      server_redirect_chain_(from.server_redirect_chain_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_referrer_url()) {
    referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
  }
  referrer_main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_referrer_main_frame_url()) {
    referrer_main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_main_frame_url_);
  }
  main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_main_frame_url()) {
    main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_url_);
  }
  ::memcpy(&navigation_time_msec_, &from.navigation_time_msec_,
    static_cast<size_t>(reinterpret_cast<char*>(&type_) -
    reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(type_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ReferrerChainEntry)
}

void ReferrerChainEntry::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  main_frame_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&navigation_time_msec_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&is_retargeting_) -
      reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(is_retargeting_));
  type_ = 4;
}

ReferrerChainEntry::~ReferrerChainEntry() {
  // @@protoc_insertion_point(destructor:safe_browsing.ReferrerChainEntry)
  SharedDtor();
}

void ReferrerChainEntry::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_main_frame_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  main_frame_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ReferrerChainEntry::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ReferrerChainEntry& ReferrerChainEntry::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ReferrerChainEntry* ReferrerChainEntry::New(::google::protobuf::Arena* arena) const {
  ReferrerChainEntry* n = new ReferrerChainEntry;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ReferrerChainEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ReferrerChainEntry)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ip_addresses_.Clear();
  server_redirect_chain_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!referrer_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*referrer_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!referrer_main_frame_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*referrer_main_frame_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(!main_frame_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*main_frame_url_.UnsafeRawStringPointer())->clear();
    }
  }
  if (cached_has_bits & 112u) {
    ::memset(&navigation_time_msec_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&is_retargeting_) -
        reinterpret_cast<char*>(&navigation_time_msec_)) + sizeof(is_retargeting_));
    type_ = 4;
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ReferrerChainEntry::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ReferrerChainEntry)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ReferrerChainEntry_URLType_IsValid(value)) {
            set_type(static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(16u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string ip_addresses = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_ip_addresses()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string referrer_url = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_referrer_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string referrer_main_frame_url = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_referrer_main_frame_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool is_retargeting = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          set_has_is_retargeting();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_retargeting_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional double navigation_time_msec = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(57u /* 57 & 0xFF */)) {
          set_has_navigation_time_msec();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
                 input, &navigation_time_msec_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_server_redirect_chain()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string main_frame_url = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_main_frame_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ReferrerChainEntry)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ReferrerChainEntry)
  return false;
#undef DO_
}

void ReferrerChainEntry::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ReferrerChainEntry)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->url(), output);
  }

  // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->type(), output);
  }

  // repeated string ip_addresses = 3;
  for (int i = 0, n = this->ip_addresses_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      3, this->ip_addresses(i), output);
  }

  // optional string referrer_url = 4;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->referrer_url(), output);
  }

  // optional string referrer_main_frame_url = 5;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      5, this->referrer_main_frame_url(), output);
  }

  // optional bool is_retargeting = 6;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->is_retargeting(), output);
  }

  // optional double navigation_time_msec = 7;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteDouble(7, this->navigation_time_msec(), output);
  }

  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->server_redirect_chain_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      8, this->server_redirect_chain(static_cast<int>(i)), output);
  }

  // optional string main_frame_url = 9;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      9, this->main_frame_url(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ReferrerChainEntry)
}

size_t ReferrerChainEntry::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ReferrerChainEntry)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated string ip_addresses = 3;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->ip_addresses_size());
  for (int i = 0, n = this->ip_addresses_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->ip_addresses(i));
  }

  // repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
  {
    unsigned int count = static_cast<unsigned int>(this->server_redirect_chain_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->server_redirect_chain(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 127u) {
    // optional string url = 1;
    if (has_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->url());
    }

    // optional string referrer_url = 4;
    if (has_referrer_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->referrer_url());
    }

    // optional string referrer_main_frame_url = 5;
    if (has_referrer_main_frame_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->referrer_main_frame_url());
    }

    // optional string main_frame_url = 9;
    if (has_main_frame_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->main_frame_url());
    }

    // optional double navigation_time_msec = 7;
    if (has_navigation_time_msec()) {
      total_size += 1 + 8;
    }

    // optional bool is_retargeting = 6;
    if (has_is_retargeting()) {
      total_size += 1 + 1;
    }

    // optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
    if (has_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ReferrerChainEntry::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ReferrerChainEntry*>(&from));
}

void ReferrerChainEntry::MergeFrom(const ReferrerChainEntry& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ReferrerChainEntry)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  ip_addresses_.MergeFrom(from.ip_addresses_);
  server_redirect_chain_.MergeFrom(from.server_redirect_chain_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 127u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_referrer_url();
      referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_referrer_main_frame_url();
      referrer_main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_main_frame_url_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_main_frame_url();
      main_frame_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.main_frame_url_);
    }
    if (cached_has_bits & 0x00000010u) {
      navigation_time_msec_ = from.navigation_time_msec_;
    }
    if (cached_has_bits & 0x00000020u) {
      is_retargeting_ = from.is_retargeting_;
    }
    if (cached_has_bits & 0x00000040u) {
      type_ = from.type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ReferrerChainEntry::CopyFrom(const ReferrerChainEntry& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ReferrerChainEntry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ReferrerChainEntry::IsInitialized() const {
  return true;
}

void ReferrerChainEntry::Swap(ReferrerChainEntry* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ReferrerChainEntry::InternalSwap(ReferrerChainEntry* other) {
  using std::swap;
  ip_addresses_.InternalSwap(&other->ip_addresses_);
  server_redirect_chain_.InternalSwap(&other->server_redirect_chain_);
  url_.Swap(&other->url_);
  referrer_url_.Swap(&other->referrer_url_);
  referrer_main_frame_url_.Swap(&other->referrer_main_frame_url_);
  main_frame_url_.Swap(&other->main_frame_url_);
  swap(navigation_time_msec_, other->navigation_time_msec_);
  swap(is_retargeting_, other->is_retargeting_);
  swap(type_, other->type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ReferrerChainEntry::GetTypeName() const {
  return "safe_browsing.ReferrerChainEntry";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ReferrerChainEntry

// optional string url = 1;
bool ReferrerChainEntry::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ReferrerChainEntry::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ReferrerChainEntry::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ReferrerChainEntry::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ReferrerChainEntry::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.url)
  return url_.GetNoArena();
}
void ReferrerChainEntry::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.url)
}
#if LANG_CXX11
void ReferrerChainEntry::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.url)
}
#endif
void ReferrerChainEntry::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.url)
}
void ReferrerChainEntry::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.url)
}
::std::string* ReferrerChainEntry::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ReferrerChainEntry::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ReferrerChainEntry::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.url)
}

// optional string main_frame_url = 9;
bool ReferrerChainEntry::has_main_frame_url() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ReferrerChainEntry::set_has_main_frame_url() {
  _has_bits_[0] |= 0x00000008u;
}
void ReferrerChainEntry::clear_has_main_frame_url() {
  _has_bits_[0] &= ~0x00000008u;
}
void ReferrerChainEntry::clear_main_frame_url() {
  main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_main_frame_url();
}
const ::std::string& ReferrerChainEntry::main_frame_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.main_frame_url)
  return main_frame_url_.GetNoArena();
}
void ReferrerChainEntry::set_main_frame_url(const ::std::string& value) {
  set_has_main_frame_url();
  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.main_frame_url)
}
#if LANG_CXX11
void ReferrerChainEntry::set_main_frame_url(::std::string&& value) {
  set_has_main_frame_url();
  main_frame_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.main_frame_url)
}
#endif
void ReferrerChainEntry::set_main_frame_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_main_frame_url();
  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.main_frame_url)
}
void ReferrerChainEntry::set_main_frame_url(const char* value, size_t size) {
  set_has_main_frame_url();
  main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.main_frame_url)
}
::std::string* ReferrerChainEntry::mutable_main_frame_url() {
  set_has_main_frame_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.main_frame_url)
  return main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ReferrerChainEntry::release_main_frame_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.main_frame_url)
  clear_has_main_frame_url();
  return main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ReferrerChainEntry::set_allocated_main_frame_url(::std::string* main_frame_url) {
  if (main_frame_url != NULL) {
    set_has_main_frame_url();
  } else {
    clear_has_main_frame_url();
  }
  main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), main_frame_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.main_frame_url)
}

// optional .safe_browsing.ReferrerChainEntry.URLType type = 2 [default = CLIENT_REDIRECT];
bool ReferrerChainEntry::has_type() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
void ReferrerChainEntry::set_has_type() {
  _has_bits_[0] |= 0x00000040u;
}
void ReferrerChainEntry::clear_has_type() {
  _has_bits_[0] &= ~0x00000040u;
}
void ReferrerChainEntry::clear_type() {
  type_ = 4;
  clear_has_type();
}
::safe_browsing::ReferrerChainEntry_URLType ReferrerChainEntry::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.type)
  return static_cast< ::safe_browsing::ReferrerChainEntry_URLType >(type_);
}
void ReferrerChainEntry::set_type(::safe_browsing::ReferrerChainEntry_URLType value) {
  assert(::safe_browsing::ReferrerChainEntry_URLType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.type)
}

// repeated string ip_addresses = 3;
int ReferrerChainEntry::ip_addresses_size() const {
  return ip_addresses_.size();
}
void ReferrerChainEntry::clear_ip_addresses() {
  ip_addresses_.Clear();
}
const ::std::string& ReferrerChainEntry::ip_addresses(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.ip_addresses)
  return ip_addresses_.Get(index);
}
::std::string* ReferrerChainEntry::mutable_ip_addresses(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
  return ip_addresses_.Mutable(index);
}
void ReferrerChainEntry::set_ip_addresses(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
  ip_addresses_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ReferrerChainEntry::set_ip_addresses(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.ip_addresses)
  ip_addresses_.Mutable(index)->assign(std::move(value));
}
#endif
void ReferrerChainEntry::set_ip_addresses(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  ip_addresses_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.ip_addresses)
}
void ReferrerChainEntry::set_ip_addresses(int index, const char* value, size_t size) {
  ip_addresses_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
}
::std::string* ReferrerChainEntry::add_ip_addresses() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ReferrerChainEntry.ip_addresses)
  return ip_addresses_.Add();
}
void ReferrerChainEntry::add_ip_addresses(const ::std::string& value) {
  ip_addresses_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
}
#if LANG_CXX11
void ReferrerChainEntry::add_ip_addresses(::std::string&& value) {
  ip_addresses_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.ip_addresses)
}
#endif
void ReferrerChainEntry::add_ip_addresses(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  ip_addresses_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ReferrerChainEntry.ip_addresses)
}
void ReferrerChainEntry::add_ip_addresses(const char* value, size_t size) {
  ip_addresses_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ReferrerChainEntry.ip_addresses)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ReferrerChainEntry::ip_addresses() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.ip_addresses)
  return ip_addresses_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ReferrerChainEntry::mutable_ip_addresses() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.ip_addresses)
  return &ip_addresses_;
}

// optional string referrer_url = 4;
bool ReferrerChainEntry::has_referrer_url() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ReferrerChainEntry::set_has_referrer_url() {
  _has_bits_[0] |= 0x00000002u;
}
void ReferrerChainEntry::clear_has_referrer_url() {
  _has_bits_[0] &= ~0x00000002u;
}
void ReferrerChainEntry::clear_referrer_url() {
  referrer_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_referrer_url();
}
const ::std::string& ReferrerChainEntry::referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_url)
  return referrer_url_.GetNoArena();
}
void ReferrerChainEntry::set_referrer_url(const ::std::string& value) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_url)
}
#if LANG_CXX11
void ReferrerChainEntry::set_referrer_url(::std::string&& value) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_url)
}
#endif
void ReferrerChainEntry::set_referrer_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_url)
}
void ReferrerChainEntry::set_referrer_url(const char* value, size_t size) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_url)
}
::std::string* ReferrerChainEntry::mutable_referrer_url() {
  set_has_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_url)
  return referrer_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ReferrerChainEntry::release_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_url)
  clear_has_referrer_url();
  return referrer_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ReferrerChainEntry::set_allocated_referrer_url(::std::string* referrer_url) {
  if (referrer_url != NULL) {
    set_has_referrer_url();
  } else {
    clear_has_referrer_url();
  }
  referrer_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_url)
}

// optional string referrer_main_frame_url = 5;
bool ReferrerChainEntry::has_referrer_main_frame_url() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ReferrerChainEntry::set_has_referrer_main_frame_url() {
  _has_bits_[0] |= 0x00000004u;
}
void ReferrerChainEntry::clear_has_referrer_main_frame_url() {
  _has_bits_[0] &= ~0x00000004u;
}
void ReferrerChainEntry::clear_referrer_main_frame_url() {
  referrer_main_frame_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_referrer_main_frame_url();
}
const ::std::string& ReferrerChainEntry::referrer_main_frame_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
  return referrer_main_frame_url_.GetNoArena();
}
void ReferrerChainEntry::set_referrer_main_frame_url(const ::std::string& value) {
  set_has_referrer_main_frame_url();
  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
}
#if LANG_CXX11
void ReferrerChainEntry::set_referrer_main_frame_url(::std::string&& value) {
  set_has_referrer_main_frame_url();
  referrer_main_frame_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
}
#endif
void ReferrerChainEntry::set_referrer_main_frame_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_referrer_main_frame_url();
  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
}
void ReferrerChainEntry::set_referrer_main_frame_url(const char* value, size_t size) {
  set_has_referrer_main_frame_url();
  referrer_main_frame_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
}
::std::string* ReferrerChainEntry::mutable_referrer_main_frame_url() {
  set_has_referrer_main_frame_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
  return referrer_main_frame_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ReferrerChainEntry::release_referrer_main_frame_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
  clear_has_referrer_main_frame_url();
  return referrer_main_frame_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ReferrerChainEntry::set_allocated_referrer_main_frame_url(::std::string* referrer_main_frame_url) {
  if (referrer_main_frame_url != NULL) {
    set_has_referrer_main_frame_url();
  } else {
    clear_has_referrer_main_frame_url();
  }
  referrer_main_frame_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_main_frame_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ReferrerChainEntry.referrer_main_frame_url)
}

// optional bool is_retargeting = 6;
bool ReferrerChainEntry::has_is_retargeting() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ReferrerChainEntry::set_has_is_retargeting() {
  _has_bits_[0] |= 0x00000020u;
}
void ReferrerChainEntry::clear_has_is_retargeting() {
  _has_bits_[0] &= ~0x00000020u;
}
void ReferrerChainEntry::clear_is_retargeting() {
  is_retargeting_ = false;
  clear_has_is_retargeting();
}
bool ReferrerChainEntry::is_retargeting() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.is_retargeting)
  return is_retargeting_;
}
void ReferrerChainEntry::set_is_retargeting(bool value) {
  set_has_is_retargeting();
  is_retargeting_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.is_retargeting)
}

// optional double navigation_time_msec = 7;
bool ReferrerChainEntry::has_navigation_time_msec() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ReferrerChainEntry::set_has_navigation_time_msec() {
  _has_bits_[0] |= 0x00000010u;
}
void ReferrerChainEntry::clear_has_navigation_time_msec() {
  _has_bits_[0] &= ~0x00000010u;
}
void ReferrerChainEntry::clear_navigation_time_msec() {
  navigation_time_msec_ = 0;
  clear_has_navigation_time_msec();
}
double ReferrerChainEntry::navigation_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.navigation_time_msec)
  return navigation_time_msec_;
}
void ReferrerChainEntry::set_navigation_time_msec(double value) {
  set_has_navigation_time_msec();
  navigation_time_msec_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ReferrerChainEntry.navigation_time_msec)
}

// repeated .safe_browsing.ReferrerChainEntry.ServerRedirect server_redirect_chain = 8;
int ReferrerChainEntry::server_redirect_chain_size() const {
  return server_redirect_chain_.size();
}
void ReferrerChainEntry::clear_server_redirect_chain() {
  server_redirect_chain_.Clear();
}
const ::safe_browsing::ReferrerChainEntry_ServerRedirect& ReferrerChainEntry::server_redirect_chain(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return server_redirect_chain_.Get(index);
}
::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::mutable_server_redirect_chain(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return server_redirect_chain_.Mutable(index);
}
::safe_browsing::ReferrerChainEntry_ServerRedirect* ReferrerChainEntry::add_server_redirect_chain() {
  // @@protoc_insertion_point(field_add:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return server_redirect_chain_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >*
ReferrerChainEntry::mutable_server_redirect_chain() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return &server_redirect_chain_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ReferrerChainEntry_ServerRedirect >&
ReferrerChainEntry::server_redirect_chain() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ReferrerChainEntry.server_redirect_chain)
  return server_redirect_chain_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadResponse_MoreInfo::kDescriptionFieldNumber;
const int ClientDownloadResponse_MoreInfo::kUrlFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadResponse_MoreInfo::ClientDownloadResponse_MoreInfo()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadResponse.MoreInfo)
}
ClientDownloadResponse_MoreInfo::ClientDownloadResponse_MoreInfo(const ClientDownloadResponse_MoreInfo& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_description()) {
    description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_);
  }
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadResponse.MoreInfo)
}

void ClientDownloadResponse_MoreInfo::SharedCtor() {
  _cached_size_ = 0;
  description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadResponse_MoreInfo::~ClientDownloadResponse_MoreInfo() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadResponse.MoreInfo)
  SharedDtor();
}

void ClientDownloadResponse_MoreInfo::SharedDtor() {
  description_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadResponse_MoreInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadResponse_MoreInfo& ClientDownloadResponse_MoreInfo::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadResponse_MoreInfo* ClientDownloadResponse_MoreInfo::New(::google::protobuf::Arena* arena) const {
  ClientDownloadResponse_MoreInfo* n = new ClientDownloadResponse_MoreInfo;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadResponse_MoreInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadResponse.MoreInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!description_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*description_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadResponse_MoreInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadResponse.MoreInfo)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string description = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_description()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string url = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadResponse.MoreInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadResponse.MoreInfo)
  return false;
#undef DO_
}

void ClientDownloadResponse_MoreInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadResponse.MoreInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string description = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->description(), output);
  }

  // optional string url = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->url(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadResponse.MoreInfo)
}

size_t ClientDownloadResponse_MoreInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadResponse.MoreInfo)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional string description = 1;
    if (has_description()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->description());
    }

    // optional string url = 2;
    if (has_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->url());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadResponse_MoreInfo::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadResponse_MoreInfo*>(&from));
}

void ClientDownloadResponse_MoreInfo::MergeFrom(const ClientDownloadResponse_MoreInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadResponse.MoreInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_description();
      description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
  }
}

void ClientDownloadResponse_MoreInfo::CopyFrom(const ClientDownloadResponse_MoreInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadResponse.MoreInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadResponse_MoreInfo::IsInitialized() const {
  return true;
}

void ClientDownloadResponse_MoreInfo::Swap(ClientDownloadResponse_MoreInfo* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadResponse_MoreInfo::InternalSwap(ClientDownloadResponse_MoreInfo* other) {
  using std::swap;
  description_.Swap(&other->description_);
  url_.Swap(&other->url_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadResponse_MoreInfo::GetTypeName() const {
  return "safe_browsing.ClientDownloadResponse.MoreInfo";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadResponse_MoreInfo

// optional string description = 1;
bool ClientDownloadResponse_MoreInfo::has_description() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadResponse_MoreInfo::set_has_description() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadResponse_MoreInfo::clear_has_description() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadResponse_MoreInfo::clear_description() {
  description_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_description();
}
const ::std::string& ClientDownloadResponse_MoreInfo::description() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.MoreInfo.description)
  return description_.GetNoArena();
}
void ClientDownloadResponse_MoreInfo::set_description(const ::std::string& value) {
  set_has_description();
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.MoreInfo.description)
}
#if LANG_CXX11
void ClientDownloadResponse_MoreInfo::set_description(::std::string&& value) {
  set_has_description();
  description_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadResponse.MoreInfo.description)
}
#endif
void ClientDownloadResponse_MoreInfo::set_description(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_description();
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadResponse.MoreInfo.description)
}
void ClientDownloadResponse_MoreInfo::set_description(const char* value, size_t size) {
  set_has_description();
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadResponse.MoreInfo.description)
}
::std::string* ClientDownloadResponse_MoreInfo::mutable_description() {
  set_has_description();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.MoreInfo.description)
  return description_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadResponse_MoreInfo::release_description() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.MoreInfo.description)
  clear_has_description();
  return description_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadResponse_MoreInfo::set_allocated_description(::std::string* description) {
  if (description != NULL) {
    set_has_description();
  } else {
    clear_has_description();
  }
  description_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), description);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.MoreInfo.description)
}

// optional string url = 2;
bool ClientDownloadResponse_MoreInfo::has_url() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadResponse_MoreInfo::set_has_url() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadResponse_MoreInfo::clear_has_url() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadResponse_MoreInfo::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientDownloadResponse_MoreInfo::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.MoreInfo.url)
  return url_.GetNoArena();
}
void ClientDownloadResponse_MoreInfo::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.MoreInfo.url)
}
#if LANG_CXX11
void ClientDownloadResponse_MoreInfo::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadResponse.MoreInfo.url)
}
#endif
void ClientDownloadResponse_MoreInfo::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadResponse.MoreInfo.url)
}
void ClientDownloadResponse_MoreInfo::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadResponse.MoreInfo.url)
}
::std::string* ClientDownloadResponse_MoreInfo::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.MoreInfo.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadResponse_MoreInfo::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.MoreInfo.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadResponse_MoreInfo::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.MoreInfo.url)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadResponse::kVerdictFieldNumber;
const int ClientDownloadResponse::kMoreInfoFieldNumber;
const int ClientDownloadResponse::kTokenFieldNumber;
const int ClientDownloadResponse::kUploadFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadResponse::ClientDownloadResponse()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadResponse)
}
ClientDownloadResponse::ClientDownloadResponse(const ClientDownloadResponse& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_token()) {
    token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
  }
  if (from.has_more_info()) {
    more_info_ = new ::safe_browsing::ClientDownloadResponse_MoreInfo(*from.more_info_);
  } else {
    more_info_ = NULL;
  }
  ::memcpy(&verdict_, &from.verdict_,
    static_cast<size_t>(reinterpret_cast<char*>(&upload_) -
    reinterpret_cast<char*>(&verdict_)) + sizeof(upload_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadResponse)
}

void ClientDownloadResponse::SharedCtor() {
  _cached_size_ = 0;
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&more_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&upload_) -
      reinterpret_cast<char*>(&more_info_)) + sizeof(upload_));
}

ClientDownloadResponse::~ClientDownloadResponse() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadResponse)
  SharedDtor();
}

void ClientDownloadResponse::SharedDtor() {
  token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete more_info_;
}

void ClientDownloadResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadResponse& ClientDownloadResponse::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadResponse* ClientDownloadResponse::New(::google::protobuf::Arena* arena) const {
  ClientDownloadResponse* n = new ClientDownloadResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*token_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(more_info_ != NULL);
      more_info_->::safe_browsing::ClientDownloadResponse_MoreInfo::Clear();
    }
  }
  if (cached_has_bits & 12u) {
    ::memset(&verdict_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&upload_) -
        reinterpret_cast<char*>(&verdict_)) + sizeof(upload_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientDownloadResponse_Verdict_IsValid(value)) {
            set_verdict(static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(value));
          } else {
            unknown_fields_stream.WriteVarint32(8u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_more_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes token = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_token()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool upload = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_upload();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &upload_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadResponse)
  return false;
#undef DO_
}

void ClientDownloadResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->verdict(), output);
  }

  // optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->more_info_, output);
  }

  // optional bytes token = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->token(), output);
  }

  // optional bool upload = 5;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->upload(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadResponse)
}

size_t ClientDownloadResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadResponse)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional bytes token = 3;
    if (has_token()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->token());
    }

    // optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
    if (has_more_info()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->more_info_);
    }

    // optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
    if (has_verdict()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->verdict());
    }

    // optional bool upload = 5;
    if (has_upload()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadResponse::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadResponse*>(&from));
}

void ClientDownloadResponse::MergeFrom(const ClientDownloadResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_token();
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_more_info()->::safe_browsing::ClientDownloadResponse_MoreInfo::MergeFrom(from.more_info());
    }
    if (cached_has_bits & 0x00000004u) {
      verdict_ = from.verdict_;
    }
    if (cached_has_bits & 0x00000008u) {
      upload_ = from.upload_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientDownloadResponse::CopyFrom(const ClientDownloadResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadResponse::IsInitialized() const {
  return true;
}

void ClientDownloadResponse::Swap(ClientDownloadResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadResponse::InternalSwap(ClientDownloadResponse* other) {
  using std::swap;
  token_.Swap(&other->token_);
  swap(more_info_, other->more_info_);
  swap(verdict_, other->verdict_);
  swap(upload_, other->upload_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadResponse::GetTypeName() const {
  return "safe_browsing.ClientDownloadResponse";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadResponse

// optional .safe_browsing.ClientDownloadResponse.Verdict verdict = 1 [default = SAFE];
bool ClientDownloadResponse::has_verdict() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientDownloadResponse::set_has_verdict() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientDownloadResponse::clear_has_verdict() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientDownloadResponse::clear_verdict() {
  verdict_ = 0;
  clear_has_verdict();
}
::safe_browsing::ClientDownloadResponse_Verdict ClientDownloadResponse::verdict() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.verdict)
  return static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(verdict_);
}
void ClientDownloadResponse::set_verdict(::safe_browsing::ClientDownloadResponse_Verdict value) {
  assert(::safe_browsing::ClientDownloadResponse_Verdict_IsValid(value));
  set_has_verdict();
  verdict_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.verdict)
}

// optional .safe_browsing.ClientDownloadResponse.MoreInfo more_info = 2;
bool ClientDownloadResponse::has_more_info() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadResponse::set_has_more_info() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadResponse::clear_has_more_info() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadResponse::clear_more_info() {
  if (more_info_ != NULL) more_info_->::safe_browsing::ClientDownloadResponse_MoreInfo::Clear();
  clear_has_more_info();
}
const ::safe_browsing::ClientDownloadResponse_MoreInfo& ClientDownloadResponse::more_info() const {
  const ::safe_browsing::ClientDownloadResponse_MoreInfo* p = more_info_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.more_info)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadResponse_MoreInfo*>(
      &::safe_browsing::_ClientDownloadResponse_MoreInfo_default_instance_);
}
::safe_browsing::ClientDownloadResponse_MoreInfo* ClientDownloadResponse::mutable_more_info() {
  set_has_more_info();
  if (more_info_ == NULL) {
    more_info_ = new ::safe_browsing::ClientDownloadResponse_MoreInfo;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.more_info)
  return more_info_;
}
::safe_browsing::ClientDownloadResponse_MoreInfo* ClientDownloadResponse::release_more_info() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.more_info)
  clear_has_more_info();
  ::safe_browsing::ClientDownloadResponse_MoreInfo* temp = more_info_;
  more_info_ = NULL;
  return temp;
}
void ClientDownloadResponse::set_allocated_more_info(::safe_browsing::ClientDownloadResponse_MoreInfo* more_info) {
  delete more_info_;
  more_info_ = more_info;
  if (more_info) {
    set_has_more_info();
  } else {
    clear_has_more_info();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.more_info)
}

// optional bytes token = 3;
bool ClientDownloadResponse::has_token() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadResponse::set_has_token() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadResponse::clear_has_token() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadResponse::clear_token() {
  token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_token();
}
const ::std::string& ClientDownloadResponse::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.token)
  return token_.GetNoArena();
}
void ClientDownloadResponse::set_token(const ::std::string& value) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.token)
}
#if LANG_CXX11
void ClientDownloadResponse::set_token(::std::string&& value) {
  set_has_token();
  token_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadResponse.token)
}
#endif
void ClientDownloadResponse::set_token(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadResponse.token)
}
void ClientDownloadResponse::set_token(const void* value, size_t size) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadResponse.token)
}
::std::string* ClientDownloadResponse::mutable_token() {
  set_has_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadResponse.token)
  return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadResponse::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadResponse.token)
  clear_has_token();
  return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadResponse::set_allocated_token(::std::string* token) {
  if (token != NULL) {
    set_has_token();
  } else {
    clear_has_token();
  }
  token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadResponse.token)
}

// optional bool upload = 5;
bool ClientDownloadResponse::has_upload() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientDownloadResponse::set_has_upload() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientDownloadResponse::clear_has_upload() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientDownloadResponse::clear_upload() {
  upload_ = false;
  clear_has_upload();
}
bool ClientDownloadResponse::upload() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadResponse.upload)
  return upload_;
}
void ClientDownloadResponse::set_upload(bool value) {
  set_has_upload();
  upload_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadResponse.upload)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadReport_UserInformation::kEmailFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadReport_UserInformation::ClientDownloadReport_UserInformation()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadReport.UserInformation)
}
ClientDownloadReport_UserInformation::ClientDownloadReport_UserInformation(const ClientDownloadReport_UserInformation& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  email_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_email()) {
    email_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.email_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadReport.UserInformation)
}

void ClientDownloadReport_UserInformation::SharedCtor() {
  _cached_size_ = 0;
  email_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientDownloadReport_UserInformation::~ClientDownloadReport_UserInformation() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadReport.UserInformation)
  SharedDtor();
}

void ClientDownloadReport_UserInformation::SharedDtor() {
  email_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientDownloadReport_UserInformation::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadReport_UserInformation& ClientDownloadReport_UserInformation::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadReport_UserInformation* ClientDownloadReport_UserInformation::New(::google::protobuf::Arena* arena) const {
  ClientDownloadReport_UserInformation* n = new ClientDownloadReport_UserInformation;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadReport_UserInformation::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadReport.UserInformation)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_email()) {
    GOOGLE_DCHECK(!email_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*email_.UnsafeRawStringPointer())->clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadReport_UserInformation::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadReport.UserInformation)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string email = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_email()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadReport.UserInformation)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadReport.UserInformation)
  return false;
#undef DO_
}

void ClientDownloadReport_UserInformation::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadReport.UserInformation)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string email = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->email(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadReport.UserInformation)
}

size_t ClientDownloadReport_UserInformation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadReport.UserInformation)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // optional string email = 1;
  if (has_email()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->email());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadReport_UserInformation::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadReport_UserInformation*>(&from));
}

void ClientDownloadReport_UserInformation::MergeFrom(const ClientDownloadReport_UserInformation& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadReport.UserInformation)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_email()) {
    set_has_email();
    email_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.email_);
  }
}

void ClientDownloadReport_UserInformation::CopyFrom(const ClientDownloadReport_UserInformation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadReport.UserInformation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadReport_UserInformation::IsInitialized() const {
  return true;
}

void ClientDownloadReport_UserInformation::Swap(ClientDownloadReport_UserInformation* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadReport_UserInformation::InternalSwap(ClientDownloadReport_UserInformation* other) {
  using std::swap;
  email_.Swap(&other->email_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadReport_UserInformation::GetTypeName() const {
  return "safe_browsing.ClientDownloadReport.UserInformation";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadReport_UserInformation

// optional string email = 1;
bool ClientDownloadReport_UserInformation::has_email() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadReport_UserInformation::set_has_email() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadReport_UserInformation::clear_has_email() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadReport_UserInformation::clear_email() {
  email_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_email();
}
const ::std::string& ClientDownloadReport_UserInformation::email() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.UserInformation.email)
  return email_.GetNoArena();
}
void ClientDownloadReport_UserInformation::set_email(const ::std::string& value) {
  set_has_email();
  email_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadReport.UserInformation.email)
}
#if LANG_CXX11
void ClientDownloadReport_UserInformation::set_email(::std::string&& value) {
  set_has_email();
  email_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadReport.UserInformation.email)
}
#endif
void ClientDownloadReport_UserInformation::set_email(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_email();
  email_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadReport.UserInformation.email)
}
void ClientDownloadReport_UserInformation::set_email(const char* value, size_t size) {
  set_has_email();
  email_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadReport.UserInformation.email)
}
::std::string* ClientDownloadReport_UserInformation::mutable_email() {
  set_has_email();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.UserInformation.email)
  return email_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadReport_UserInformation::release_email() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.UserInformation.email)
  clear_has_email();
  return email_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadReport_UserInformation::set_allocated_email(::std::string* email) {
  if (email != NULL) {
    set_has_email();
  } else {
    clear_has_email();
  }
  email_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), email);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.UserInformation.email)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientDownloadReport::kReasonFieldNumber;
const int ClientDownloadReport::kDownloadRequestFieldNumber;
const int ClientDownloadReport::kUserInformationFieldNumber;
const int ClientDownloadReport::kCommentFieldNumber;
const int ClientDownloadReport::kDownloadResponseFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientDownloadReport::ClientDownloadReport()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientDownloadReport)
}
ClientDownloadReport::ClientDownloadReport(const ClientDownloadReport& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  comment_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_comment()) {
    comment_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.comment_);
  }
  if (from.has_download_request()) {
    download_request_ = new ::safe_browsing::ClientDownloadRequest(*from.download_request_);
  } else {
    download_request_ = NULL;
  }
  if (from.has_user_information()) {
    user_information_ = new ::safe_browsing::ClientDownloadReport_UserInformation(*from.user_information_);
  } else {
    user_information_ = NULL;
  }
  if (from.has_download_response()) {
    download_response_ = new ::safe_browsing::ClientDownloadResponse(*from.download_response_);
  } else {
    download_response_ = NULL;
  }
  reason_ = from.reason_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientDownloadReport)
}

void ClientDownloadReport::SharedCtor() {
  _cached_size_ = 0;
  comment_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&download_request_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&reason_) -
      reinterpret_cast<char*>(&download_request_)) + sizeof(reason_));
}

ClientDownloadReport::~ClientDownloadReport() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientDownloadReport)
  SharedDtor();
}

void ClientDownloadReport::SharedDtor() {
  comment_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete download_request_;
  if (this != internal_default_instance()) delete user_information_;
  if (this != internal_default_instance()) delete download_response_;
}

void ClientDownloadReport::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientDownloadReport& ClientDownloadReport::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientDownloadReport* ClientDownloadReport::New(::google::protobuf::Arena* arena) const {
  ClientDownloadReport* n = new ClientDownloadReport;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientDownloadReport::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientDownloadReport)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!comment_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*comment_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(download_request_ != NULL);
      download_request_->::safe_browsing::ClientDownloadRequest::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(user_information_ != NULL);
      user_information_->::safe_browsing::ClientDownloadReport_UserInformation::Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(download_response_ != NULL);
      download_response_->::safe_browsing::ClientDownloadResponse::Clear();
    }
  }
  reason_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientDownloadReport::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientDownloadReport)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientDownloadReport.Reason reason = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientDownloadReport_Reason_IsValid(value)) {
            set_reason(static_cast< ::safe_browsing::ClientDownloadReport_Reason >(value));
          } else {
            unknown_fields_stream.WriteVarint32(8u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest download_request = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_download_request()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadReport.UserInformation user_information = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_user_information()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes comment = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_comment()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadResponse download_response = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_download_response()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientDownloadReport)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientDownloadReport)
  return false;
#undef DO_
}

void ClientDownloadReport::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientDownloadReport)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientDownloadReport.Reason reason = 1;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->reason(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest download_request = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->download_request_, output);
  }

  // optional .safe_browsing.ClientDownloadReport.UserInformation user_information = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->user_information_, output);
  }

  // optional bytes comment = 4;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      4, this->comment(), output);
  }

  // optional .safe_browsing.ClientDownloadResponse download_response = 5;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, *this->download_response_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientDownloadReport)
}

size_t ClientDownloadReport::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientDownloadReport)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 31u) {
    // optional bytes comment = 4;
    if (has_comment()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->comment());
    }

    // optional .safe_browsing.ClientDownloadRequest download_request = 2;
    if (has_download_request()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->download_request_);
    }

    // optional .safe_browsing.ClientDownloadReport.UserInformation user_information = 3;
    if (has_user_information()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->user_information_);
    }

    // optional .safe_browsing.ClientDownloadResponse download_response = 5;
    if (has_download_response()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->download_response_);
    }

    // optional .safe_browsing.ClientDownloadReport.Reason reason = 1;
    if (has_reason()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->reason());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientDownloadReport::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientDownloadReport*>(&from));
}

void ClientDownloadReport::MergeFrom(const ClientDownloadReport& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientDownloadReport)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_comment();
      comment_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.comment_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_download_request()->::safe_browsing::ClientDownloadRequest::MergeFrom(from.download_request());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_user_information()->::safe_browsing::ClientDownloadReport_UserInformation::MergeFrom(from.user_information());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_download_response()->::safe_browsing::ClientDownloadResponse::MergeFrom(from.download_response());
    }
    if (cached_has_bits & 0x00000010u) {
      reason_ = from.reason_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientDownloadReport::CopyFrom(const ClientDownloadReport& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientDownloadReport)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientDownloadReport::IsInitialized() const {
  if (has_download_request()) {
    if (!this->download_request_->IsInitialized()) return false;
  }
  return true;
}

void ClientDownloadReport::Swap(ClientDownloadReport* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientDownloadReport::InternalSwap(ClientDownloadReport* other) {
  using std::swap;
  comment_.Swap(&other->comment_);
  swap(download_request_, other->download_request_);
  swap(user_information_, other->user_information_);
  swap(download_response_, other->download_response_);
  swap(reason_, other->reason_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientDownloadReport::GetTypeName() const {
  return "safe_browsing.ClientDownloadReport";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientDownloadReport

// optional .safe_browsing.ClientDownloadReport.Reason reason = 1;
bool ClientDownloadReport::has_reason() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientDownloadReport::set_has_reason() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientDownloadReport::clear_has_reason() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientDownloadReport::clear_reason() {
  reason_ = 0;
  clear_has_reason();
}
::safe_browsing::ClientDownloadReport_Reason ClientDownloadReport::reason() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.reason)
  return static_cast< ::safe_browsing::ClientDownloadReport_Reason >(reason_);
}
void ClientDownloadReport::set_reason(::safe_browsing::ClientDownloadReport_Reason value) {
  assert(::safe_browsing::ClientDownloadReport_Reason_IsValid(value));
  set_has_reason();
  reason_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadReport.reason)
}

// optional .safe_browsing.ClientDownloadRequest download_request = 2;
bool ClientDownloadReport::has_download_request() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientDownloadReport::set_has_download_request() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientDownloadReport::clear_has_download_request() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientDownloadReport::clear_download_request() {
  if (download_request_ != NULL) download_request_->::safe_browsing::ClientDownloadRequest::Clear();
  clear_has_download_request();
}
const ::safe_browsing::ClientDownloadRequest& ClientDownloadReport::download_request() const {
  const ::safe_browsing::ClientDownloadRequest* p = download_request_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.download_request)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest*>(
      &::safe_browsing::_ClientDownloadRequest_default_instance_);
}
::safe_browsing::ClientDownloadRequest* ClientDownloadReport::mutable_download_request() {
  set_has_download_request();
  if (download_request_ == NULL) {
    download_request_ = new ::safe_browsing::ClientDownloadRequest;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.download_request)
  return download_request_;
}
::safe_browsing::ClientDownloadRequest* ClientDownloadReport::release_download_request() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.download_request)
  clear_has_download_request();
  ::safe_browsing::ClientDownloadRequest* temp = download_request_;
  download_request_ = NULL;
  return temp;
}
void ClientDownloadReport::set_allocated_download_request(::safe_browsing::ClientDownloadRequest* download_request) {
  delete download_request_;
  download_request_ = download_request;
  if (download_request) {
    set_has_download_request();
  } else {
    clear_has_download_request();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.download_request)
}

// optional .safe_browsing.ClientDownloadReport.UserInformation user_information = 3;
bool ClientDownloadReport::has_user_information() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientDownloadReport::set_has_user_information() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientDownloadReport::clear_has_user_information() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientDownloadReport::clear_user_information() {
  if (user_information_ != NULL) user_information_->::safe_browsing::ClientDownloadReport_UserInformation::Clear();
  clear_has_user_information();
}
const ::safe_browsing::ClientDownloadReport_UserInformation& ClientDownloadReport::user_information() const {
  const ::safe_browsing::ClientDownloadReport_UserInformation* p = user_information_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.user_information)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadReport_UserInformation*>(
      &::safe_browsing::_ClientDownloadReport_UserInformation_default_instance_);
}
::safe_browsing::ClientDownloadReport_UserInformation* ClientDownloadReport::mutable_user_information() {
  set_has_user_information();
  if (user_information_ == NULL) {
    user_information_ = new ::safe_browsing::ClientDownloadReport_UserInformation;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.user_information)
  return user_information_;
}
::safe_browsing::ClientDownloadReport_UserInformation* ClientDownloadReport::release_user_information() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.user_information)
  clear_has_user_information();
  ::safe_browsing::ClientDownloadReport_UserInformation* temp = user_information_;
  user_information_ = NULL;
  return temp;
}
void ClientDownloadReport::set_allocated_user_information(::safe_browsing::ClientDownloadReport_UserInformation* user_information) {
  delete user_information_;
  user_information_ = user_information;
  if (user_information) {
    set_has_user_information();
  } else {
    clear_has_user_information();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.user_information)
}

// optional bytes comment = 4;
bool ClientDownloadReport::has_comment() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientDownloadReport::set_has_comment() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientDownloadReport::clear_has_comment() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientDownloadReport::clear_comment() {
  comment_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_comment();
}
const ::std::string& ClientDownloadReport::comment() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.comment)
  return comment_.GetNoArena();
}
void ClientDownloadReport::set_comment(const ::std::string& value) {
  set_has_comment();
  comment_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientDownloadReport.comment)
}
#if LANG_CXX11
void ClientDownloadReport::set_comment(::std::string&& value) {
  set_has_comment();
  comment_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientDownloadReport.comment)
}
#endif
void ClientDownloadReport::set_comment(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_comment();
  comment_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientDownloadReport.comment)
}
void ClientDownloadReport::set_comment(const void* value, size_t size) {
  set_has_comment();
  comment_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientDownloadReport.comment)
}
::std::string* ClientDownloadReport::mutable_comment() {
  set_has_comment();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.comment)
  return comment_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientDownloadReport::release_comment() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.comment)
  clear_has_comment();
  return comment_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientDownloadReport::set_allocated_comment(::std::string* comment) {
  if (comment != NULL) {
    set_has_comment();
  } else {
    clear_has_comment();
  }
  comment_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), comment);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.comment)
}

// optional .safe_browsing.ClientDownloadResponse download_response = 5;
bool ClientDownloadReport::has_download_response() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientDownloadReport::set_has_download_response() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientDownloadReport::clear_has_download_response() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientDownloadReport::clear_download_response() {
  if (download_response_ != NULL) download_response_->::safe_browsing::ClientDownloadResponse::Clear();
  clear_has_download_response();
}
const ::safe_browsing::ClientDownloadResponse& ClientDownloadReport::download_response() const {
  const ::safe_browsing::ClientDownloadResponse* p = download_response_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientDownloadReport.download_response)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadResponse*>(
      &::safe_browsing::_ClientDownloadResponse_default_instance_);
}
::safe_browsing::ClientDownloadResponse* ClientDownloadReport::mutable_download_response() {
  set_has_download_response();
  if (download_response_ == NULL) {
    download_response_ = new ::safe_browsing::ClientDownloadResponse;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientDownloadReport.download_response)
  return download_response_;
}
::safe_browsing::ClientDownloadResponse* ClientDownloadReport::release_download_response() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientDownloadReport.download_response)
  clear_has_download_response();
  ::safe_browsing::ClientDownloadResponse* temp = download_response_;
  download_response_ = NULL;
  return temp;
}
void ClientDownloadReport::set_allocated_download_response(::safe_browsing::ClientDownloadResponse* download_response) {
  delete download_response_;
  download_response_ = download_response;
  if (download_response) {
    set_has_download_response();
  } else {
    clear_has_download_response();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientDownloadReport.download_response)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientUploadResponse::kStatusFieldNumber;
const int ClientUploadResponse::kPermalinkFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientUploadResponse::ClientUploadResponse()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientUploadResponse)
}
ClientUploadResponse::ClientUploadResponse(const ClientUploadResponse& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  permalink_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_permalink()) {
    permalink_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.permalink_);
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientUploadResponse)
}

void ClientUploadResponse::SharedCtor() {
  _cached_size_ = 0;
  permalink_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  status_ = 0;
}

ClientUploadResponse::~ClientUploadResponse() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientUploadResponse)
  SharedDtor();
}

void ClientUploadResponse::SharedDtor() {
  permalink_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientUploadResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientUploadResponse& ClientUploadResponse::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientUploadResponse* ClientUploadResponse::New(::google::protobuf::Arena* arena) const {
  ClientUploadResponse* n = new ClientUploadResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientUploadResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientUploadResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_permalink()) {
    GOOGLE_DCHECK(!permalink_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*permalink_.UnsafeRawStringPointer())->clear();
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientUploadResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientUploadResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientUploadResponse.UploadStatus status = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientUploadResponse_UploadStatus_IsValid(value)) {
            set_status(static_cast< ::safe_browsing::ClientUploadResponse_UploadStatus >(value));
          } else {
            unknown_fields_stream.WriteVarint32(8u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string permalink = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_permalink()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientUploadResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientUploadResponse)
  return false;
#undef DO_
}

void ClientUploadResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientUploadResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientUploadResponse.UploadStatus status = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->status(), output);
  }

  // optional string permalink = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->permalink(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientUploadResponse)
}

size_t ClientUploadResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientUploadResponse)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional string permalink = 2;
    if (has_permalink()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->permalink());
    }

    // optional .safe_browsing.ClientUploadResponse.UploadStatus status = 1;
    if (has_status()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->status());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientUploadResponse::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientUploadResponse*>(&from));
}

void ClientUploadResponse::MergeFrom(const ClientUploadResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientUploadResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_permalink();
      permalink_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.permalink_);
    }
    if (cached_has_bits & 0x00000002u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientUploadResponse::CopyFrom(const ClientUploadResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientUploadResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientUploadResponse::IsInitialized() const {
  return true;
}

void ClientUploadResponse::Swap(ClientUploadResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientUploadResponse::InternalSwap(ClientUploadResponse* other) {
  using std::swap;
  permalink_.Swap(&other->permalink_);
  swap(status_, other->status_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientUploadResponse::GetTypeName() const {
  return "safe_browsing.ClientUploadResponse";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientUploadResponse

// optional .safe_browsing.ClientUploadResponse.UploadStatus status = 1;
bool ClientUploadResponse::has_status() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientUploadResponse::set_has_status() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientUploadResponse::clear_has_status() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientUploadResponse::clear_status() {
  status_ = 0;
  clear_has_status();
}
::safe_browsing::ClientUploadResponse_UploadStatus ClientUploadResponse::status() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientUploadResponse.status)
  return static_cast< ::safe_browsing::ClientUploadResponse_UploadStatus >(status_);
}
void ClientUploadResponse::set_status(::safe_browsing::ClientUploadResponse_UploadStatus value) {
  assert(::safe_browsing::ClientUploadResponse_UploadStatus_IsValid(value));
  set_has_status();
  status_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientUploadResponse.status)
}

// optional string permalink = 2;
bool ClientUploadResponse::has_permalink() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientUploadResponse::set_has_permalink() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientUploadResponse::clear_has_permalink() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientUploadResponse::clear_permalink() {
  permalink_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_permalink();
}
const ::std::string& ClientUploadResponse::permalink() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientUploadResponse.permalink)
  return permalink_.GetNoArena();
}
void ClientUploadResponse::set_permalink(const ::std::string& value) {
  set_has_permalink();
  permalink_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientUploadResponse.permalink)
}
#if LANG_CXX11
void ClientUploadResponse::set_permalink(::std::string&& value) {
  set_has_permalink();
  permalink_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientUploadResponse.permalink)
}
#endif
void ClientUploadResponse::set_permalink(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_permalink();
  permalink_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientUploadResponse.permalink)
}
void ClientUploadResponse::set_permalink(const char* value, size_t size) {
  set_has_permalink();
  permalink_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientUploadResponse.permalink)
}
::std::string* ClientUploadResponse::mutable_permalink() {
  set_has_permalink();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientUploadResponse.permalink)
  return permalink_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientUploadResponse::release_permalink() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientUploadResponse.permalink)
  clear_has_permalink();
  return permalink_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientUploadResponse::set_allocated_permalink(::std::string* permalink) {
  if (permalink != NULL) {
    set_has_permalink();
  } else {
    clear_has_permalink();
  }
  permalink_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), permalink);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientUploadResponse.permalink)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::kPathFieldNumber;
const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::kAtomicValueFieldNumber;
const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::kSplitKeyFieldNumber;
const int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::kValueStateFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ClientIncidentReport_IncidentData_TrackedPreferenceIncident()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
}
ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ClientIncidentReport_IncidentData_TrackedPreferenceIncident(const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      split_key_(from.split_key_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_path()) {
    path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
  }
  atomic_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_atomic_value()) {
    atomic_value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.atomic_value_);
  }
  value_state_ = from.value_state_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::SharedCtor() {
  _cached_size_ = 0;
  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  atomic_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_state_ = 0;
}

ClientIncidentReport_IncidentData_TrackedPreferenceIncident::~ClientIncidentReport_IncidentData_TrackedPreferenceIncident() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  SharedDtor();
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::SharedDtor() {
  path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  atomic_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_IncidentData_TrackedPreferenceIncident* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_IncidentData_TrackedPreferenceIncident* n = new ClientIncidentReport_IncidentData_TrackedPreferenceIncident;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  split_key_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*path_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!atomic_value_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*atomic_value_.UnsafeRawStringPointer())->clear();
    }
  }
  value_state_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string path = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_path()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string atomic_value = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_atomic_value()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string split_key = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_split_key()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.ValueState value_state = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(value)) {
            set_value_state(static_cast< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState >(value));
          } else {
            unknown_fields_stream.WriteVarint32(32u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  return false;
#undef DO_
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string path = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->path(), output);
  }

  // optional string atomic_value = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->atomic_value(), output);
  }

  // repeated string split_key = 3;
  for (int i = 0, n = this->split_key_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      3, this->split_key(i), output);
  }

  // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.ValueState value_state = 4;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->value_state(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
}

size_t ClientIncidentReport_IncidentData_TrackedPreferenceIncident::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated string split_key = 3;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->split_key_size());
  for (int i = 0, n = this->split_key_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->split_key(i));
  }

  if (_has_bits_[0 / 32] & 7u) {
    // optional string path = 1;
    if (has_path()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->path());
    }

    // optional string atomic_value = 2;
    if (has_atomic_value()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->atomic_value());
    }

    // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.ValueState value_state = 4;
    if (has_value_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->value_state());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_TrackedPreferenceIncident*>(&from));
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::MergeFrom(const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  split_key_.MergeFrom(from.split_key_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_path();
      path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_atomic_value();
      atomic_value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.atomic_value_);
    }
    if (cached_has_bits & 0x00000004u) {
      value_state_ = from.value_state_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::CopyFrom(const ClientIncidentReport_IncidentData_TrackedPreferenceIncident& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::IsInitialized() const {
  return true;
}

void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::Swap(ClientIncidentReport_IncidentData_TrackedPreferenceIncident* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::InternalSwap(ClientIncidentReport_IncidentData_TrackedPreferenceIncident* other) {
  using std::swap;
  split_key_.InternalSwap(&other->split_key_);
  path_.Swap(&other->path_);
  atomic_value_.Swap(&other->atomic_value_);
  swap(value_state_, other->value_state_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_IncidentData_TrackedPreferenceIncident::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_IncidentData_TrackedPreferenceIncident

// optional string path = 1;
bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::has_path() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_has_path() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_has_path() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_path() {
  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_path();
}
const ::std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::path() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
  return path_.GetNoArena();
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_path(const ::std::string& value) {
  set_has_path();
  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_path(::std::string&& value) {
  set_has_path();
  path_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
}
#endif
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_path(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_path();
  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_path(const char* value, size_t size) {
  set_has_path();
  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
}
::std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_path() {
  set_has_path();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::release_path() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
  clear_has_path();
  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_allocated_path(::std::string* path) {
  if (path != NULL) {
    set_has_path();
  } else {
    clear_has_path();
  }
  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.path)
}

// optional string atomic_value = 2;
bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::has_atomic_value() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_has_atomic_value() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_has_atomic_value() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_atomic_value() {
  atomic_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_atomic_value();
}
const ::std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::atomic_value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
  return atomic_value_.GetNoArena();
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_atomic_value(const ::std::string& value) {
  set_has_atomic_value();
  atomic_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_atomic_value(::std::string&& value) {
  set_has_atomic_value();
  atomic_value_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
}
#endif
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_atomic_value(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_atomic_value();
  atomic_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_atomic_value(const char* value, size_t size) {
  set_has_atomic_value();
  atomic_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
}
::std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_atomic_value() {
  set_has_atomic_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
  return atomic_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::release_atomic_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
  clear_has_atomic_value();
  return atomic_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_allocated_atomic_value(::std::string* atomic_value) {
  if (atomic_value != NULL) {
    set_has_atomic_value();
  } else {
    clear_has_atomic_value();
  }
  atomic_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), atomic_value);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.atomic_value)
}

// repeated string split_key = 3;
int ClientIncidentReport_IncidentData_TrackedPreferenceIncident::split_key_size() const {
  return split_key_.size();
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_split_key() {
  split_key_.Clear();
}
const ::std::string& ClientIncidentReport_IncidentData_TrackedPreferenceIncident::split_key(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return split_key_.Get(index);
}
::std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_split_key(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return split_key_.Mutable(index);
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  split_key_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  split_key_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  split_key_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_split_key(int index, const char* value, size_t size) {
  split_key_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
::std::string* ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return split_key_.Add();
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(const ::std::string& value) {
  split_key_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(::std::string&& value) {
  split_key_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
#endif
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  split_key_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::add_split_key(const char* value, size_t size) {
  split_key_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientIncidentReport_IncidentData_TrackedPreferenceIncident::split_key() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return split_key_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientIncidentReport_IncidentData_TrackedPreferenceIncident::mutable_split_key() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.split_key)
  return &split_key_;
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.ValueState value_state = 4;
bool ClientIncidentReport_IncidentData_TrackedPreferenceIncident::has_value_state() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_has_value_state() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_has_value_state() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::clear_value_state() {
  value_state_ = 0;
  clear_has_value_state();
}
::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState ClientIncidentReport_IncidentData_TrackedPreferenceIncident::value_state() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.value_state)
  return static_cast< ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState >(value_state_);
}
void ClientIncidentReport_IncidentData_TrackedPreferenceIncident::set_value_state(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState value) {
  assert(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident_ValueState_IsValid(value));
  set_has_value_state();
  value_state_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident.value_state)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::kRelativePathFieldNumber;
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::kSignatureFieldNumber;
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::kImageHeadersFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
}
ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  relative_path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_relative_path()) {
    relative_path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.relative_path_);
  }
  if (from.has_signature()) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
  } else {
    signature_ = NULL;
  }
  if (from.has_image_headers()) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
  } else {
    image_headers_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::SharedCtor() {
  _cached_size_ = 0;
  relative_path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&signature_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&image_headers_) -
      reinterpret_cast<char*>(&signature_)) + sizeof(image_headers_));
}

ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::~ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  SharedDtor();
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::SharedDtor() {
  relative_path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete signature_;
  if (this != internal_default_instance()) delete image_headers_;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* n = new ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!relative_path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*relative_path_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(signature_ != NULL);
      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(image_headers_ != NULL);
      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string relative_path = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_relative_path()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_signature()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_image_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  return false;
#undef DO_
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string relative_path = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->relative_path(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->signature_, output);
  }

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->image_headers_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
}

size_t ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional string relative_path = 1;
    if (has_relative_path()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->relative_path());
    }

    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
    if (has_signature()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->signature_);
    }

    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
    if (has_image_headers()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->image_headers_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile*>(&from));
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::MergeFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_relative_path();
      relative_path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.relative_path_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
    }
  }
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::CopyFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::IsInitialized() const {
  if (has_signature()) {
    if (!this->signature_->IsInitialized()) return false;
  }
  if (has_image_headers()) {
    if (!this->image_headers_->IsInitialized()) return false;
  }
  return true;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::Swap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::InternalSwap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* other) {
  using std::swap;
  relative_path_.Swap(&other->relative_path_);
  swap(signature_, other->signature_);
  swap(image_headers_, other->image_headers_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile

// optional string relative_path = 1;
bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::has_relative_path() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_has_relative_path() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_has_relative_path() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_relative_path() {
  relative_path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_relative_path();
}
const ::std::string& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::relative_path() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
  return relative_path_.GetNoArena();
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_relative_path(const ::std::string& value) {
  set_has_relative_path();
  relative_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_relative_path(::std::string&& value) {
  set_has_relative_path();
  relative_path_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
}
#endif
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_relative_path(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_relative_path();
  relative_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_relative_path(const char* value, size_t size) {
  set_has_relative_path();
  relative_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
}
::std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::mutable_relative_path() {
  set_has_relative_path();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
  return relative_path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::release_relative_path() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
  clear_has_relative_path();
  return relative_path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_allocated_relative_path(::std::string* relative_path) {
  if (relative_path != NULL) {
    set_has_relative_path();
  } else {
    clear_has_relative_path();
  }
  relative_path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), relative_path);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.relative_path)
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::has_signature() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_has_signature() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_has_signature() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_signature() {
  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
  clear_has_signature();
}
const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::mutable_signature() {
  set_has_signature();
  if (signature_ == NULL) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
  return signature_;
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
  clear_has_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
  signature_ = NULL;
  return temp;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  delete signature_;
  signature_ = signature;
  if (signature) {
    set_has_signature();
  } else {
    clear_has_signature();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.signature)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::has_image_headers() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_has_image_headers() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_has_image_headers() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::clear_image_headers() {
  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
  clear_has_image_headers();
}
const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::mutable_image_headers() {
  set_has_image_headers();
  if (image_headers_ == NULL) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
  return image_headers_;
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
  clear_has_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
  image_headers_ = NULL;
  return temp;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  delete image_headers_;
  image_headers_ = image_headers;
  if (image_headers) {
    set_has_image_headers();
  } else {
    clear_has_image_headers();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile.image_headers)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::kFileBasenameFieldNumber;
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::kSignatureFieldNumber;
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::kImageHeadersFieldNumber;
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::kSecErrorFieldNumber;
const int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::kContainedFileFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_IncidentData_BinaryIntegrityIncident::ClientIncidentReport_IncidentData_BinaryIntegrityIncident()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
}
ClientIncidentReport_IncidentData_BinaryIntegrityIncident::ClientIncidentReport_IncidentData_BinaryIntegrityIncident(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      contained_file_(from.contained_file_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_file_basename()) {
    file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
  }
  if (from.has_signature()) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo(*from.signature_);
  } else {
    signature_ = NULL;
  }
  if (from.has_image_headers()) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
  } else {
    image_headers_ = NULL;
  }
  sec_error_ = from.sec_error_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::SharedCtor() {
  _cached_size_ = 0;
  file_basename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&signature_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&sec_error_) -
      reinterpret_cast<char*>(&signature_)) + sizeof(sec_error_));
}

ClientIncidentReport_IncidentData_BinaryIntegrityIncident::~ClientIncidentReport_IncidentData_BinaryIntegrityIncident() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  SharedDtor();
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::SharedDtor() {
  file_basename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete signature_;
  if (this != internal_default_instance()) delete image_headers_;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_IncidentData_BinaryIntegrityIncident* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_IncidentData_BinaryIntegrityIncident* n = new ClientIncidentReport_IncidentData_BinaryIntegrityIncident;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  contained_file_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!file_basename_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*file_basename_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(signature_ != NULL);
      signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(image_headers_ != NULL);
      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
    }
  }
  sec_error_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string file_basename = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_file_basename()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_signature()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_image_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 sec_error = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_sec_error();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &sec_error_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile contained_file = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_contained_file()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  return false;
#undef DO_
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string file_basename = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->file_basename(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->signature_, output);
  }

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->image_headers_, output);
  }

  // optional int32 sec_error = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->sec_error(), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile contained_file = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->contained_file_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, this->contained_file(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
}

size_t ClientIncidentReport_IncidentData_BinaryIntegrityIncident::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile contained_file = 5;
  {
    unsigned int count = static_cast<unsigned int>(this->contained_file_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->contained_file(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 15u) {
    // optional string file_basename = 1;
    if (has_file_basename()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->file_basename());
    }

    // optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
    if (has_signature()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->signature_);
    }

    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
    if (has_image_headers()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->image_headers_);
    }

    // optional int32 sec_error = 4;
    if (has_sec_error()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->sec_error());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_BinaryIntegrityIncident*>(&from));
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::MergeFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  contained_file_.MergeFrom(from.contained_file_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_file_basename();
      file_basename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_basename_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_signature()->::safe_browsing::ClientDownloadRequest_SignatureInfo::MergeFrom(from.signature());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
    }
    if (cached_has_bits & 0x00000008u) {
      sec_error_ = from.sec_error_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::CopyFrom(const ClientIncidentReport_IncidentData_BinaryIntegrityIncident& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->contained_file())) return false;
  if (has_signature()) {
    if (!this->signature_->IsInitialized()) return false;
  }
  if (has_image_headers()) {
    if (!this->image_headers_->IsInitialized()) return false;
  }
  return true;
}

void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::Swap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::InternalSwap(ClientIncidentReport_IncidentData_BinaryIntegrityIncident* other) {
  using std::swap;
  contained_file_.InternalSwap(&other->contained_file_);
  file_basename_.Swap(&other->file_basename_);
  swap(signature_, other->signature_);
  swap(image_headers_, other->image_headers_);
  swap(sec_error_, other->sec_error_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_IncidentData_BinaryIntegrityIncident::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_IncidentData_BinaryIntegrityIncident

// optional string file_basename = 1;
bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_file_basename() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_has_file_basename() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_has_file_basename() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_file_basename() {
  file_basename_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_file_basename();
}
const ::std::string& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::file_basename() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
  return file_basename_.GetNoArena();
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_file_basename(const ::std::string& value) {
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_file_basename(::std::string&& value) {
  set_has_file_basename();
  file_basename_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
}
#endif
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_file_basename(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_file_basename(const char* value, size_t size) {
  set_has_file_basename();
  file_basename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
}
::std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_file_basename() {
  set_has_file_basename();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
  return file_basename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::release_file_basename() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
  clear_has_file_basename();
  return file_basename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_allocated_file_basename(::std::string* file_basename) {
  if (file_basename != NULL) {
    set_has_file_basename();
  } else {
    clear_has_file_basename();
  }
  file_basename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_basename);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.file_basename)
}

// optional .safe_browsing.ClientDownloadRequest.SignatureInfo signature = 2;
bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_signature() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_has_signature() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_has_signature() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_signature() {
  if (signature_ != NULL) signature_->::safe_browsing::ClientDownloadRequest_SignatureInfo::Clear();
  clear_has_signature();
}
const ::safe_browsing::ClientDownloadRequest_SignatureInfo& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::signature() const {
  const ::safe_browsing::ClientDownloadRequest_SignatureInfo* p = signature_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_SignatureInfo*>(
      &::safe_browsing::_ClientDownloadRequest_SignatureInfo_default_instance_);
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_signature() {
  set_has_signature();
  if (signature_ == NULL) {
    signature_ = new ::safe_browsing::ClientDownloadRequest_SignatureInfo;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
  return signature_;
}
::safe_browsing::ClientDownloadRequest_SignatureInfo* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::release_signature() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
  clear_has_signature();
  ::safe_browsing::ClientDownloadRequest_SignatureInfo* temp = signature_;
  signature_ = NULL;
  return temp;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_allocated_signature(::safe_browsing::ClientDownloadRequest_SignatureInfo* signature) {
  delete signature_;
  signature_ = signature;
  if (signature) {
    set_has_signature();
  } else {
    clear_has_signature();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.signature)
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 3;
bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_image_headers() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_has_image_headers() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_has_image_headers() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_image_headers() {
  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
  clear_has_image_headers();
}
const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_image_headers() {
  set_has_image_headers();
  if (image_headers_ == NULL) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
  return image_headers_;
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
  clear_has_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
  image_headers_ = NULL;
  return temp;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  delete image_headers_;
  image_headers_ = image_headers;
  if (image_headers) {
    set_has_image_headers();
  } else {
    clear_has_image_headers();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.image_headers)
}

// optional int32 sec_error = 4;
bool ClientIncidentReport_IncidentData_BinaryIntegrityIncident::has_sec_error() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_has_sec_error() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_has_sec_error() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_sec_error() {
  sec_error_ = 0;
  clear_has_sec_error();
}
::google::protobuf::int32 ClientIncidentReport_IncidentData_BinaryIntegrityIncident::sec_error() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.sec_error)
  return sec_error_;
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::set_sec_error(::google::protobuf::int32 value) {
  set_has_sec_error();
  sec_error_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.sec_error)
}

// repeated .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.ContainedFile contained_file = 5;
int ClientIncidentReport_IncidentData_BinaryIntegrityIncident::contained_file_size() const {
  return contained_file_.size();
}
void ClientIncidentReport_IncidentData_BinaryIntegrityIncident::clear_contained_file() {
  contained_file_.Clear();
}
const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile& ClientIncidentReport_IncidentData_BinaryIntegrityIncident::contained_file(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return contained_file_.Get(index);
}
::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_contained_file(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return contained_file_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile* ClientIncidentReport_IncidentData_BinaryIntegrityIncident::add_contained_file() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return contained_file_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile >*
ClientIncidentReport_IncidentData_BinaryIntegrityIncident::mutable_contained_file() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return &contained_file_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident_ContainedFile >&
ClientIncidentReport_IncidentData_BinaryIntegrityIncident::contained_file() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident.contained_file)
  return contained_file_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kDigestFieldNumber;
const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kOriginFieldNumber;
const int ClientIncidentReport_IncidentData_ResourceRequestIncident::kTypeFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_IncidentData_ResourceRequestIncident::ClientIncidentReport_IncidentData_ResourceRequestIncident()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
}
ClientIncidentReport_IncidentData_ResourceRequestIncident::ClientIncidentReport_IncidentData_ResourceRequestIncident(const ClientIncidentReport_IncidentData_ResourceRequestIncident& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  digest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_digest()) {
    digest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.digest_);
  }
  origin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_origin()) {
    origin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.origin_);
  }
  type_ = from.type_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::SharedCtor() {
  _cached_size_ = 0;
  digest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  origin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  type_ = 0;
}

ClientIncidentReport_IncidentData_ResourceRequestIncident::~ClientIncidentReport_IncidentData_ResourceRequestIncident() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  SharedDtor();
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::SharedDtor() {
  digest_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  origin_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_IncidentData_ResourceRequestIncident& ClientIncidentReport_IncidentData_ResourceRequestIncident::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_IncidentData_ResourceRequestIncident* ClientIncidentReport_IncidentData_ResourceRequestIncident::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_IncidentData_ResourceRequestIncident* n = new ClientIncidentReport_IncidentData_ResourceRequestIncident;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!digest_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*digest_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!origin_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*origin_.UnsafeRawStringPointer())->clear();
    }
  }
  type_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_IncidentData_ResourceRequestIncident::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes digest = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_digest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string origin = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_origin()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.Type type = 3 [default = UNKNOWN];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(value)) {
            set_type(static_cast< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type >(value));
          } else {
            unknown_fields_stream.WriteVarint32(24u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  return false;
#undef DO_
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes digest = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->digest(), output);
  }

  // optional string origin = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->origin(), output);
  }

  // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.Type type = 3 [default = UNKNOWN];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->type(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
}

size_t ClientIncidentReport_IncidentData_ResourceRequestIncident::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional bytes digest = 1;
    if (has_digest()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->digest());
    }

    // optional string origin = 2;
    if (has_origin()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->origin());
    }

    // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.Type type = 3 [default = UNKNOWN];
    if (has_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData_ResourceRequestIncident*>(&from));
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::MergeFrom(const ClientIncidentReport_IncidentData_ResourceRequestIncident& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_digest();
      digest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.digest_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_origin();
      origin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.origin_);
    }
    if (cached_has_bits & 0x00000004u) {
      type_ = from.type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::CopyFrom(const ClientIncidentReport_IncidentData_ResourceRequestIncident& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_IncidentData_ResourceRequestIncident::IsInitialized() const {
  return true;
}

void ClientIncidentReport_IncidentData_ResourceRequestIncident::Swap(ClientIncidentReport_IncidentData_ResourceRequestIncident* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::InternalSwap(ClientIncidentReport_IncidentData_ResourceRequestIncident* other) {
  using std::swap;
  digest_.Swap(&other->digest_);
  origin_.Swap(&other->origin_);
  swap(type_, other->type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_IncidentData_ResourceRequestIncident::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_IncidentData_ResourceRequestIncident

// optional bytes digest = 1;
bool ClientIncidentReport_IncidentData_ResourceRequestIncident::has_digest() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_has_digest() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_has_digest() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_digest() {
  digest_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_digest();
}
const ::std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident::digest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
  return digest_.GetNoArena();
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_digest(const ::std::string& value) {
  set_has_digest();
  digest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_digest(::std::string&& value) {
  set_has_digest();
  digest_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
}
#endif
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_digest(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_digest();
  digest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_digest(const void* value, size_t size) {
  set_has_digest();
  digest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
}
::std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::mutable_digest() {
  set_has_digest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
  return digest_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::release_digest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
  clear_has_digest();
  return digest_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_allocated_digest(::std::string* digest) {
  if (digest != NULL) {
    set_has_digest();
  } else {
    clear_has_digest();
  }
  digest_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), digest);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.digest)
}

// optional string origin = 2;
bool ClientIncidentReport_IncidentData_ResourceRequestIncident::has_origin() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_has_origin() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_has_origin() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_origin() {
  origin_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_origin();
}
const ::std::string& ClientIncidentReport_IncidentData_ResourceRequestIncident::origin() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
  return origin_.GetNoArena();
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_origin(const ::std::string& value) {
  set_has_origin();
  origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
}
#if LANG_CXX11
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_origin(::std::string&& value) {
  set_has_origin();
  origin_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
}
#endif
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_origin(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_origin();
  origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_origin(const char* value, size_t size) {
  set_has_origin();
  origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
}
::std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::mutable_origin() {
  set_has_origin();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
  return origin_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_IncidentData_ResourceRequestIncident::release_origin() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
  clear_has_origin();
  return origin_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_allocated_origin(::std::string* origin) {
  if (origin != NULL) {
    set_has_origin();
  } else {
    clear_has_origin();
  }
  origin_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), origin);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.origin)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.Type type = 3 [default = UNKNOWN];
bool ClientIncidentReport_IncidentData_ResourceRequestIncident::has_type() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_has_type() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_has_type() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::clear_type() {
  type_ = 0;
  clear_has_type();
}
::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type ClientIncidentReport_IncidentData_ResourceRequestIncident::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.type)
  return static_cast< ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type >(type_);
}
void ClientIncidentReport_IncidentData_ResourceRequestIncident::set_type(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type value) {
  assert(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident_Type_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident.type)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_IncidentData::kIncidentTimeMsecFieldNumber;
const int ClientIncidentReport_IncidentData::kTrackedPreferenceFieldNumber;
const int ClientIncidentReport_IncidentData::kBinaryIntegrityFieldNumber;
const int ClientIncidentReport_IncidentData::kResourceRequestFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_IncidentData::ClientIncidentReport_IncidentData()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.IncidentData)
}
ClientIncidentReport_IncidentData::ClientIncidentReport_IncidentData(const ClientIncidentReport_IncidentData& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_tracked_preference()) {
    tracked_preference_ = new ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident(*from.tracked_preference_);
  } else {
    tracked_preference_ = NULL;
  }
  if (from.has_binary_integrity()) {
    binary_integrity_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident(*from.binary_integrity_);
  } else {
    binary_integrity_ = NULL;
  }
  if (from.has_resource_request()) {
    resource_request_ = new ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident(*from.resource_request_);
  } else {
    resource_request_ = NULL;
  }
  incident_time_msec_ = from.incident_time_msec_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.IncidentData)
}

void ClientIncidentReport_IncidentData::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&tracked_preference_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&incident_time_msec_) -
      reinterpret_cast<char*>(&tracked_preference_)) + sizeof(incident_time_msec_));
}

ClientIncidentReport_IncidentData::~ClientIncidentReport_IncidentData() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.IncidentData)
  SharedDtor();
}

void ClientIncidentReport_IncidentData::SharedDtor() {
  if (this != internal_default_instance()) delete tracked_preference_;
  if (this != internal_default_instance()) delete binary_integrity_;
  if (this != internal_default_instance()) delete resource_request_;
}

void ClientIncidentReport_IncidentData::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_IncidentData& ClientIncidentReport_IncidentData::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_IncidentData* ClientIncidentReport_IncidentData::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_IncidentData* n = new ClientIncidentReport_IncidentData;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_IncidentData::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.IncidentData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(tracked_preference_ != NULL);
      tracked_preference_->::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(binary_integrity_ != NULL);
      binary_integrity_->::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(resource_request_ != NULL);
      resource_request_->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear();
    }
  }
  incident_time_msec_ = GOOGLE_LONGLONG(0);
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_IncidentData::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.IncidentData)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int64 incident_time_msec = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_incident_time_msec();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &incident_time_msec_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_tracked_preference()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_binary_integrity()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_resource_request()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.IncidentData)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.IncidentData)
  return false;
#undef DO_
}

void ClientIncidentReport_IncidentData::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.IncidentData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int64 incident_time_msec = 1;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(1, this->incident_time_msec(), output);
  }

  // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->tracked_preference_, output);
  }

  // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->binary_integrity_, output);
  }

  // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      7, *this->resource_request_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.IncidentData)
}

size_t ClientIncidentReport_IncidentData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.IncidentData)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
    if (has_tracked_preference()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->tracked_preference_);
    }

    // optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
    if (has_binary_integrity()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->binary_integrity_);
    }

    // optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
    if (has_resource_request()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->resource_request_);
    }

    // optional int64 incident_time_msec = 1;
    if (has_incident_time_msec()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->incident_time_msec());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_IncidentData::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_IncidentData*>(&from));
}

void ClientIncidentReport_IncidentData::MergeFrom(const ClientIncidentReport_IncidentData& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.IncidentData)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_tracked_preference()->::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::MergeFrom(from.tracked_preference());
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_binary_integrity()->::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::MergeFrom(from.binary_integrity());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_resource_request()->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::MergeFrom(from.resource_request());
    }
    if (cached_has_bits & 0x00000008u) {
      incident_time_msec_ = from.incident_time_msec_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_IncidentData::CopyFrom(const ClientIncidentReport_IncidentData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.IncidentData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_IncidentData::IsInitialized() const {
  if (has_binary_integrity()) {
    if (!this->binary_integrity_->IsInitialized()) return false;
  }
  return true;
}

void ClientIncidentReport_IncidentData::Swap(ClientIncidentReport_IncidentData* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_IncidentData::InternalSwap(ClientIncidentReport_IncidentData* other) {
  using std::swap;
  swap(tracked_preference_, other->tracked_preference_);
  swap(binary_integrity_, other->binary_integrity_);
  swap(resource_request_, other->resource_request_);
  swap(incident_time_msec_, other->incident_time_msec_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_IncidentData::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.IncidentData";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_IncidentData

// optional int64 incident_time_msec = 1;
bool ClientIncidentReport_IncidentData::has_incident_time_msec() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_IncidentData::set_has_incident_time_msec() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_IncidentData::clear_has_incident_time_msec() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_IncidentData::clear_incident_time_msec() {
  incident_time_msec_ = GOOGLE_LONGLONG(0);
  clear_has_incident_time_msec();
}
::google::protobuf::int64 ClientIncidentReport_IncidentData::incident_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.incident_time_msec)
  return incident_time_msec_;
}
void ClientIncidentReport_IncidentData::set_incident_time_msec(::google::protobuf::int64 value) {
  set_has_incident_time_msec();
  incident_time_msec_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.IncidentData.incident_time_msec)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.TrackedPreferenceIncident tracked_preference = 2;
bool ClientIncidentReport_IncidentData::has_tracked_preference() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_IncidentData::set_has_tracked_preference() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_IncidentData::clear_has_tracked_preference() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_IncidentData::clear_tracked_preference() {
  if (tracked_preference_ != NULL) tracked_preference_->::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident::Clear();
  clear_has_tracked_preference();
}
const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident& ClientIncidentReport_IncidentData::tracked_preference() const {
  const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* p = tracked_preference_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident*>(
      &::safe_browsing::_ClientIncidentReport_IncidentData_TrackedPreferenceIncident_default_instance_);
}
::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* ClientIncidentReport_IncidentData::mutable_tracked_preference() {
  set_has_tracked_preference();
  if (tracked_preference_ == NULL) {
    tracked_preference_ = new ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
  return tracked_preference_;
}
::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* ClientIncidentReport_IncidentData::release_tracked_preference() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
  clear_has_tracked_preference();
  ::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* temp = tracked_preference_;
  tracked_preference_ = NULL;
  return temp;
}
void ClientIncidentReport_IncidentData::set_allocated_tracked_preference(::safe_browsing::ClientIncidentReport_IncidentData_TrackedPreferenceIncident* tracked_preference) {
  delete tracked_preference_;
  tracked_preference_ = tracked_preference;
  if (tracked_preference) {
    set_has_tracked_preference();
  } else {
    clear_has_tracked_preference();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.tracked_preference)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.BinaryIntegrityIncident binary_integrity = 3;
bool ClientIncidentReport_IncidentData::has_binary_integrity() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_IncidentData::set_has_binary_integrity() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_IncidentData::clear_has_binary_integrity() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_IncidentData::clear_binary_integrity() {
  if (binary_integrity_ != NULL) binary_integrity_->::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident::Clear();
  clear_has_binary_integrity();
}
const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident& ClientIncidentReport_IncidentData::binary_integrity() const {
  const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* p = binary_integrity_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident*>(
      &::safe_browsing::_ClientIncidentReport_IncidentData_BinaryIntegrityIncident_default_instance_);
}
::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* ClientIncidentReport_IncidentData::mutable_binary_integrity() {
  set_has_binary_integrity();
  if (binary_integrity_ == NULL) {
    binary_integrity_ = new ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
  return binary_integrity_;
}
::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* ClientIncidentReport_IncidentData::release_binary_integrity() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
  clear_has_binary_integrity();
  ::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* temp = binary_integrity_;
  binary_integrity_ = NULL;
  return temp;
}
void ClientIncidentReport_IncidentData::set_allocated_binary_integrity(::safe_browsing::ClientIncidentReport_IncidentData_BinaryIntegrityIncident* binary_integrity) {
  delete binary_integrity_;
  binary_integrity_ = binary_integrity;
  if (binary_integrity) {
    set_has_binary_integrity();
  } else {
    clear_has_binary_integrity();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.binary_integrity)
}

// optional .safe_browsing.ClientIncidentReport.IncidentData.ResourceRequestIncident resource_request = 7;
bool ClientIncidentReport_IncidentData::has_resource_request() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_IncidentData::set_has_resource_request() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_IncidentData::clear_has_resource_request() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_IncidentData::clear_resource_request() {
  if (resource_request_ != NULL) resource_request_->::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident::Clear();
  clear_has_resource_request();
}
const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident& ClientIncidentReport_IncidentData::resource_request() const {
  const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* p = resource_request_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident*>(
      &::safe_browsing::_ClientIncidentReport_IncidentData_ResourceRequestIncident_default_instance_);
}
::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* ClientIncidentReport_IncidentData::mutable_resource_request() {
  set_has_resource_request();
  if (resource_request_ == NULL) {
    resource_request_ = new ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
  return resource_request_;
}
::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* ClientIncidentReport_IncidentData::release_resource_request() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
  clear_has_resource_request();
  ::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* temp = resource_request_;
  resource_request_ = NULL;
  return temp;
}
void ClientIncidentReport_IncidentData::set_allocated_resource_request(::safe_browsing::ClientIncidentReport_IncidentData_ResourceRequestIncident* resource_request) {
  delete resource_request_;
  resource_request_ = resource_request;
  if (resource_request) {
    set_has_resource_request();
  } else {
    clear_has_resource_request();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.IncidentData.resource_request)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_DownloadDetails::kTokenFieldNumber;
const int ClientIncidentReport_DownloadDetails::kDownloadFieldNumber;
const int ClientIncidentReport_DownloadDetails::kDownloadTimeMsecFieldNumber;
const int ClientIncidentReport_DownloadDetails::kOpenTimeMsecFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_DownloadDetails::ClientIncidentReport_DownloadDetails()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.DownloadDetails)
}
ClientIncidentReport_DownloadDetails::ClientIncidentReport_DownloadDetails(const ClientIncidentReport_DownloadDetails& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_token()) {
    token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
  }
  if (from.has_download()) {
    download_ = new ::safe_browsing::ClientDownloadRequest(*from.download_);
  } else {
    download_ = NULL;
  }
  ::memcpy(&download_time_msec_, &from.download_time_msec_,
    static_cast<size_t>(reinterpret_cast<char*>(&open_time_msec_) -
    reinterpret_cast<char*>(&download_time_msec_)) + sizeof(open_time_msec_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.DownloadDetails)
}

void ClientIncidentReport_DownloadDetails::SharedCtor() {
  _cached_size_ = 0;
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&download_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&open_time_msec_) -
      reinterpret_cast<char*>(&download_)) + sizeof(open_time_msec_));
}

ClientIncidentReport_DownloadDetails::~ClientIncidentReport_DownloadDetails() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.DownloadDetails)
  SharedDtor();
}

void ClientIncidentReport_DownloadDetails::SharedDtor() {
  token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete download_;
}

void ClientIncidentReport_DownloadDetails::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_DownloadDetails& ClientIncidentReport_DownloadDetails::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_DownloadDetails* ClientIncidentReport_DownloadDetails::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_DownloadDetails* n = new ClientIncidentReport_DownloadDetails;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_DownloadDetails::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.DownloadDetails)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*token_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(download_ != NULL);
      download_->::safe_browsing::ClientDownloadRequest::Clear();
    }
  }
  if (cached_has_bits & 12u) {
    ::memset(&download_time_msec_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&open_time_msec_) -
        reinterpret_cast<char*>(&download_time_msec_)) + sizeof(open_time_msec_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_DownloadDetails::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.DownloadDetails)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes token = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_token()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest download = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_download()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 download_time_msec = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_download_time_msec();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &download_time_msec_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 open_time_msec = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_open_time_msec();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &open_time_msec_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.DownloadDetails)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.DownloadDetails)
  return false;
#undef DO_
}

void ClientIncidentReport_DownloadDetails::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.DownloadDetails)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes token = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->token(), output);
  }

  // optional .safe_browsing.ClientDownloadRequest download = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->download_, output);
  }

  // optional int64 download_time_msec = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(3, this->download_time_msec(), output);
  }

  // optional int64 open_time_msec = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(4, this->open_time_msec(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.DownloadDetails)
}

size_t ClientIncidentReport_DownloadDetails::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.DownloadDetails)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional bytes token = 1;
    if (has_token()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->token());
    }

    // optional .safe_browsing.ClientDownloadRequest download = 2;
    if (has_download()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->download_);
    }

    // optional int64 download_time_msec = 3;
    if (has_download_time_msec()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->download_time_msec());
    }

    // optional int64 open_time_msec = 4;
    if (has_open_time_msec()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->open_time_msec());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_DownloadDetails::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_DownloadDetails*>(&from));
}

void ClientIncidentReport_DownloadDetails::MergeFrom(const ClientIncidentReport_DownloadDetails& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.DownloadDetails)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_token();
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_download()->::safe_browsing::ClientDownloadRequest::MergeFrom(from.download());
    }
    if (cached_has_bits & 0x00000004u) {
      download_time_msec_ = from.download_time_msec_;
    }
    if (cached_has_bits & 0x00000008u) {
      open_time_msec_ = from.open_time_msec_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_DownloadDetails::CopyFrom(const ClientIncidentReport_DownloadDetails& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.DownloadDetails)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_DownloadDetails::IsInitialized() const {
  if (has_download()) {
    if (!this->download_->IsInitialized()) return false;
  }
  return true;
}

void ClientIncidentReport_DownloadDetails::Swap(ClientIncidentReport_DownloadDetails* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_DownloadDetails::InternalSwap(ClientIncidentReport_DownloadDetails* other) {
  using std::swap;
  token_.Swap(&other->token_);
  swap(download_, other->download_);
  swap(download_time_msec_, other->download_time_msec_);
  swap(open_time_msec_, other->open_time_msec_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_DownloadDetails::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.DownloadDetails";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_DownloadDetails

// optional bytes token = 1;
bool ClientIncidentReport_DownloadDetails::has_token() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_DownloadDetails::set_has_token() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_DownloadDetails::clear_has_token() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_DownloadDetails::clear_token() {
  token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_token();
}
const ::std::string& ClientIncidentReport_DownloadDetails::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.token)
  return token_.GetNoArena();
}
void ClientIncidentReport_DownloadDetails::set_token(const ::std::string& value) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.DownloadDetails.token)
}
#if LANG_CXX11
void ClientIncidentReport_DownloadDetails::set_token(::std::string&& value) {
  set_has_token();
  token_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.DownloadDetails.token)
}
#endif
void ClientIncidentReport_DownloadDetails::set_token(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.DownloadDetails.token)
}
void ClientIncidentReport_DownloadDetails::set_token(const void* value, size_t size) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.DownloadDetails.token)
}
::std::string* ClientIncidentReport_DownloadDetails::mutable_token() {
  set_has_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.DownloadDetails.token)
  return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_DownloadDetails::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.DownloadDetails.token)
  clear_has_token();
  return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_DownloadDetails::set_allocated_token(::std::string* token) {
  if (token != NULL) {
    set_has_token();
  } else {
    clear_has_token();
  }
  token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.DownloadDetails.token)
}

// optional .safe_browsing.ClientDownloadRequest download = 2;
bool ClientIncidentReport_DownloadDetails::has_download() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_DownloadDetails::set_has_download() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_DownloadDetails::clear_has_download() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_DownloadDetails::clear_download() {
  if (download_ != NULL) download_->::safe_browsing::ClientDownloadRequest::Clear();
  clear_has_download();
}
const ::safe_browsing::ClientDownloadRequest& ClientIncidentReport_DownloadDetails::download() const {
  const ::safe_browsing::ClientDownloadRequest* p = download_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.download)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest*>(
      &::safe_browsing::_ClientDownloadRequest_default_instance_);
}
::safe_browsing::ClientDownloadRequest* ClientIncidentReport_DownloadDetails::mutable_download() {
  set_has_download();
  if (download_ == NULL) {
    download_ = new ::safe_browsing::ClientDownloadRequest;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.DownloadDetails.download)
  return download_;
}
::safe_browsing::ClientDownloadRequest* ClientIncidentReport_DownloadDetails::release_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.DownloadDetails.download)
  clear_has_download();
  ::safe_browsing::ClientDownloadRequest* temp = download_;
  download_ = NULL;
  return temp;
}
void ClientIncidentReport_DownloadDetails::set_allocated_download(::safe_browsing::ClientDownloadRequest* download) {
  delete download_;
  download_ = download;
  if (download) {
    set_has_download();
  } else {
    clear_has_download();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.DownloadDetails.download)
}

// optional int64 download_time_msec = 3;
bool ClientIncidentReport_DownloadDetails::has_download_time_msec() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_DownloadDetails::set_has_download_time_msec() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_DownloadDetails::clear_has_download_time_msec() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_DownloadDetails::clear_download_time_msec() {
  download_time_msec_ = GOOGLE_LONGLONG(0);
  clear_has_download_time_msec();
}
::google::protobuf::int64 ClientIncidentReport_DownloadDetails::download_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.download_time_msec)
  return download_time_msec_;
}
void ClientIncidentReport_DownloadDetails::set_download_time_msec(::google::protobuf::int64 value) {
  set_has_download_time_msec();
  download_time_msec_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.DownloadDetails.download_time_msec)
}

// optional int64 open_time_msec = 4;
bool ClientIncidentReport_DownloadDetails::has_open_time_msec() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_DownloadDetails::set_has_open_time_msec() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_DownloadDetails::clear_has_open_time_msec() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_DownloadDetails::clear_open_time_msec() {
  open_time_msec_ = GOOGLE_LONGLONG(0);
  clear_has_open_time_msec();
}
::google::protobuf::int64 ClientIncidentReport_DownloadDetails::open_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.DownloadDetails.open_time_msec)
  return open_time_msec_;
}
void ClientIncidentReport_DownloadDetails::set_open_time_msec(::google::protobuf::int64 value) {
  set_has_open_time_msec();
  open_time_msec_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.DownloadDetails.open_time_msec)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_OS_RegistryValue::kNameFieldNumber;
const int ClientIncidentReport_EnvironmentData_OS_RegistryValue::kTypeFieldNumber;
const int ClientIncidentReport_EnvironmentData_OS_RegistryValue::kDataFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_OS_RegistryValue::ClientIncidentReport_EnvironmentData_OS_RegistryValue()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
}
ClientIncidentReport_EnvironmentData_OS_RegistryValue::ClientIncidentReport_EnvironmentData_OS_RegistryValue(const ClientIncidentReport_EnvironmentData_OS_RegistryValue& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_name()) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_data()) {
    data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
  }
  type_ = from.type_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::SharedCtor() {
  _cached_size_ = 0;
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  type_ = 0u;
}

ClientIncidentReport_EnvironmentData_OS_RegistryValue::~ClientIncidentReport_EnvironmentData_OS_RegistryValue() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_OS_RegistryValue& ClientIncidentReport_EnvironmentData_OS_RegistryValue::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_OS_RegistryValue* ClientIncidentReport_EnvironmentData_OS_RegistryValue::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_OS_RegistryValue* n = new ClientIncidentReport_EnvironmentData_OS_RegistryValue;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*name_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!data_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*data_.UnsafeRawStringPointer())->clear();
    }
  }
  type_ = 0u;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 type = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_type();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &type_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes data = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // optional uint32 type = 2;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->type(), output);
  }

  // optional bytes data = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->data(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
}

size_t ClientIncidentReport_EnvironmentData_OS_RegistryValue::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional string name = 1;
    if (has_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }

    // optional bytes data = 3;
    if (has_data()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->data());
    }

    // optional uint32 type = 2;
    if (has_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_OS_RegistryValue*>(&from));
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::MergeFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryValue& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_name();
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_data();
      data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
    }
    if (cached_has_bits & 0x00000004u) {
      type_ = from.type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::CopyFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryValue& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_OS_RegistryValue::Swap(ClientIncidentReport_EnvironmentData_OS_RegistryValue* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::InternalSwap(ClientIncidentReport_EnvironmentData_OS_RegistryValue* other) {
  using std::swap;
  name_.Swap(&other->name_);
  data_.Swap(&other->data_);
  swap(type_, other->type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_OS_RegistryValue::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_OS_RegistryValue

// optional string name = 1;
bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
const ::std::string& ClientIncidentReport_EnvironmentData_OS_RegistryValue::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
  return name_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
}
#endif
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
}
::std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.name)
}

// optional uint32 type = 2;
bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::has_type() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_has_type() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_has_type() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_type() {
  type_ = 0u;
  clear_has_type();
}
::google::protobuf::uint32 ClientIncidentReport_EnvironmentData_OS_RegistryValue::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.type)
  return type_;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_type(::google::protobuf::uint32 value) {
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.type)
}

// optional bytes data = 3;
bool ClientIncidentReport_EnvironmentData_OS_RegistryValue::has_data() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_has_data() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_has_data() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::clear_data() {
  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_data();
}
const ::std::string& ClientIncidentReport_EnvironmentData_OS_RegistryValue::data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
  return data_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_data(const ::std::string& value) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_data(::std::string&& value) {
  set_has_data();
  data_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
}
#endif
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_data(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_data(const void* value, size_t size) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
}
::std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::mutable_data() {
  set_has_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
  return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_OS_RegistryValue::release_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
  clear_has_data();
  return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_OS_RegistryValue::set_allocated_data(::std::string* data) {
  if (data != NULL) {
    set_has_data();
  } else {
    clear_has_data();
  }
  data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue.data)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_OS_RegistryKey::kNameFieldNumber;
const int ClientIncidentReport_EnvironmentData_OS_RegistryKey::kValueFieldNumber;
const int ClientIncidentReport_EnvironmentData_OS_RegistryKey::kKeyFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_OS_RegistryKey::ClientIncidentReport_EnvironmentData_OS_RegistryKey()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
}
ClientIncidentReport_EnvironmentData_OS_RegistryKey::ClientIncidentReport_EnvironmentData_OS_RegistryKey(const ClientIncidentReport_EnvironmentData_OS_RegistryKey& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      value_(from.value_),
      key_(from.key_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_name()) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::SharedCtor() {
  _cached_size_ = 0;
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientIncidentReport_EnvironmentData_OS_RegistryKey::~ClientIncidentReport_EnvironmentData_OS_RegistryKey() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_OS_RegistryKey& ClientIncidentReport_EnvironmentData_OS_RegistryKey::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS_RegistryKey::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_OS_RegistryKey* n = new ClientIncidentReport_EnvironmentData_OS_RegistryKey;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  value_.Clear();
  key_.Clear();
  if (has_name()) {
    GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*name_.UnsafeRawStringPointer())->clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_OS_RegistryKey::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue value = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_value()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey key = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_key()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue value = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->value_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, this->value(static_cast<int>(i)), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey key = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->key_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, this->key(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
}

size_t ClientIncidentReport_EnvironmentData_OS_RegistryKey::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue value = 2;
  {
    unsigned int count = static_cast<unsigned int>(this->value_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->value(static_cast<int>(i)));
    }
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey key = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->key_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->key(static_cast<int>(i)));
    }
  }

  // optional string name = 1;
  if (has_name()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->name());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_OS_RegistryKey*>(&from));
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::MergeFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryKey& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  value_.MergeFrom(from.value_);
  key_.MergeFrom(from.key_);
  if (from.has_name()) {
    set_has_name();
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::CopyFrom(const ClientIncidentReport_EnvironmentData_OS_RegistryKey& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_OS_RegistryKey::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_OS_RegistryKey::Swap(ClientIncidentReport_EnvironmentData_OS_RegistryKey* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::InternalSwap(ClientIncidentReport_EnvironmentData_OS_RegistryKey* other) {
  using std::swap;
  value_.InternalSwap(&other->value_);
  key_.InternalSwap(&other->key_);
  name_.Swap(&other->name_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_OS_RegistryKey::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_OS_RegistryKey

// optional string name = 1;
bool ClientIncidentReport_EnvironmentData_OS_RegistryKey::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
const ::std::string& ClientIncidentReport_EnvironmentData_OS_RegistryKey::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
  return name_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
}
#endif
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
}
::std::string* ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_OS_RegistryKey::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.name)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryValue value = 2;
int ClientIncidentReport_EnvironmentData_OS_RegistryKey::value_size() const {
  return value_.size();
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::clear_value() {
  value_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue& ClientIncidentReport_EnvironmentData_OS_RegistryKey::value(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return value_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_value(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return value_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue* ClientIncidentReport_EnvironmentData_OS_RegistryKey::add_value() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return value_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue >*
ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_value() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return &value_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryValue >&
ClientIncidentReport_EnvironmentData_OS_RegistryKey::value() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.value)
  return value_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey key = 3;
int ClientIncidentReport_EnvironmentData_OS_RegistryKey::key_size() const {
  return key_.size();
}
void ClientIncidentReport_EnvironmentData_OS_RegistryKey::clear_key() {
  key_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& ClientIncidentReport_EnvironmentData_OS_RegistryKey::key(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return key_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_key(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return key_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS_RegistryKey::add_key() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return key_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >*
ClientIncidentReport_EnvironmentData_OS_RegistryKey::mutable_key() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return &key_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >&
ClientIncidentReport_EnvironmentData_OS_RegistryKey::key() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey.key)
  return key_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_OS::kOsNameFieldNumber;
const int ClientIncidentReport_EnvironmentData_OS::kOsVersionFieldNumber;
const int ClientIncidentReport_EnvironmentData_OS::kRegistryKeyFieldNumber;
const int ClientIncidentReport_EnvironmentData_OS::kIsEnrolledToDomainFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_OS::ClientIncidentReport_EnvironmentData_OS()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
}
ClientIncidentReport_EnvironmentData_OS::ClientIncidentReport_EnvironmentData_OS(const ClientIncidentReport_EnvironmentData_OS& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      registry_key_(from.registry_key_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  os_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_os_name()) {
    os_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.os_name_);
  }
  os_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_os_version()) {
    os_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.os_version_);
  }
  is_enrolled_to_domain_ = from.is_enrolled_to_domain_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
}

void ClientIncidentReport_EnvironmentData_OS::SharedCtor() {
  _cached_size_ = 0;
  os_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  os_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  is_enrolled_to_domain_ = false;
}

ClientIncidentReport_EnvironmentData_OS::~ClientIncidentReport_EnvironmentData_OS() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_OS::SharedDtor() {
  os_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  os_version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_OS::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_OS& ClientIncidentReport_EnvironmentData_OS::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_OS* ClientIncidentReport_EnvironmentData_OS::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_OS* n = new ClientIncidentReport_EnvironmentData_OS;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_OS::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  registry_key_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!os_name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*os_name_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!os_version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*os_version_.UnsafeRawStringPointer())->clear();
    }
  }
  is_enrolled_to_domain_ = false;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_OS::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string os_name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_os_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string os_version = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_os_version()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey registry_key = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_registry_key()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool is_enrolled_to_domain = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_is_enrolled_to_domain();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_enrolled_to_domain_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_OS::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string os_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->os_name(), output);
  }

  // optional string os_version = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->os_version(), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey registry_key = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->registry_key_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, this->registry_key(static_cast<int>(i)), output);
  }

  // optional bool is_enrolled_to_domain = 4;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->is_enrolled_to_domain(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
}

size_t ClientIncidentReport_EnvironmentData_OS::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey registry_key = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->registry_key_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->registry_key(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 7u) {
    // optional string os_name = 1;
    if (has_os_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->os_name());
    }

    // optional string os_version = 2;
    if (has_os_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->os_version());
    }

    // optional bool is_enrolled_to_domain = 4;
    if (has_is_enrolled_to_domain()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_OS::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_OS*>(&from));
}

void ClientIncidentReport_EnvironmentData_OS::MergeFrom(const ClientIncidentReport_EnvironmentData_OS& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  registry_key_.MergeFrom(from.registry_key_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_os_name();
      os_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.os_name_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_os_version();
      os_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.os_version_);
    }
    if (cached_has_bits & 0x00000004u) {
      is_enrolled_to_domain_ = from.is_enrolled_to_domain_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_EnvironmentData_OS::CopyFrom(const ClientIncidentReport_EnvironmentData_OS& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.OS)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_OS::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_OS::Swap(ClientIncidentReport_EnvironmentData_OS* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_OS::InternalSwap(ClientIncidentReport_EnvironmentData_OS* other) {
  using std::swap;
  registry_key_.InternalSwap(&other->registry_key_);
  os_name_.Swap(&other->os_name_);
  os_version_.Swap(&other->os_version_);
  swap(is_enrolled_to_domain_, other->is_enrolled_to_domain_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_OS::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.OS";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_OS

// optional string os_name = 1;
bool ClientIncidentReport_EnvironmentData_OS::has_os_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_OS::set_has_os_name() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_OS::clear_has_os_name() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_OS::clear_os_name() {
  os_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_os_name();
}
const ::std::string& ClientIncidentReport_EnvironmentData_OS::os_name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
  return os_name_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_OS::set_os_name(const ::std::string& value) {
  set_has_os_name();
  os_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_OS::set_os_name(::std::string&& value) {
  set_has_os_name();
  os_name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
}
#endif
void ClientIncidentReport_EnvironmentData_OS::set_os_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_os_name();
  os_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
}
void ClientIncidentReport_EnvironmentData_OS::set_os_name(const char* value, size_t size) {
  set_has_os_name();
  os_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
}
::std::string* ClientIncidentReport_EnvironmentData_OS::mutable_os_name() {
  set_has_os_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
  return os_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_OS::release_os_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
  clear_has_os_name();
  return os_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_OS::set_allocated_os_name(::std::string* os_name) {
  if (os_name != NULL) {
    set_has_os_name();
  } else {
    clear_has_os_name();
  }
  os_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), os_name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_name)
}

// optional string os_version = 2;
bool ClientIncidentReport_EnvironmentData_OS::has_os_version() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_OS::set_has_os_version() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_OS::clear_has_os_version() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_OS::clear_os_version() {
  os_version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_os_version();
}
const ::std::string& ClientIncidentReport_EnvironmentData_OS::os_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
  return os_version_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_OS::set_os_version(const ::std::string& value) {
  set_has_os_version();
  os_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_OS::set_os_version(::std::string&& value) {
  set_has_os_version();
  os_version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
}
#endif
void ClientIncidentReport_EnvironmentData_OS::set_os_version(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_os_version();
  os_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
}
void ClientIncidentReport_EnvironmentData_OS::set_os_version(const char* value, size_t size) {
  set_has_os_version();
  os_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
}
::std::string* ClientIncidentReport_EnvironmentData_OS::mutable_os_version() {
  set_has_os_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
  return os_version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_OS::release_os_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
  clear_has_os_version();
  return os_version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_OS::set_allocated_os_version(::std::string* os_version) {
  if (os_version != NULL) {
    set_has_os_version();
  } else {
    clear_has_os_version();
  }
  os_version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), os_version);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.OS.os_version)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.OS.RegistryKey registry_key = 3;
int ClientIncidentReport_EnvironmentData_OS::registry_key_size() const {
  return registry_key_.size();
}
void ClientIncidentReport_EnvironmentData_OS::clear_registry_key() {
  registry_key_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey& ClientIncidentReport_EnvironmentData_OS::registry_key(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return registry_key_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS::mutable_registry_key(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return registry_key_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey* ClientIncidentReport_EnvironmentData_OS::add_registry_key() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return registry_key_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >*
ClientIncidentReport_EnvironmentData_OS::mutable_registry_key() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return &registry_key_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_OS_RegistryKey >&
ClientIncidentReport_EnvironmentData_OS::registry_key() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.OS.registry_key)
  return registry_key_;
}

// optional bool is_enrolled_to_domain = 4;
bool ClientIncidentReport_EnvironmentData_OS::has_is_enrolled_to_domain() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_EnvironmentData_OS::set_has_is_enrolled_to_domain() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_EnvironmentData_OS::clear_has_is_enrolled_to_domain() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_EnvironmentData_OS::clear_is_enrolled_to_domain() {
  is_enrolled_to_domain_ = false;
  clear_has_is_enrolled_to_domain();
}
bool ClientIncidentReport_EnvironmentData_OS::is_enrolled_to_domain() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.OS.is_enrolled_to_domain)
  return is_enrolled_to_domain_;
}
void ClientIncidentReport_EnvironmentData_OS::set_is_enrolled_to_domain(bool value) {
  set_has_is_enrolled_to_domain();
  is_enrolled_to_domain_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.OS.is_enrolled_to_domain)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_Machine::kCpuArchitectureFieldNumber;
const int ClientIncidentReport_EnvironmentData_Machine::kCpuVendorFieldNumber;
const int ClientIncidentReport_EnvironmentData_Machine::kCpuidFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_Machine::ClientIncidentReport_EnvironmentData_Machine()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
}
ClientIncidentReport_EnvironmentData_Machine::ClientIncidentReport_EnvironmentData_Machine(const ClientIncidentReport_EnvironmentData_Machine& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  cpu_architecture_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_cpu_architecture()) {
    cpu_architecture_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cpu_architecture_);
  }
  cpu_vendor_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_cpu_vendor()) {
    cpu_vendor_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cpu_vendor_);
  }
  cpuid_ = from.cpuid_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
}

void ClientIncidentReport_EnvironmentData_Machine::SharedCtor() {
  _cached_size_ = 0;
  cpu_architecture_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  cpu_vendor_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  cpuid_ = 0u;
}

ClientIncidentReport_EnvironmentData_Machine::~ClientIncidentReport_EnvironmentData_Machine() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_Machine::SharedDtor() {
  cpu_architecture_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  cpu_vendor_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_Machine::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_Machine& ClientIncidentReport_EnvironmentData_Machine::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_Machine* ClientIncidentReport_EnvironmentData_Machine::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_Machine* n = new ClientIncidentReport_EnvironmentData_Machine;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_Machine::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!cpu_architecture_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*cpu_architecture_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!cpu_vendor_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*cpu_vendor_.UnsafeRawStringPointer())->clear();
    }
  }
  cpuid_ = 0u;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_Machine::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string cpu_architecture = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_cpu_architecture()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string cpu_vendor = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_cpu_vendor()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 cpuid = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_cpuid();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &cpuid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_Machine::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string cpu_architecture = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->cpu_architecture(), output);
  }

  // optional string cpu_vendor = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->cpu_vendor(), output);
  }

  // optional uint32 cpuid = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->cpuid(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
}

size_t ClientIncidentReport_EnvironmentData_Machine::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional string cpu_architecture = 1;
    if (has_cpu_architecture()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->cpu_architecture());
    }

    // optional string cpu_vendor = 2;
    if (has_cpu_vendor()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->cpu_vendor());
    }

    // optional uint32 cpuid = 3;
    if (has_cpuid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->cpuid());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_Machine::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_Machine*>(&from));
}

void ClientIncidentReport_EnvironmentData_Machine::MergeFrom(const ClientIncidentReport_EnvironmentData_Machine& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_cpu_architecture();
      cpu_architecture_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cpu_architecture_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_cpu_vendor();
      cpu_vendor_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.cpu_vendor_);
    }
    if (cached_has_bits & 0x00000004u) {
      cpuid_ = from.cpuid_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_EnvironmentData_Machine::CopyFrom(const ClientIncidentReport_EnvironmentData_Machine& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Machine)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_Machine::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_Machine::Swap(ClientIncidentReport_EnvironmentData_Machine* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_Machine::InternalSwap(ClientIncidentReport_EnvironmentData_Machine* other) {
  using std::swap;
  cpu_architecture_.Swap(&other->cpu_architecture_);
  cpu_vendor_.Swap(&other->cpu_vendor_);
  swap(cpuid_, other->cpuid_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_Machine::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.Machine";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_Machine

// optional string cpu_architecture = 1;
bool ClientIncidentReport_EnvironmentData_Machine::has_cpu_architecture() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_Machine::set_has_cpu_architecture() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Machine::clear_has_cpu_architecture() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Machine::clear_cpu_architecture() {
  cpu_architecture_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_cpu_architecture();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Machine::cpu_architecture() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
  return cpu_architecture_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_architecture(const ::std::string& value) {
  set_has_cpu_architecture();
  cpu_architecture_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_architecture(::std::string&& value) {
  set_has_cpu_architecture();
  cpu_architecture_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
}
#endif
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_architecture(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_cpu_architecture();
  cpu_architecture_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
}
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_architecture(const char* value, size_t size) {
  set_has_cpu_architecture();
  cpu_architecture_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
}
::std::string* ClientIncidentReport_EnvironmentData_Machine::mutable_cpu_architecture() {
  set_has_cpu_architecture();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
  return cpu_architecture_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Machine::release_cpu_architecture() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
  clear_has_cpu_architecture();
  return cpu_architecture_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Machine::set_allocated_cpu_architecture(::std::string* cpu_architecture) {
  if (cpu_architecture != NULL) {
    set_has_cpu_architecture();
  } else {
    clear_has_cpu_architecture();
  }
  cpu_architecture_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cpu_architecture);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_architecture)
}

// optional string cpu_vendor = 2;
bool ClientIncidentReport_EnvironmentData_Machine::has_cpu_vendor() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_Machine::set_has_cpu_vendor() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Machine::clear_has_cpu_vendor() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Machine::clear_cpu_vendor() {
  cpu_vendor_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_cpu_vendor();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Machine::cpu_vendor() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
  return cpu_vendor_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_vendor(const ::std::string& value) {
  set_has_cpu_vendor();
  cpu_vendor_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_vendor(::std::string&& value) {
  set_has_cpu_vendor();
  cpu_vendor_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
}
#endif
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_vendor(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_cpu_vendor();
  cpu_vendor_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
}
void ClientIncidentReport_EnvironmentData_Machine::set_cpu_vendor(const char* value, size_t size) {
  set_has_cpu_vendor();
  cpu_vendor_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
}
::std::string* ClientIncidentReport_EnvironmentData_Machine::mutable_cpu_vendor() {
  set_has_cpu_vendor();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
  return cpu_vendor_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Machine::release_cpu_vendor() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
  clear_has_cpu_vendor();
  return cpu_vendor_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Machine::set_allocated_cpu_vendor(::std::string* cpu_vendor) {
  if (cpu_vendor != NULL) {
    set_has_cpu_vendor();
  } else {
    clear_has_cpu_vendor();
  }
  cpu_vendor_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), cpu_vendor);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpu_vendor)
}

// optional uint32 cpuid = 3;
bool ClientIncidentReport_EnvironmentData_Machine::has_cpuid() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_EnvironmentData_Machine::set_has_cpuid() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Machine::clear_has_cpuid() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Machine::clear_cpuid() {
  cpuid_ = 0u;
  clear_has_cpuid();
}
::google::protobuf::uint32 ClientIncidentReport_EnvironmentData_Machine::cpuid() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpuid)
  return cpuid_;
}
void ClientIncidentReport_EnvironmentData_Machine::set_cpuid(::google::protobuf::uint32 value) {
  set_has_cpuid();
  cpuid_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Machine.cpuid)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_Process_Patch::kFunctionFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_Patch::kTargetDllFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_Process_Patch::ClientIncidentReport_EnvironmentData_Process_Patch()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
}
ClientIncidentReport_EnvironmentData_Process_Patch::ClientIncidentReport_EnvironmentData_Process_Patch(const ClientIncidentReport_EnvironmentData_Process_Patch& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  function_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_function()) {
    function_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.function_);
  }
  target_dll_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_target_dll()) {
    target_dll_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.target_dll_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
}

void ClientIncidentReport_EnvironmentData_Process_Patch::SharedCtor() {
  _cached_size_ = 0;
  function_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  target_dll_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientIncidentReport_EnvironmentData_Process_Patch::~ClientIncidentReport_EnvironmentData_Process_Patch() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_Process_Patch::SharedDtor() {
  function_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  target_dll_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_Process_Patch::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_Process_Patch& ClientIncidentReport_EnvironmentData_Process_Patch::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_Process_Patch* ClientIncidentReport_EnvironmentData_Process_Patch::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_Process_Patch* n = new ClientIncidentReport_EnvironmentData_Process_Patch;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_Process_Patch::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!function_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*function_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!target_dll_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*target_dll_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_Process_Patch::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string function = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_function()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string target_dll = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_target_dll()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_Process_Patch::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string function = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->function(), output);
  }

  // optional string target_dll = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->target_dll(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
}

size_t ClientIncidentReport_EnvironmentData_Process_Patch::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional string function = 1;
    if (has_function()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->function());
    }

    // optional string target_dll = 2;
    if (has_target_dll()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->target_dll());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_Process_Patch::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_Process_Patch*>(&from));
}

void ClientIncidentReport_EnvironmentData_Process_Patch::MergeFrom(const ClientIncidentReport_EnvironmentData_Process_Patch& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_function();
      function_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.function_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_target_dll();
      target_dll_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.target_dll_);
    }
  }
}

void ClientIncidentReport_EnvironmentData_Process_Patch::CopyFrom(const ClientIncidentReport_EnvironmentData_Process_Patch& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_Process_Patch::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_Process_Patch::Swap(ClientIncidentReport_EnvironmentData_Process_Patch* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_Process_Patch::InternalSwap(ClientIncidentReport_EnvironmentData_Process_Patch* other) {
  using std::swap;
  function_.Swap(&other->function_);
  target_dll_.Swap(&other->target_dll_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_Process_Patch::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_Process_Patch

// optional string function = 1;
bool ClientIncidentReport_EnvironmentData_Process_Patch::has_function() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_has_function() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_Patch::clear_has_function() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_Patch::clear_function() {
  function_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_function();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process_Patch::function() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
  return function_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_function(const ::std::string& value) {
  set_has_function();
  function_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_Patch::set_function(::std::string&& value) {
  set_has_function();
  function_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
}
#endif
void ClientIncidentReport_EnvironmentData_Process_Patch::set_function(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_function();
  function_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_function(const char* value, size_t size) {
  set_has_function();
  function_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
}
::std::string* ClientIncidentReport_EnvironmentData_Process_Patch::mutable_function() {
  set_has_function();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
  return function_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Process_Patch::release_function() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
  clear_has_function();
  return function_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_allocated_function(::std::string* function) {
  if (function != NULL) {
    set_has_function();
  } else {
    clear_has_function();
  }
  function_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), function);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.function)
}

// optional string target_dll = 2;
bool ClientIncidentReport_EnvironmentData_Process_Patch::has_target_dll() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_has_target_dll() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_Patch::clear_has_target_dll() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_Patch::clear_target_dll() {
  target_dll_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_target_dll();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process_Patch::target_dll() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
  return target_dll_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_target_dll(const ::std::string& value) {
  set_has_target_dll();
  target_dll_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_Patch::set_target_dll(::std::string&& value) {
  set_has_target_dll();
  target_dll_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
}
#endif
void ClientIncidentReport_EnvironmentData_Process_Patch::set_target_dll(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_target_dll();
  target_dll_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_target_dll(const char* value, size_t size) {
  set_has_target_dll();
  target_dll_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
}
::std::string* ClientIncidentReport_EnvironmentData_Process_Patch::mutable_target_dll() {
  set_has_target_dll();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
  return target_dll_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Process_Patch::release_target_dll() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
  clear_has_target_dll();
  return target_dll_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Process_Patch::set_allocated_target_dll(::std::string* target_dll) {
  if (target_dll != NULL) {
    set_has_target_dll();
  } else {
    clear_has_target_dll();
  }
  target_dll_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), target_dll);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch.target_dll)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_Process_NetworkProvider::ClientIncidentReport_EnvironmentData_Process_NetworkProvider()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
}
ClientIncidentReport_EnvironmentData_Process_NetworkProvider::ClientIncidentReport_EnvironmentData_Process_NetworkProvider(const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::SharedCtor() {
  _cached_size_ = 0;
}

ClientIncidentReport_EnvironmentData_Process_NetworkProvider::~ClientIncidentReport_EnvironmentData_Process_NetworkProvider() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::SharedDtor() {
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& ClientIncidentReport_EnvironmentData_Process_NetworkProvider::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_Process_NetworkProvider* ClientIncidentReport_EnvironmentData_Process_NetworkProvider::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_Process_NetworkProvider* n = new ClientIncidentReport_EnvironmentData_Process_NetworkProvider;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_Process_NetworkProvider::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
  handle_unusual:
    if (tag == 0) {
      goto success;
    }
    DO_(::google::protobuf::internal::WireFormatLite::SkipField(
        input, tag, &unknown_fields_stream));
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
}

size_t ClientIncidentReport_EnvironmentData_Process_NetworkProvider::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_Process_NetworkProvider*>(&from));
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::MergeFrom(const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::CopyFrom(const ClientIncidentReport_EnvironmentData_Process_NetworkProvider& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_Process_NetworkProvider::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::Swap(ClientIncidentReport_EnvironmentData_Process_NetworkProvider* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_Process_NetworkProvider::InternalSwap(ClientIncidentReport_EnvironmentData_Process_NetworkProvider* other) {
  using std::swap;
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_Process_NetworkProvider::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_Process_NetworkProvider

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_Process_Dll::kPathFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_Dll::kBaseAddressFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_Dll::kLengthFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_Dll::kFeatureFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_Dll::kImageHeadersFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_Process_Dll::ClientIncidentReport_EnvironmentData_Process_Dll()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
}
ClientIncidentReport_EnvironmentData_Process_Dll::ClientIncidentReport_EnvironmentData_Process_Dll(const ClientIncidentReport_EnvironmentData_Process_Dll& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      feature_(from.feature_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_path()) {
    path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
  }
  if (from.has_image_headers()) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders(*from.image_headers_);
  } else {
    image_headers_ = NULL;
  }
  ::memcpy(&base_address_, &from.base_address_,
    static_cast<size_t>(reinterpret_cast<char*>(&length_) -
    reinterpret_cast<char*>(&base_address_)) + sizeof(length_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
}

void ClientIncidentReport_EnvironmentData_Process_Dll::SharedCtor() {
  _cached_size_ = 0;
  path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&image_headers_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&length_) -
      reinterpret_cast<char*>(&image_headers_)) + sizeof(length_));
}

ClientIncidentReport_EnvironmentData_Process_Dll::~ClientIncidentReport_EnvironmentData_Process_Dll() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_Process_Dll::SharedDtor() {
  path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete image_headers_;
}

void ClientIncidentReport_EnvironmentData_Process_Dll::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_Process_Dll& ClientIncidentReport_EnvironmentData_Process_Dll::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_Process_Dll* ClientIncidentReport_EnvironmentData_Process_Dll::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_Process_Dll* n = new ClientIncidentReport_EnvironmentData_Process_Dll;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_Process_Dll::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  feature_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*path_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(image_headers_ != NULL);
      image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
    }
  }
  if (cached_has_bits & 12u) {
    ::memset(&base_address_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&length_) -
        reinterpret_cast<char*>(&base_address_)) + sizeof(length_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_Process_Dll::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string path = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_path()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint64 base_address = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_base_address();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
                 input, &base_address_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional uint32 length = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_length();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &length_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.Feature feature = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(value)) {
            add_feature(static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature >(value));
          } else {
            unknown_fields_stream.WriteVarint32(tag);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns(
                 input,
                 4,
                 ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid,
                 &unknown_fields_stream,
                 this->mutable_feature())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_image_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_Process_Dll::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string path = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->path(), output);
  }

  // optional uint64 base_address = 2;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt64(2, this->base_address(), output);
  }

  // optional uint32 length = 3;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->length(), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.Feature feature = 4;
  for (int i = 0, n = this->feature_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->feature(i), output);
  }

  // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, *this->image_headers_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
}

size_t ClientIncidentReport_EnvironmentData_Process_Dll::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.Feature feature = 4;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->feature_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(
        this->feature(static_cast<int>(i)));
    }
    total_size += (1UL * count) + data_size;
  }

  if (_has_bits_[0 / 32] & 15u) {
    // optional string path = 1;
    if (has_path()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->path());
    }

    // optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
    if (has_image_headers()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->image_headers_);
    }

    // optional uint64 base_address = 2;
    if (has_base_address()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt64Size(
          this->base_address());
    }

    // optional uint32 length = 3;
    if (has_length()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->length());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_Process_Dll::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_Process_Dll*>(&from));
}

void ClientIncidentReport_EnvironmentData_Process_Dll::MergeFrom(const ClientIncidentReport_EnvironmentData_Process_Dll& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  feature_.MergeFrom(from.feature_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_path();
      path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.path_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_image_headers()->::safe_browsing::ClientDownloadRequest_ImageHeaders::MergeFrom(from.image_headers());
    }
    if (cached_has_bits & 0x00000004u) {
      base_address_ = from.base_address_;
    }
    if (cached_has_bits & 0x00000008u) {
      length_ = from.length_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_EnvironmentData_Process_Dll::CopyFrom(const ClientIncidentReport_EnvironmentData_Process_Dll& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_Process_Dll::IsInitialized() const {
  if (has_image_headers()) {
    if (!this->image_headers_->IsInitialized()) return false;
  }
  return true;
}

void ClientIncidentReport_EnvironmentData_Process_Dll::Swap(ClientIncidentReport_EnvironmentData_Process_Dll* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_Process_Dll::InternalSwap(ClientIncidentReport_EnvironmentData_Process_Dll* other) {
  using std::swap;
  feature_.InternalSwap(&other->feature_);
  path_.Swap(&other->path_);
  swap(image_headers_, other->image_headers_);
  swap(base_address_, other->base_address_);
  swap(length_, other->length_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_Process_Dll::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_Process_Dll

// optional string path = 1;
bool ClientIncidentReport_EnvironmentData_Process_Dll::has_path() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_has_path() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_has_path() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_path() {
  path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_path();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process_Dll::path() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
  return path_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_path(const ::std::string& value) {
  set_has_path();
  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_Dll::set_path(::std::string&& value) {
  set_has_path();
  path_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
}
#endif
void ClientIncidentReport_EnvironmentData_Process_Dll::set_path(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_path();
  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_path(const char* value, size_t size) {
  set_has_path();
  path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
}
::std::string* ClientIncidentReport_EnvironmentData_Process_Dll::mutable_path() {
  set_has_path();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
  return path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Process_Dll::release_path() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
  clear_has_path();
  return path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_allocated_path(::std::string* path) {
  if (path != NULL) {
    set_has_path();
  } else {
    clear_has_path();
  }
  path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), path);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.path)
}

// optional uint64 base_address = 2;
bool ClientIncidentReport_EnvironmentData_Process_Dll::has_base_address() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_has_base_address() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_has_base_address() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_base_address() {
  base_address_ = GOOGLE_ULONGLONG(0);
  clear_has_base_address();
}
::google::protobuf::uint64 ClientIncidentReport_EnvironmentData_Process_Dll::base_address() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.base_address)
  return base_address_;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_base_address(::google::protobuf::uint64 value) {
  set_has_base_address();
  base_address_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.base_address)
}

// optional uint32 length = 3;
bool ClientIncidentReport_EnvironmentData_Process_Dll::has_length() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_has_length() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_has_length() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_length() {
  length_ = 0u;
  clear_has_length();
}
::google::protobuf::uint32 ClientIncidentReport_EnvironmentData_Process_Dll::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.length)
  return length_;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_length(::google::protobuf::uint32 value) {
  set_has_length();
  length_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.length)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.Feature feature = 4;
int ClientIncidentReport_EnvironmentData_Process_Dll::feature_size() const {
  return feature_.size();
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_feature() {
  feature_.Clear();
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature ClientIncidentReport_EnvironmentData_Process_Dll::feature(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
  return static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature >(feature_.Get(index));
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_feature(int index, ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(value));
  feature_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
}
void ClientIncidentReport_EnvironmentData_Process_Dll::add_feature(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll_Feature_IsValid(value));
  feature_.Add(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
}
const ::google::protobuf::RepeatedField<int>&
ClientIncidentReport_EnvironmentData_Process_Dll::feature() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
  return feature_;
}
::google::protobuf::RepeatedField<int>*
ClientIncidentReport_EnvironmentData_Process_Dll::mutable_feature() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.feature)
  return &feature_;
}

// optional .safe_browsing.ClientDownloadRequest.ImageHeaders image_headers = 5;
bool ClientIncidentReport_EnvironmentData_Process_Dll::has_image_headers() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_has_image_headers() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_has_image_headers() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::clear_image_headers() {
  if (image_headers_ != NULL) image_headers_->::safe_browsing::ClientDownloadRequest_ImageHeaders::Clear();
  clear_has_image_headers();
}
const ::safe_browsing::ClientDownloadRequest_ImageHeaders& ClientIncidentReport_EnvironmentData_Process_Dll::image_headers() const {
  const ::safe_browsing::ClientDownloadRequest_ImageHeaders* p = image_headers_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientDownloadRequest_ImageHeaders*>(
      &::safe_browsing::_ClientDownloadRequest_ImageHeaders_default_instance_);
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_EnvironmentData_Process_Dll::mutable_image_headers() {
  set_has_image_headers();
  if (image_headers_ == NULL) {
    image_headers_ = new ::safe_browsing::ClientDownloadRequest_ImageHeaders;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
  return image_headers_;
}
::safe_browsing::ClientDownloadRequest_ImageHeaders* ClientIncidentReport_EnvironmentData_Process_Dll::release_image_headers() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
  clear_has_image_headers();
  ::safe_browsing::ClientDownloadRequest_ImageHeaders* temp = image_headers_;
  image_headers_ = NULL;
  return temp;
}
void ClientIncidentReport_EnvironmentData_Process_Dll::set_allocated_image_headers(::safe_browsing::ClientDownloadRequest_ImageHeaders* image_headers) {
  delete image_headers_;
  image_headers_ = image_headers;
  if (image_headers) {
    set_has_image_headers();
  } else {
    clear_has_image_headers();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll.image_headers)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::kFileOffsetFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::kByteCountFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::kModifiedBytesFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::kExportNameFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
}
ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification(const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  modified_bytes_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_modified_bytes()) {
    modified_bytes_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.modified_bytes_);
  }
  export_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_export_name()) {
    export_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.export_name_);
  }
  ::memcpy(&file_offset_, &from.file_offset_,
    static_cast<size_t>(reinterpret_cast<char*>(&byte_count_) -
    reinterpret_cast<char*>(&file_offset_)) + sizeof(byte_count_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::SharedCtor() {
  _cached_size_ = 0;
  modified_bytes_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  export_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&file_offset_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&byte_count_) -
      reinterpret_cast<char*>(&file_offset_)) + sizeof(byte_count_));
}

ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::~ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::SharedDtor() {
  modified_bytes_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  export_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* n = new ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!modified_bytes_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*modified_bytes_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!export_name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*export_name_.UnsafeRawStringPointer())->clear();
    }
  }
  if (cached_has_bits & 12u) {
    ::memset(&file_offset_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&byte_count_) -
        reinterpret_cast<char*>(&file_offset_)) + sizeof(byte_count_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional uint32 file_offset = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_file_offset();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &file_offset_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 byte_count = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_byte_count();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &byte_count_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes modified_bytes = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_modified_bytes()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string export_name = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_export_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional uint32 file_offset = 1;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->file_offset(), output);
  }

  // optional int32 byte_count = 2;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->byte_count(), output);
  }

  // optional bytes modified_bytes = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->modified_bytes(), output);
  }

  // optional string export_name = 4;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->export_name(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
}

size_t ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional bytes modified_bytes = 3;
    if (has_modified_bytes()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->modified_bytes());
    }

    // optional string export_name = 4;
    if (has_export_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->export_name());
    }

    // optional uint32 file_offset = 1;
    if (has_file_offset()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->file_offset());
    }

    // optional int32 byte_count = 2;
    if (has_byte_count()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->byte_count());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification*>(&from));
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::MergeFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_modified_bytes();
      modified_bytes_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.modified_bytes_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_export_name();
      export_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.export_name_);
    }
    if (cached_has_bits & 0x00000004u) {
      file_offset_ = from.file_offset_;
    }
    if (cached_has_bits & 0x00000008u) {
      byte_count_ = from.byte_count_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::CopyFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::Swap(ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::InternalSwap(ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* other) {
  using std::swap;
  modified_bytes_.Swap(&other->modified_bytes_);
  export_name_.Swap(&other->export_name_);
  swap(file_offset_, other->file_offset_);
  swap(byte_count_, other->byte_count_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification

// optional uint32 file_offset = 1;
bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_file_offset() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_has_file_offset() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_has_file_offset() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_file_offset() {
  file_offset_ = 0u;
  clear_has_file_offset();
}
::google::protobuf::uint32 ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::file_offset() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.file_offset)
  return file_offset_;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_file_offset(::google::protobuf::uint32 value) {
  set_has_file_offset();
  file_offset_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.file_offset)
}

// optional int32 byte_count = 2;
bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_byte_count() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_has_byte_count() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_has_byte_count() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_byte_count() {
  byte_count_ = 0;
  clear_has_byte_count();
}
::google::protobuf::int32 ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::byte_count() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.byte_count)
  return byte_count_;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_byte_count(::google::protobuf::int32 value) {
  set_has_byte_count();
  byte_count_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.byte_count)
}

// optional bytes modified_bytes = 3;
bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_modified_bytes() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_has_modified_bytes() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_has_modified_bytes() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_modified_bytes() {
  modified_bytes_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_modified_bytes();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::modified_bytes() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
  return modified_bytes_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_modified_bytes(const ::std::string& value) {
  set_has_modified_bytes();
  modified_bytes_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_modified_bytes(::std::string&& value) {
  set_has_modified_bytes();
  modified_bytes_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
}
#endif
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_modified_bytes(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_modified_bytes();
  modified_bytes_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_modified_bytes(const void* value, size_t size) {
  set_has_modified_bytes();
  modified_bytes_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::mutable_modified_bytes() {
  set_has_modified_bytes();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
  return modified_bytes_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::release_modified_bytes() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
  clear_has_modified_bytes();
  return modified_bytes_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_allocated_modified_bytes(::std::string* modified_bytes) {
  if (modified_bytes != NULL) {
    set_has_modified_bytes();
  } else {
    clear_has_modified_bytes();
  }
  modified_bytes_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), modified_bytes);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.modified_bytes)
}

// optional string export_name = 4;
bool ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::has_export_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_has_export_name() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_has_export_name() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::clear_export_name() {
  export_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_export_name();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::export_name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
  return export_name_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_export_name(const ::std::string& value) {
  set_has_export_name();
  export_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_export_name(::std::string&& value) {
  set_has_export_name();
  export_name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
}
#endif
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_export_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_export_name();
  export_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_export_name(const char* value, size_t size) {
  set_has_export_name();
  export_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::mutable_export_name() {
  set_has_export_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
  return export_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::release_export_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
  clear_has_export_name();
  return export_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification::set_allocated_export_name(::std::string* export_name) {
  if (export_name != NULL) {
    set_has_export_name();
  } else {
    clear_has_export_name();
  }
  export_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), export_name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification.export_name)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_Process_ModuleState::kNameFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_ModuleState::kModifiedStateFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_ModuleState::kOBSOLETEModifiedExportFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process_ModuleState::kModificationFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_Process_ModuleState::ClientIncidentReport_EnvironmentData_Process_ModuleState()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
}
ClientIncidentReport_EnvironmentData_Process_ModuleState::ClientIncidentReport_EnvironmentData_Process_ModuleState(const ClientIncidentReport_EnvironmentData_Process_ModuleState& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      obsolete_modified_export_(from.obsolete_modified_export_),
      modification_(from.modification_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_name()) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  modified_state_ = from.modified_state_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::SharedCtor() {
  _cached_size_ = 0;
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  modified_state_ = 0;
}

ClientIncidentReport_EnvironmentData_Process_ModuleState::~ClientIncidentReport_EnvironmentData_Process_ModuleState() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_Process_ModuleState& ClientIncidentReport_EnvironmentData_Process_ModuleState::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_Process_ModuleState* ClientIncidentReport_EnvironmentData_Process_ModuleState::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_Process_ModuleState* n = new ClientIncidentReport_EnvironmentData_Process_ModuleState;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  obsolete_modified_export_.Clear();
  modification_.Clear();
  if (has_name()) {
    GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*name_.UnsafeRawStringPointer())->clear();
  }
  modified_state_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_Process_ModuleState::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.ModifiedState modified_state = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_IsValid(value)) {
            set_modified_state(static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState >(value));
          } else {
            unknown_fields_stream.WriteVarint32(16u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string OBSOLETE_modified_export = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_obsolete_modified_export()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification modification = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_modification()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.ModifiedState modified_state = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->modified_state(), output);
  }

  // repeated string OBSOLETE_modified_export = 3;
  for (int i = 0, n = this->obsolete_modified_export_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      3, this->obsolete_modified_export(i), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification modification = 4;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->modification_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, this->modification(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
}

size_t ClientIncidentReport_EnvironmentData_Process_ModuleState::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated string OBSOLETE_modified_export = 3;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->obsolete_modified_export_size());
  for (int i = 0, n = this->obsolete_modified_export_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->obsolete_modified_export(i));
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification modification = 4;
  {
    unsigned int count = static_cast<unsigned int>(this->modification_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->modification(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 3u) {
    // optional string name = 1;
    if (has_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }

    // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.ModifiedState modified_state = 2;
    if (has_modified_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->modified_state());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_Process_ModuleState*>(&from));
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::MergeFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  obsolete_modified_export_.MergeFrom(from.obsolete_modified_export_);
  modification_.MergeFrom(from.modification_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_name();
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (cached_has_bits & 0x00000002u) {
      modified_state_ = from.modified_state_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::CopyFrom(const ClientIncidentReport_EnvironmentData_Process_ModuleState& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_Process_ModuleState::IsInitialized() const {
  return true;
}

void ClientIncidentReport_EnvironmentData_Process_ModuleState::Swap(ClientIncidentReport_EnvironmentData_Process_ModuleState* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::InternalSwap(ClientIncidentReport_EnvironmentData_Process_ModuleState* other) {
  using std::swap;
  obsolete_modified_export_.InternalSwap(&other->obsolete_modified_export_);
  modification_.InternalSwap(&other->modification_);
  name_.Swap(&other->name_);
  swap(modified_state_, other->modified_state_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_Process_ModuleState::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_Process_ModuleState

// optional string name = 1;
bool ClientIncidentReport_EnvironmentData_Process_ModuleState::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
  return name_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
}
#endif
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.name)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.ModifiedState modified_state = 2;
bool ClientIncidentReport_EnvironmentData_Process_ModuleState::has_modified_state() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_has_modified_state() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_has_modified_state() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_modified_state() {
  modified_state_ = 0;
  clear_has_modified_state();
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState ClientIncidentReport_EnvironmentData_Process_ModuleState::modified_state() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modified_state)
  return static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState >(modified_state_);
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_modified_state(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_ModifiedState_IsValid(value));
  set_has_modified_state();
  modified_state_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modified_state)
}

// repeated string OBSOLETE_modified_export = 3;
int ClientIncidentReport_EnvironmentData_Process_ModuleState::obsolete_modified_export_size() const {
  return obsolete_modified_export_.size();
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_obsolete_modified_export() {
  obsolete_modified_export_.Clear();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process_ModuleState::obsolete_modified_export(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return obsolete_modified_export_.Get(index);
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_obsolete_modified_export(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return obsolete_modified_export_.Mutable(index);
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  obsolete_modified_export_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  obsolete_modified_export_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  obsolete_modified_export_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::set_obsolete_modified_export(int index, const char* value, size_t size) {
  obsolete_modified_export_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
::std::string* ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return obsolete_modified_export_.Add();
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(const ::std::string& value) {
  obsolete_modified_export_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(::std::string&& value) {
  obsolete_modified_export_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
#endif
void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  obsolete_modified_export_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::add_obsolete_modified_export(const char* value, size_t size) {
  obsolete_modified_export_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientIncidentReport_EnvironmentData_Process_ModuleState::obsolete_modified_export() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return obsolete_modified_export_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_obsolete_modified_export() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.OBSOLETE_modified_export)
  return &obsolete_modified_export_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.Modification modification = 4;
int ClientIncidentReport_EnvironmentData_Process_ModuleState::modification_size() const {
  return modification_.size();
}
void ClientIncidentReport_EnvironmentData_Process_ModuleState::clear_modification() {
  modification_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification& ClientIncidentReport_EnvironmentData_Process_ModuleState::modification(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return modification_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_modification(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return modification_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification* ClientIncidentReport_EnvironmentData_Process_ModuleState::add_modification() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return modification_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification >*
ClientIncidentReport_EnvironmentData_Process_ModuleState::mutable_modification() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return &modification_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState_Modification >&
ClientIncidentReport_EnvironmentData_Process_ModuleState::modification() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState.modification)
  return modification_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData_Process::kVersionFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kOBSOLETEDllsFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kPatchesFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kNetworkProvidersFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kChromeUpdateChannelFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kUptimeMsecFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kMetricsConsentFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kOBSOLETEExtendedConsentFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kDllFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kBlacklistedDllFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kModuleStateFieldNumber;
const int ClientIncidentReport_EnvironmentData_Process::kOBSOLETEFieldTrialParticipantFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData_Process::ClientIncidentReport_EnvironmentData_Process()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
}
ClientIncidentReport_EnvironmentData_Process::ClientIncidentReport_EnvironmentData_Process(const ClientIncidentReport_EnvironmentData_Process& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      obsolete_dlls_(from.obsolete_dlls_),
      patches_(from.patches_),
      network_providers_(from.network_providers_),
      dll_(from.dll_),
      blacklisted_dll_(from.blacklisted_dll_),
      module_state_(from.module_state_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_version()) {
    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
  }
  ::memcpy(&uptime_msec_, &from.uptime_msec_,
    static_cast<size_t>(reinterpret_cast<char*>(&obsolete_field_trial_participant_) -
    reinterpret_cast<char*>(&uptime_msec_)) + sizeof(obsolete_field_trial_participant_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
}

void ClientIncidentReport_EnvironmentData_Process::SharedCtor() {
  _cached_size_ = 0;
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&uptime_msec_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&obsolete_field_trial_participant_) -
      reinterpret_cast<char*>(&uptime_msec_)) + sizeof(obsolete_field_trial_participant_));
}

ClientIncidentReport_EnvironmentData_Process::~ClientIncidentReport_EnvironmentData_Process() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData_Process::SharedDtor() {
  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_EnvironmentData_Process::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData_Process& ClientIncidentReport_EnvironmentData_Process::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData_Process* ClientIncidentReport_EnvironmentData_Process::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData_Process* n = new ClientIncidentReport_EnvironmentData_Process;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData_Process::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  obsolete_dlls_.Clear();
  patches_.Clear();
  network_providers_.Clear();
  dll_.Clear();
  blacklisted_dll_.Clear();
  module_state_.Clear();
  if (has_version()) {
    GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*version_.UnsafeRawStringPointer())->clear();
  }
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 62u) {
    ::memset(&uptime_msec_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&obsolete_field_trial_participant_) -
        reinterpret_cast<char*>(&uptime_msec_)) + sizeof(obsolete_field_trial_participant_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData_Process::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string version = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_version()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string OBSOLETE_dlls = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_obsolete_dlls()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch patches = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_patches()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider network_providers = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_network_providers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Channel chrome_update_channel = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel_IsValid(value)) {
            set_chrome_update_channel(static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel >(value));
          } else {
            unknown_fields_stream.WriteVarint32(40u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 uptime_msec = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          set_has_uptime_msec();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &uptime_msec_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool metrics_consent = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(56u /* 56 & 0xFF */)) {
          set_has_metrics_consent();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &metrics_consent_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool OBSOLETE_extended_consent = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) {
          set_has_obsolete_extended_consent();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &obsolete_extended_consent_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_dll()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string blacklisted_dll = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(82u /* 82 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_blacklisted_dll()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState module_state = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(90u /* 90 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_module_state()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool OBSOLETE_field_trial_participant = 12;
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(96u /* 96 & 0xFF */)) {
          set_has_obsolete_field_trial_participant();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &obsolete_field_trial_participant_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData_Process::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string version = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->version(), output);
  }

  // repeated string OBSOLETE_dlls = 2;
  for (int i = 0, n = this->obsolete_dlls_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      2, this->obsolete_dlls(i), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch patches = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->patches_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, this->patches(static_cast<int>(i)), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider network_providers = 4;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->network_providers_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, this->network_providers(static_cast<int>(i)), output);
  }

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Channel chrome_update_channel = 5;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      5, this->chrome_update_channel(), output);
  }

  // optional int64 uptime_msec = 6;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(6, this->uptime_msec(), output);
  }

  // optional bool metrics_consent = 7;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->metrics_consent(), output);
  }

  // optional bool OBSOLETE_extended_consent = 8;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->obsolete_extended_consent(), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->dll_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      9, this->dll(static_cast<int>(i)), output);
  }

  // repeated string blacklisted_dll = 10;
  for (int i = 0, n = this->blacklisted_dll_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      10, this->blacklisted_dll(i), output);
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState module_state = 11;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->module_state_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      11, this->module_state(static_cast<int>(i)), output);
  }

  // optional bool OBSOLETE_field_trial_participant = 12;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->obsolete_field_trial_participant(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
}

size_t ClientIncidentReport_EnvironmentData_Process::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated string OBSOLETE_dlls = 2;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->obsolete_dlls_size());
  for (int i = 0, n = this->obsolete_dlls_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->obsolete_dlls(i));
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch patches = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->patches_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->patches(static_cast<int>(i)));
    }
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider network_providers = 4;
  {
    unsigned int count = static_cast<unsigned int>(this->network_providers_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->network_providers(static_cast<int>(i)));
    }
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
  {
    unsigned int count = static_cast<unsigned int>(this->dll_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->dll(static_cast<int>(i)));
    }
  }

  // repeated string blacklisted_dll = 10;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->blacklisted_dll_size());
  for (int i = 0, n = this->blacklisted_dll_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->blacklisted_dll(i));
  }

  // repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState module_state = 11;
  {
    unsigned int count = static_cast<unsigned int>(this->module_state_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->module_state(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 63u) {
    // optional string version = 1;
    if (has_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->version());
    }

    // optional int64 uptime_msec = 6;
    if (has_uptime_msec()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->uptime_msec());
    }

    // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Channel chrome_update_channel = 5;
    if (has_chrome_update_channel()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->chrome_update_channel());
    }

    // optional bool metrics_consent = 7;
    if (has_metrics_consent()) {
      total_size += 1 + 1;
    }

    // optional bool OBSOLETE_extended_consent = 8;
    if (has_obsolete_extended_consent()) {
      total_size += 1 + 1;
    }

    // optional bool OBSOLETE_field_trial_participant = 12;
    if (has_obsolete_field_trial_participant()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData_Process::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData_Process*>(&from));
}

void ClientIncidentReport_EnvironmentData_Process::MergeFrom(const ClientIncidentReport_EnvironmentData_Process& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  obsolete_dlls_.MergeFrom(from.obsolete_dlls_);
  patches_.MergeFrom(from.patches_);
  network_providers_.MergeFrom(from.network_providers_);
  dll_.MergeFrom(from.dll_);
  blacklisted_dll_.MergeFrom(from.blacklisted_dll_);
  module_state_.MergeFrom(from.module_state_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_version();
      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
    }
    if (cached_has_bits & 0x00000002u) {
      uptime_msec_ = from.uptime_msec_;
    }
    if (cached_has_bits & 0x00000004u) {
      chrome_update_channel_ = from.chrome_update_channel_;
    }
    if (cached_has_bits & 0x00000008u) {
      metrics_consent_ = from.metrics_consent_;
    }
    if (cached_has_bits & 0x00000010u) {
      obsolete_extended_consent_ = from.obsolete_extended_consent_;
    }
    if (cached_has_bits & 0x00000020u) {
      obsolete_field_trial_participant_ = from.obsolete_field_trial_participant_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_EnvironmentData_Process::CopyFrom(const ClientIncidentReport_EnvironmentData_Process& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData.Process)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData_Process::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->dll())) return false;
  return true;
}

void ClientIncidentReport_EnvironmentData_Process::Swap(ClientIncidentReport_EnvironmentData_Process* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData_Process::InternalSwap(ClientIncidentReport_EnvironmentData_Process* other) {
  using std::swap;
  obsolete_dlls_.InternalSwap(&other->obsolete_dlls_);
  patches_.InternalSwap(&other->patches_);
  network_providers_.InternalSwap(&other->network_providers_);
  dll_.InternalSwap(&other->dll_);
  blacklisted_dll_.InternalSwap(&other->blacklisted_dll_);
  module_state_.InternalSwap(&other->module_state_);
  version_.Swap(&other->version_);
  swap(uptime_msec_, other->uptime_msec_);
  swap(chrome_update_channel_, other->chrome_update_channel_);
  swap(metrics_consent_, other->metrics_consent_);
  swap(obsolete_extended_consent_, other->obsolete_extended_consent_);
  swap(obsolete_field_trial_participant_, other->obsolete_field_trial_participant_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData_Process::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData.Process";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData_Process

// optional string version = 1;
bool ClientIncidentReport_EnvironmentData_Process::has_version() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process::set_has_version() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_has_version() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_version() {
  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_version();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
  return version_.GetNoArena();
}
void ClientIncidentReport_EnvironmentData_Process::set_version(const ::std::string& value) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process::set_version(::std::string&& value) {
  set_has_version();
  version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
}
#endif
void ClientIncidentReport_EnvironmentData_Process::set_version(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
}
void ClientIncidentReport_EnvironmentData_Process::set_version(const char* value, size_t size) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
}
::std::string* ClientIncidentReport_EnvironmentData_Process::mutable_version() {
  set_has_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_EnvironmentData_Process::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
  clear_has_version();
  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_EnvironmentData_Process::set_allocated_version(::std::string* version) {
  if (version != NULL) {
    set_has_version();
  } else {
    clear_has_version();
  }
  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.Process.version)
}

// repeated string OBSOLETE_dlls = 2;
int ClientIncidentReport_EnvironmentData_Process::obsolete_dlls_size() const {
  return obsolete_dlls_.size();
}
void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_dlls() {
  obsolete_dlls_.Clear();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process::obsolete_dlls(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return obsolete_dlls_.Get(index);
}
::std::string* ClientIncidentReport_EnvironmentData_Process::mutable_obsolete_dlls(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return obsolete_dlls_.Mutable(index);
}
void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  obsolete_dlls_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  obsolete_dlls_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  obsolete_dlls_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
void ClientIncidentReport_EnvironmentData_Process::set_obsolete_dlls(int index, const char* value, size_t size) {
  obsolete_dlls_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
::std::string* ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return obsolete_dlls_.Add();
}
void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(const ::std::string& value) {
  obsolete_dlls_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(::std::string&& value) {
  obsolete_dlls_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
#endif
void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  obsolete_dlls_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
void ClientIncidentReport_EnvironmentData_Process::add_obsolete_dlls(const char* value, size_t size) {
  obsolete_dlls_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientIncidentReport_EnvironmentData_Process::obsolete_dlls() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return obsolete_dlls_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientIncidentReport_EnvironmentData_Process::mutable_obsolete_dlls() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_dlls)
  return &obsolete_dlls_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Patch patches = 3;
int ClientIncidentReport_EnvironmentData_Process::patches_size() const {
  return patches_.size();
}
void ClientIncidentReport_EnvironmentData_Process::clear_patches() {
  patches_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch& ClientIncidentReport_EnvironmentData_Process::patches(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return patches_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* ClientIncidentReport_EnvironmentData_Process::mutable_patches(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return patches_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch* ClientIncidentReport_EnvironmentData_Process::add_patches() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return patches_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch >*
ClientIncidentReport_EnvironmentData_Process::mutable_patches() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return &patches_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Patch >&
ClientIncidentReport_EnvironmentData_Process::patches() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.patches)
  return patches_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.NetworkProvider network_providers = 4;
int ClientIncidentReport_EnvironmentData_Process::network_providers_size() const {
  return network_providers_.size();
}
void ClientIncidentReport_EnvironmentData_Process::clear_network_providers() {
  network_providers_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider& ClientIncidentReport_EnvironmentData_Process::network_providers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return network_providers_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* ClientIncidentReport_EnvironmentData_Process::mutable_network_providers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return network_providers_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider* ClientIncidentReport_EnvironmentData_Process::add_network_providers() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return network_providers_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider >*
ClientIncidentReport_EnvironmentData_Process::mutable_network_providers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return &network_providers_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_NetworkProvider >&
ClientIncidentReport_EnvironmentData_Process::network_providers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.network_providers)
  return network_providers_;
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Channel chrome_update_channel = 5;
bool ClientIncidentReport_EnvironmentData_Process::has_chrome_update_channel() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process::set_has_chrome_update_channel() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_has_chrome_update_channel() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_chrome_update_channel() {
  chrome_update_channel_ = 0;
  clear_has_chrome_update_channel();
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel ClientIncidentReport_EnvironmentData_Process::chrome_update_channel() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.chrome_update_channel)
  return static_cast< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel >(chrome_update_channel_);
}
void ClientIncidentReport_EnvironmentData_Process::set_chrome_update_channel(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel value) {
  assert(::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Channel_IsValid(value));
  set_has_chrome_update_channel();
  chrome_update_channel_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.chrome_update_channel)
}

// optional int64 uptime_msec = 6;
bool ClientIncidentReport_EnvironmentData_Process::has_uptime_msec() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process::set_has_uptime_msec() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_has_uptime_msec() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_uptime_msec() {
  uptime_msec_ = GOOGLE_LONGLONG(0);
  clear_has_uptime_msec();
}
::google::protobuf::int64 ClientIncidentReport_EnvironmentData_Process::uptime_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.uptime_msec)
  return uptime_msec_;
}
void ClientIncidentReport_EnvironmentData_Process::set_uptime_msec(::google::protobuf::int64 value) {
  set_has_uptime_msec();
  uptime_msec_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.uptime_msec)
}

// optional bool metrics_consent = 7;
bool ClientIncidentReport_EnvironmentData_Process::has_metrics_consent() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process::set_has_metrics_consent() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_has_metrics_consent() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_metrics_consent() {
  metrics_consent_ = false;
  clear_has_metrics_consent();
}
bool ClientIncidentReport_EnvironmentData_Process::metrics_consent() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.metrics_consent)
  return metrics_consent_;
}
void ClientIncidentReport_EnvironmentData_Process::set_metrics_consent(bool value) {
  set_has_metrics_consent();
  metrics_consent_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.metrics_consent)
}

// optional bool OBSOLETE_extended_consent = 8;
bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_extended_consent() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process::set_has_obsolete_extended_consent() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_has_obsolete_extended_consent() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_extended_consent() {
  obsolete_extended_consent_ = false;
  clear_has_obsolete_extended_consent();
}
bool ClientIncidentReport_EnvironmentData_Process::obsolete_extended_consent() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_extended_consent)
  return obsolete_extended_consent_;
}
void ClientIncidentReport_EnvironmentData_Process::set_obsolete_extended_consent(bool value) {
  set_has_obsolete_extended_consent();
  obsolete_extended_consent_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_extended_consent)
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.Dll dll = 9;
int ClientIncidentReport_EnvironmentData_Process::dll_size() const {
  return dll_.size();
}
void ClientIncidentReport_EnvironmentData_Process::clear_dll() {
  dll_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll& ClientIncidentReport_EnvironmentData_Process::dll(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return dll_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* ClientIncidentReport_EnvironmentData_Process::mutable_dll(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return dll_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll* ClientIncidentReport_EnvironmentData_Process::add_dll() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return dll_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll >*
ClientIncidentReport_EnvironmentData_Process::mutable_dll() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return &dll_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_Dll >&
ClientIncidentReport_EnvironmentData_Process::dll() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.dll)
  return dll_;
}

// repeated string blacklisted_dll = 10;
int ClientIncidentReport_EnvironmentData_Process::blacklisted_dll_size() const {
  return blacklisted_dll_.size();
}
void ClientIncidentReport_EnvironmentData_Process::clear_blacklisted_dll() {
  blacklisted_dll_.Clear();
}
const ::std::string& ClientIncidentReport_EnvironmentData_Process::blacklisted_dll(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return blacklisted_dll_.Get(index);
}
::std::string* ClientIncidentReport_EnvironmentData_Process::mutable_blacklisted_dll(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return blacklisted_dll_.Mutable(index);
}
void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  blacklisted_dll_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  blacklisted_dll_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  blacklisted_dll_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
void ClientIncidentReport_EnvironmentData_Process::set_blacklisted_dll(int index, const char* value, size_t size) {
  blacklisted_dll_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
::std::string* ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return blacklisted_dll_.Add();
}
void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(const ::std::string& value) {
  blacklisted_dll_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
#if LANG_CXX11
void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(::std::string&& value) {
  blacklisted_dll_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
#endif
void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  blacklisted_dll_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
void ClientIncidentReport_EnvironmentData_Process::add_blacklisted_dll(const char* value, size_t size) {
  blacklisted_dll_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientIncidentReport_EnvironmentData_Process::blacklisted_dll() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return blacklisted_dll_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientIncidentReport_EnvironmentData_Process::mutable_blacklisted_dll() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.blacklisted_dll)
  return &blacklisted_dll_;
}

// repeated .safe_browsing.ClientIncidentReport.EnvironmentData.Process.ModuleState module_state = 11;
int ClientIncidentReport_EnvironmentData_Process::module_state_size() const {
  return module_state_.size();
}
void ClientIncidentReport_EnvironmentData_Process::clear_module_state() {
  module_state_.Clear();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState& ClientIncidentReport_EnvironmentData_Process::module_state(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return module_state_.Get(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* ClientIncidentReport_EnvironmentData_Process::mutable_module_state(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return module_state_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState* ClientIncidentReport_EnvironmentData_Process::add_module_state() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return module_state_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState >*
ClientIncidentReport_EnvironmentData_Process::mutable_module_state() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return &module_state_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_EnvironmentData_Process_ModuleState >&
ClientIncidentReport_EnvironmentData_Process::module_state() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.EnvironmentData.Process.module_state)
  return module_state_;
}

// optional bool OBSOLETE_field_trial_participant = 12;
bool ClientIncidentReport_EnvironmentData_Process::has_obsolete_field_trial_participant() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ClientIncidentReport_EnvironmentData_Process::set_has_obsolete_field_trial_participant() {
  _has_bits_[0] |= 0x00000020u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_has_obsolete_field_trial_participant() {
  _has_bits_[0] &= ~0x00000020u;
}
void ClientIncidentReport_EnvironmentData_Process::clear_obsolete_field_trial_participant() {
  obsolete_field_trial_participant_ = false;
  clear_has_obsolete_field_trial_participant();
}
bool ClientIncidentReport_EnvironmentData_Process::obsolete_field_trial_participant() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_field_trial_participant)
  return obsolete_field_trial_participant_;
}
void ClientIncidentReport_EnvironmentData_Process::set_obsolete_field_trial_participant(bool value) {
  set_has_obsolete_field_trial_participant();
  obsolete_field_trial_participant_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.EnvironmentData.Process.OBSOLETE_field_trial_participant)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_EnvironmentData::kOsFieldNumber;
const int ClientIncidentReport_EnvironmentData::kMachineFieldNumber;
const int ClientIncidentReport_EnvironmentData::kProcessFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_EnvironmentData::ClientIncidentReport_EnvironmentData()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.EnvironmentData)
}
ClientIncidentReport_EnvironmentData::ClientIncidentReport_EnvironmentData(const ClientIncidentReport_EnvironmentData& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_os()) {
    os_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData_OS(*from.os_);
  } else {
    os_ = NULL;
  }
  if (from.has_machine()) {
    machine_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine(*from.machine_);
  } else {
    machine_ = NULL;
  }
  if (from.has_process()) {
    process_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData_Process(*from.process_);
  } else {
    process_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.EnvironmentData)
}

void ClientIncidentReport_EnvironmentData::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&os_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&process_) -
      reinterpret_cast<char*>(&os_)) + sizeof(process_));
}

ClientIncidentReport_EnvironmentData::~ClientIncidentReport_EnvironmentData() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.EnvironmentData)
  SharedDtor();
}

void ClientIncidentReport_EnvironmentData::SharedDtor() {
  if (this != internal_default_instance()) delete os_;
  if (this != internal_default_instance()) delete machine_;
  if (this != internal_default_instance()) delete process_;
}

void ClientIncidentReport_EnvironmentData::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_EnvironmentData& ClientIncidentReport_EnvironmentData::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_EnvironmentData* ClientIncidentReport_EnvironmentData::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_EnvironmentData* n = new ClientIncidentReport_EnvironmentData;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_EnvironmentData::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.EnvironmentData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(os_ != NULL);
      os_->::safe_browsing::ClientIncidentReport_EnvironmentData_OS::Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(machine_ != NULL);
      machine_->::safe_browsing::ClientIncidentReport_EnvironmentData_Machine::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(process_ != NULL);
      process_->::safe_browsing::ClientIncidentReport_EnvironmentData_Process::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_EnvironmentData::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.EnvironmentData)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientIncidentReport.EnvironmentData.OS os = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_os()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Machine machine = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_machine()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process process = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_process()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.EnvironmentData)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.EnvironmentData)
  return false;
#undef DO_
}

void ClientIncidentReport_EnvironmentData::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.EnvironmentData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.OS os = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, *this->os_, output);
  }

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Machine machine = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->machine_, output);
  }

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process process = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->process_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.EnvironmentData)
}

size_t ClientIncidentReport_EnvironmentData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.EnvironmentData)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional .safe_browsing.ClientIncidentReport.EnvironmentData.OS os = 1;
    if (has_os()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->os_);
    }

    // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Machine machine = 2;
    if (has_machine()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->machine_);
    }

    // optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process process = 3;
    if (has_process()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->process_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_EnvironmentData::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_EnvironmentData*>(&from));
}

void ClientIncidentReport_EnvironmentData::MergeFrom(const ClientIncidentReport_EnvironmentData& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.EnvironmentData)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_os()->::safe_browsing::ClientIncidentReport_EnvironmentData_OS::MergeFrom(from.os());
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_machine()->::safe_browsing::ClientIncidentReport_EnvironmentData_Machine::MergeFrom(from.machine());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_process()->::safe_browsing::ClientIncidentReport_EnvironmentData_Process::MergeFrom(from.process());
    }
  }
}

void ClientIncidentReport_EnvironmentData::CopyFrom(const ClientIncidentReport_EnvironmentData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.EnvironmentData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_EnvironmentData::IsInitialized() const {
  if (has_process()) {
    if (!this->process_->IsInitialized()) return false;
  }
  return true;
}

void ClientIncidentReport_EnvironmentData::Swap(ClientIncidentReport_EnvironmentData* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_EnvironmentData::InternalSwap(ClientIncidentReport_EnvironmentData* other) {
  using std::swap;
  swap(os_, other->os_);
  swap(machine_, other->machine_);
  swap(process_, other->process_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_EnvironmentData::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.EnvironmentData";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_EnvironmentData

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.OS os = 1;
bool ClientIncidentReport_EnvironmentData::has_os() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_EnvironmentData::set_has_os() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_EnvironmentData::clear_has_os() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_EnvironmentData::clear_os() {
  if (os_ != NULL) os_->::safe_browsing::ClientIncidentReport_EnvironmentData_OS::Clear();
  clear_has_os();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS& ClientIncidentReport_EnvironmentData::os() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* p = os_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.os)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData_OS*>(
      &::safe_browsing::_ClientIncidentReport_EnvironmentData_OS_default_instance_);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS* ClientIncidentReport_EnvironmentData::mutable_os() {
  set_has_os();
  if (os_ == NULL) {
    os_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData_OS;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.os)
  return os_;
}
::safe_browsing::ClientIncidentReport_EnvironmentData_OS* ClientIncidentReport_EnvironmentData::release_os() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.os)
  clear_has_os();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_OS* temp = os_;
  os_ = NULL;
  return temp;
}
void ClientIncidentReport_EnvironmentData::set_allocated_os(::safe_browsing::ClientIncidentReport_EnvironmentData_OS* os) {
  delete os_;
  os_ = os;
  if (os) {
    set_has_os();
  } else {
    clear_has_os();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.os)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Machine machine = 2;
bool ClientIncidentReport_EnvironmentData::has_machine() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_EnvironmentData::set_has_machine() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_EnvironmentData::clear_has_machine() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_EnvironmentData::clear_machine() {
  if (machine_ != NULL) machine_->::safe_browsing::ClientIncidentReport_EnvironmentData_Machine::Clear();
  clear_has_machine();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine& ClientIncidentReport_EnvironmentData::machine() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* p = machine_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine*>(
      &::safe_browsing::_ClientIncidentReport_EnvironmentData_Machine_default_instance_);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* ClientIncidentReport_EnvironmentData::mutable_machine() {
  set_has_machine();
  if (machine_ == NULL) {
    machine_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
  return machine_;
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* ClientIncidentReport_EnvironmentData::release_machine() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
  clear_has_machine();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* temp = machine_;
  machine_ = NULL;
  return temp;
}
void ClientIncidentReport_EnvironmentData::set_allocated_machine(::safe_browsing::ClientIncidentReport_EnvironmentData_Machine* machine) {
  delete machine_;
  machine_ = machine;
  if (machine) {
    set_has_machine();
  } else {
    clear_has_machine();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.machine)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData.Process process = 3;
bool ClientIncidentReport_EnvironmentData::has_process() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_EnvironmentData::set_has_process() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_EnvironmentData::clear_has_process() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_EnvironmentData::clear_process() {
  if (process_ != NULL) process_->::safe_browsing::ClientIncidentReport_EnvironmentData_Process::Clear();
  clear_has_process();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process& ClientIncidentReport_EnvironmentData::process() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* p = process_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.EnvironmentData.process)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData_Process*>(
      &::safe_browsing::_ClientIncidentReport_EnvironmentData_Process_default_instance_);
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process* ClientIncidentReport_EnvironmentData::mutable_process() {
  set_has_process();
  if (process_ == NULL) {
    process_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData_Process;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.EnvironmentData.process)
  return process_;
}
::safe_browsing::ClientIncidentReport_EnvironmentData_Process* ClientIncidentReport_EnvironmentData::release_process() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.EnvironmentData.process)
  clear_has_process();
  ::safe_browsing::ClientIncidentReport_EnvironmentData_Process* temp = process_;
  process_ = NULL;
  return temp;
}
void ClientIncidentReport_EnvironmentData::set_allocated_process(::safe_browsing::ClientIncidentReport_EnvironmentData_Process* process) {
  delete process_;
  process_ = process;
  if (process) {
    set_has_process();
  } else {
    clear_has_process();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.EnvironmentData.process)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kIdFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kVersionFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kNameFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kDescriptionFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kStateFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kTypeFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kUpdateUrlFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kHasSignatureValidationFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kSignatureIsValidFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kInstalledByCustodianFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kInstalledByDefaultFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kInstalledByOemFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kFromBookmarkFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kFromWebstoreFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kConvertedFromUserScriptFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kMayBeUntrustedFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kInstallTimeMsecFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kManifestLocationTypeFieldNumber;
const int ClientIncidentReport_ExtensionData_ExtensionInfo::kManifestFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_ExtensionData_ExtensionInfo::ClientIncidentReport_ExtensionData_ExtensionInfo()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
}
ClientIncidentReport_ExtensionData_ExtensionInfo::ClientIncidentReport_ExtensionData_ExtensionInfo(const ClientIncidentReport_ExtensionData_ExtensionInfo& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_id()) {
    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_version()) {
    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
  }
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_name()) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_description()) {
    description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_);
  }
  update_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_update_url()) {
    update_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.update_url_);
  }
  manifest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_manifest()) {
    manifest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.manifest_);
  }
  ::memcpy(&state_, &from.state_,
    static_cast<size_t>(reinterpret_cast<char*>(&manifest_location_type_) -
    reinterpret_cast<char*>(&state_)) + sizeof(manifest_location_type_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::SharedCtor() {
  _cached_size_ = 0;
  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  description_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  update_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  manifest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&state_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&manifest_location_type_) -
      reinterpret_cast<char*>(&state_)) + sizeof(manifest_location_type_));
}

ClientIncidentReport_ExtensionData_ExtensionInfo::~ClientIncidentReport_ExtensionData_ExtensionInfo() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  SharedDtor();
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::SharedDtor() {
  id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  description_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  update_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  manifest_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_ExtensionData_ExtensionInfo& ClientIncidentReport_ExtensionData_ExtensionInfo::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_ExtensionData_ExtensionInfo* ClientIncidentReport_ExtensionData_ExtensionInfo::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_ExtensionData_ExtensionInfo* n = new ClientIncidentReport_ExtensionData_ExtensionInfo;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!id_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*id_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*version_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*name_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(!description_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*description_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(!update_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*update_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000020u) {
      GOOGLE_DCHECK(!manifest_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*manifest_.UnsafeRawStringPointer())->clear();
    }
  }
  if (cached_has_bits & 192u) {
    ::memset(&state_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&type_) -
        reinterpret_cast<char*>(&state_)) + sizeof(type_));
  }
  if (cached_has_bits & 65280u) {
    ::memset(&has_signature_validation_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&converted_from_user_script_) -
        reinterpret_cast<char*>(&has_signature_validation_)) + sizeof(converted_from_user_script_));
  }
  if (cached_has_bits & 458752u) {
    ::memset(&install_time_msec_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&manifest_location_type_) -
        reinterpret_cast<char*>(&install_time_msec_)) + sizeof(manifest_location_type_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_ExtensionData_ExtensionInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_id()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string version = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_version()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string name = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string description = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_description()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.ExtensionState state = 5 [default = STATE_UNKNOWN];
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_IsValid(value)) {
            set_state(static_cast< ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState >(value));
          } else {
            unknown_fields_stream.WriteVarint32(40u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 type = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          set_has_type();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &type_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string update_url = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_update_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool has_signature_validation = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) {
          set_has_has_signature_validation();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &has_signature_validation_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool signature_is_valid = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(72u /* 72 & 0xFF */)) {
          set_has_signature_is_valid();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &signature_is_valid_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool installed_by_custodian = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(80u /* 80 & 0xFF */)) {
          set_has_installed_by_custodian();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &installed_by_custodian_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool installed_by_default = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(88u /* 88 & 0xFF */)) {
          set_has_installed_by_default();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &installed_by_default_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool installed_by_oem = 12;
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(96u /* 96 & 0xFF */)) {
          set_has_installed_by_oem();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &installed_by_oem_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool from_bookmark = 13;
      case 13: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(104u /* 104 & 0xFF */)) {
          set_has_from_bookmark();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &from_bookmark_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool from_webstore = 14;
      case 14: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(112u /* 112 & 0xFF */)) {
          set_has_from_webstore();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &from_webstore_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool converted_from_user_script = 15;
      case 15: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(120u /* 120 & 0xFF */)) {
          set_has_converted_from_user_script();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &converted_from_user_script_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool may_be_untrusted = 16;
      case 16: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(128u /* 128 & 0xFF */)) {
          set_has_may_be_untrusted();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &may_be_untrusted_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 install_time_msec = 17;
      case 17: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(136u /* 136 & 0xFF */)) {
          set_has_install_time_msec();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &install_time_msec_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 manifest_location_type = 18;
      case 18: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(144u /* 144 & 0xFF */)) {
          set_has_manifest_location_type();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &manifest_location_type_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string manifest = 19;
      case 19: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(154u /* 154 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_manifest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  return false;
#undef DO_
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string id = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->id(), output);
  }

  // optional string version = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->version(), output);
  }

  // optional string name = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->name(), output);
  }

  // optional string description = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->description(), output);
  }

  // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.ExtensionState state = 5 [default = STATE_UNKNOWN];
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      5, this->state(), output);
  }

  // optional int32 type = 6;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->type(), output);
  }

  // optional string update_url = 7;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      7, this->update_url(), output);
  }

  // optional bool has_signature_validation = 8;
  if (cached_has_bits & 0x00000100u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->has_signature_validation(), output);
  }

  // optional bool signature_is_valid = 9;
  if (cached_has_bits & 0x00000200u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->signature_is_valid(), output);
  }

  // optional bool installed_by_custodian = 10;
  if (cached_has_bits & 0x00000400u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->installed_by_custodian(), output);
  }

  // optional bool installed_by_default = 11;
  if (cached_has_bits & 0x00000800u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(11, this->installed_by_default(), output);
  }

  // optional bool installed_by_oem = 12;
  if (cached_has_bits & 0x00001000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->installed_by_oem(), output);
  }

  // optional bool from_bookmark = 13;
  if (cached_has_bits & 0x00002000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(13, this->from_bookmark(), output);
  }

  // optional bool from_webstore = 14;
  if (cached_has_bits & 0x00004000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(14, this->from_webstore(), output);
  }

  // optional bool converted_from_user_script = 15;
  if (cached_has_bits & 0x00008000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(15, this->converted_from_user_script(), output);
  }

  // optional bool may_be_untrusted = 16;
  if (cached_has_bits & 0x00020000u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->may_be_untrusted(), output);
  }

  // optional int64 install_time_msec = 17;
  if (cached_has_bits & 0x00010000u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(17, this->install_time_msec(), output);
  }

  // optional int32 manifest_location_type = 18;
  if (cached_has_bits & 0x00040000u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(18, this->manifest_location_type(), output);
  }

  // optional string manifest = 19;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      19, this->manifest(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
}

size_t ClientIncidentReport_ExtensionData_ExtensionInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 255u) {
    // optional string id = 1;
    if (has_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->id());
    }

    // optional string version = 2;
    if (has_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->version());
    }

    // optional string name = 3;
    if (has_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }

    // optional string description = 4;
    if (has_description()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->description());
    }

    // optional string update_url = 7;
    if (has_update_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->update_url());
    }

    // optional string manifest = 19;
    if (has_manifest()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->manifest());
    }

    // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.ExtensionState state = 5 [default = STATE_UNKNOWN];
    if (has_state()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->state());
    }

    // optional int32 type = 6;
    if (has_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->type());
    }

  }
  if (_has_bits_[8 / 32] & 65280u) {
    // optional bool has_signature_validation = 8;
    if (has_has_signature_validation()) {
      total_size += 1 + 1;
    }

    // optional bool signature_is_valid = 9;
    if (has_signature_is_valid()) {
      total_size += 1 + 1;
    }

    // optional bool installed_by_custodian = 10;
    if (has_installed_by_custodian()) {
      total_size += 1 + 1;
    }

    // optional bool installed_by_default = 11;
    if (has_installed_by_default()) {
      total_size += 1 + 1;
    }

    // optional bool installed_by_oem = 12;
    if (has_installed_by_oem()) {
      total_size += 1 + 1;
    }

    // optional bool from_bookmark = 13;
    if (has_from_bookmark()) {
      total_size += 1 + 1;
    }

    // optional bool from_webstore = 14;
    if (has_from_webstore()) {
      total_size += 1 + 1;
    }

    // optional bool converted_from_user_script = 15;
    if (has_converted_from_user_script()) {
      total_size += 1 + 1;
    }

  }
  if (_has_bits_[16 / 32] & 458752u) {
    // optional int64 install_time_msec = 17;
    if (has_install_time_msec()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->install_time_msec());
    }

    // optional bool may_be_untrusted = 16;
    if (has_may_be_untrusted()) {
      total_size += 2 + 1;
    }

    // optional int32 manifest_location_type = 18;
    if (has_manifest_location_type()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->manifest_location_type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_ExtensionData_ExtensionInfo*>(&from));
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::MergeFrom(const ClientIncidentReport_ExtensionData_ExtensionInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_id();
      id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_version();
      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_name();
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_description();
      description_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.description_);
    }
    if (cached_has_bits & 0x00000010u) {
      set_has_update_url();
      update_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.update_url_);
    }
    if (cached_has_bits & 0x00000020u) {
      set_has_manifest();
      manifest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.manifest_);
    }
    if (cached_has_bits & 0x00000040u) {
      state_ = from.state_;
    }
    if (cached_has_bits & 0x00000080u) {
      type_ = from.type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 65280u) {
    if (cached_has_bits & 0x00000100u) {
      has_signature_validation_ = from.has_signature_validation_;
    }
    if (cached_has_bits & 0x00000200u) {
      signature_is_valid_ = from.signature_is_valid_;
    }
    if (cached_has_bits & 0x00000400u) {
      installed_by_custodian_ = from.installed_by_custodian_;
    }
    if (cached_has_bits & 0x00000800u) {
      installed_by_default_ = from.installed_by_default_;
    }
    if (cached_has_bits & 0x00001000u) {
      installed_by_oem_ = from.installed_by_oem_;
    }
    if (cached_has_bits & 0x00002000u) {
      from_bookmark_ = from.from_bookmark_;
    }
    if (cached_has_bits & 0x00004000u) {
      from_webstore_ = from.from_webstore_;
    }
    if (cached_has_bits & 0x00008000u) {
      converted_from_user_script_ = from.converted_from_user_script_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 458752u) {
    if (cached_has_bits & 0x00010000u) {
      install_time_msec_ = from.install_time_msec_;
    }
    if (cached_has_bits & 0x00020000u) {
      may_be_untrusted_ = from.may_be_untrusted_;
    }
    if (cached_has_bits & 0x00040000u) {
      manifest_location_type_ = from.manifest_location_type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::CopyFrom(const ClientIncidentReport_ExtensionData_ExtensionInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_ExtensionData_ExtensionInfo::IsInitialized() const {
  return true;
}

void ClientIncidentReport_ExtensionData_ExtensionInfo::Swap(ClientIncidentReport_ExtensionData_ExtensionInfo* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::InternalSwap(ClientIncidentReport_ExtensionData_ExtensionInfo* other) {
  using std::swap;
  id_.Swap(&other->id_);
  version_.Swap(&other->version_);
  name_.Swap(&other->name_);
  description_.Swap(&other->description_);
  update_url_.Swap(&other->update_url_);
  manifest_.Swap(&other->manifest_);
  swap(state_, other->state_);
  swap(type_, other->type_);
  swap(has_signature_validation_, other->has_signature_validation_);
  swap(signature_is_valid_, other->signature_is_valid_);
  swap(installed_by_custodian_, other->installed_by_custodian_);
  swap(installed_by_default_, other->installed_by_default_);
  swap(installed_by_oem_, other->installed_by_oem_);
  swap(from_bookmark_, other->from_bookmark_);
  swap(from_webstore_, other->from_webstore_);
  swap(converted_from_user_script_, other->converted_from_user_script_);
  swap(install_time_msec_, other->install_time_msec_);
  swap(may_be_untrusted_, other->may_be_untrusted_);
  swap(manifest_location_type_, other->manifest_location_type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_ExtensionData_ExtensionInfo::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_ExtensionData_ExtensionInfo

// optional string id = 1;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_id() {
  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_id();
}
const ::std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
  return id_.GetNoArena();
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_id(const ::std::string& value) {
  set_has_id();
  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
}
#if LANG_CXX11
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_id(::std::string&& value) {
  set_has_id();
  id_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
}
#endif
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_id(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_id();
  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_id(const char* value, size_t size) {
  set_has_id();
  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_id() {
  set_has_id();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
  return id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_id() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
  clear_has_id();
  return id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_id(::std::string* id) {
  if (id != NULL) {
    set_has_id();
  } else {
    clear_has_id();
  }
  id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.id)
}

// optional string version = 2;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_version() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_version() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_version() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_version() {
  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_version();
}
const ::std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
  return version_.GetNoArena();
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_version(const ::std::string& value) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
}
#if LANG_CXX11
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_version(::std::string&& value) {
  set_has_version();
  version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
}
#endif
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_version(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_version(const char* value, size_t size) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_version() {
  set_has_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
  clear_has_version();
  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_version(::std::string* version) {
  if (version != NULL) {
    set_has_version();
  } else {
    clear_has_version();
  }
  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.version)
}

// optional string name = 3;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_name() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_name() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_name() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
const ::std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
  return name_.GetNoArena();
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
}
#if LANG_CXX11
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
}
#endif
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.name)
}

// optional string description = 4;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_description() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_description() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_description() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_description() {
  description_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_description();
}
const ::std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::description() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
  return description_.GetNoArena();
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_description(const ::std::string& value) {
  set_has_description();
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
}
#if LANG_CXX11
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_description(::std::string&& value) {
  set_has_description();
  description_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
}
#endif
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_description(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_description();
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_description(const char* value, size_t size) {
  set_has_description();
  description_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_description() {
  set_has_description();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
  return description_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_description() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
  clear_has_description();
  return description_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_description(::std::string* description) {
  if (description != NULL) {
    set_has_description();
  } else {
    clear_has_description();
  }
  description_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), description);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.description)
}

// optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.ExtensionState state = 5 [default = STATE_UNKNOWN];
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_state() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_state() {
  _has_bits_[0] |= 0x00000040u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_state() {
  _has_bits_[0] &= ~0x00000040u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_state() {
  state_ = 0;
  clear_has_state();
}
::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState ClientIncidentReport_ExtensionData_ExtensionInfo::state() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.state)
  return static_cast< ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState >(state_);
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_state(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState value) {
  assert(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo_ExtensionState_IsValid(value));
  set_has_state();
  state_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.state)
}

// optional int32 type = 6;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_type() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_type() {
  _has_bits_[0] |= 0x00000080u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_type() {
  _has_bits_[0] &= ~0x00000080u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_type() {
  type_ = 0;
  clear_has_type();
}
::google::protobuf::int32 ClientIncidentReport_ExtensionData_ExtensionInfo::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.type)
  return type_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_type(::google::protobuf::int32 value) {
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.type)
}

// optional string update_url = 7;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_update_url() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_update_url() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_update_url() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_update_url() {
  update_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_update_url();
}
const ::std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::update_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
  return update_url_.GetNoArena();
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_update_url(const ::std::string& value) {
  set_has_update_url();
  update_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
}
#if LANG_CXX11
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_update_url(::std::string&& value) {
  set_has_update_url();
  update_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
}
#endif
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_update_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_update_url();
  update_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_update_url(const char* value, size_t size) {
  set_has_update_url();
  update_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_update_url() {
  set_has_update_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
  return update_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_update_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
  clear_has_update_url();
  return update_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_update_url(::std::string* update_url) {
  if (update_url != NULL) {
    set_has_update_url();
  } else {
    clear_has_update_url();
  }
  update_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), update_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.update_url)
}

// optional bool has_signature_validation = 8;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_has_signature_validation() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_has_signature_validation() {
  _has_bits_[0] |= 0x00000100u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_has_signature_validation() {
  _has_bits_[0] &= ~0x00000100u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_signature_validation() {
  has_signature_validation_ = false;
  clear_has_has_signature_validation();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_signature_validation() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.has_signature_validation)
  return has_signature_validation_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_signature_validation(bool value) {
  set_has_has_signature_validation();
  has_signature_validation_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.has_signature_validation)
}

// optional bool signature_is_valid = 9;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_signature_is_valid() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_signature_is_valid() {
  _has_bits_[0] |= 0x00000200u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_signature_is_valid() {
  _has_bits_[0] &= ~0x00000200u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_signature_is_valid() {
  signature_is_valid_ = false;
  clear_has_signature_is_valid();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::signature_is_valid() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.signature_is_valid)
  return signature_is_valid_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_signature_is_valid(bool value) {
  set_has_signature_is_valid();
  signature_is_valid_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.signature_is_valid)
}

// optional bool installed_by_custodian = 10;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_installed_by_custodian() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_installed_by_custodian() {
  _has_bits_[0] |= 0x00000400u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_installed_by_custodian() {
  _has_bits_[0] &= ~0x00000400u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_installed_by_custodian() {
  installed_by_custodian_ = false;
  clear_has_installed_by_custodian();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::installed_by_custodian() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_custodian)
  return installed_by_custodian_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_installed_by_custodian(bool value) {
  set_has_installed_by_custodian();
  installed_by_custodian_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_custodian)
}

// optional bool installed_by_default = 11;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_installed_by_default() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_installed_by_default() {
  _has_bits_[0] |= 0x00000800u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_installed_by_default() {
  _has_bits_[0] &= ~0x00000800u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_installed_by_default() {
  installed_by_default_ = false;
  clear_has_installed_by_default();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::installed_by_default() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_default)
  return installed_by_default_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_installed_by_default(bool value) {
  set_has_installed_by_default();
  installed_by_default_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_default)
}

// optional bool installed_by_oem = 12;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_installed_by_oem() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_installed_by_oem() {
  _has_bits_[0] |= 0x00001000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_installed_by_oem() {
  _has_bits_[0] &= ~0x00001000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_installed_by_oem() {
  installed_by_oem_ = false;
  clear_has_installed_by_oem();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::installed_by_oem() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_oem)
  return installed_by_oem_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_installed_by_oem(bool value) {
  set_has_installed_by_oem();
  installed_by_oem_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.installed_by_oem)
}

// optional bool from_bookmark = 13;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_from_bookmark() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_from_bookmark() {
  _has_bits_[0] |= 0x00002000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_from_bookmark() {
  _has_bits_[0] &= ~0x00002000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_from_bookmark() {
  from_bookmark_ = false;
  clear_has_from_bookmark();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::from_bookmark() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_bookmark)
  return from_bookmark_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_from_bookmark(bool value) {
  set_has_from_bookmark();
  from_bookmark_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_bookmark)
}

// optional bool from_webstore = 14;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_from_webstore() const {
  return (_has_bits_[0] & 0x00004000u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_from_webstore() {
  _has_bits_[0] |= 0x00004000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_from_webstore() {
  _has_bits_[0] &= ~0x00004000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_from_webstore() {
  from_webstore_ = false;
  clear_has_from_webstore();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::from_webstore() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_webstore)
  return from_webstore_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_from_webstore(bool value) {
  set_has_from_webstore();
  from_webstore_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.from_webstore)
}

// optional bool converted_from_user_script = 15;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_converted_from_user_script() const {
  return (_has_bits_[0] & 0x00008000u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_converted_from_user_script() {
  _has_bits_[0] |= 0x00008000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_converted_from_user_script() {
  _has_bits_[0] &= ~0x00008000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_converted_from_user_script() {
  converted_from_user_script_ = false;
  clear_has_converted_from_user_script();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::converted_from_user_script() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.converted_from_user_script)
  return converted_from_user_script_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_converted_from_user_script(bool value) {
  set_has_converted_from_user_script();
  converted_from_user_script_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.converted_from_user_script)
}

// optional bool may_be_untrusted = 16;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_may_be_untrusted() const {
  return (_has_bits_[0] & 0x00020000u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_may_be_untrusted() {
  _has_bits_[0] |= 0x00020000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_may_be_untrusted() {
  _has_bits_[0] &= ~0x00020000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_may_be_untrusted() {
  may_be_untrusted_ = false;
  clear_has_may_be_untrusted();
}
bool ClientIncidentReport_ExtensionData_ExtensionInfo::may_be_untrusted() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.may_be_untrusted)
  return may_be_untrusted_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_may_be_untrusted(bool value) {
  set_has_may_be_untrusted();
  may_be_untrusted_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.may_be_untrusted)
}

// optional int64 install_time_msec = 17;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_install_time_msec() const {
  return (_has_bits_[0] & 0x00010000u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_install_time_msec() {
  _has_bits_[0] |= 0x00010000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_install_time_msec() {
  _has_bits_[0] &= ~0x00010000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_install_time_msec() {
  install_time_msec_ = GOOGLE_LONGLONG(0);
  clear_has_install_time_msec();
}
::google::protobuf::int64 ClientIncidentReport_ExtensionData_ExtensionInfo::install_time_msec() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.install_time_msec)
  return install_time_msec_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_install_time_msec(::google::protobuf::int64 value) {
  set_has_install_time_msec();
  install_time_msec_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.install_time_msec)
}

// optional int32 manifest_location_type = 18;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_manifest_location_type() const {
  return (_has_bits_[0] & 0x00040000u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_manifest_location_type() {
  _has_bits_[0] |= 0x00040000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_manifest_location_type() {
  _has_bits_[0] &= ~0x00040000u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_manifest_location_type() {
  manifest_location_type_ = 0;
  clear_has_manifest_location_type();
}
::google::protobuf::int32 ClientIncidentReport_ExtensionData_ExtensionInfo::manifest_location_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest_location_type)
  return manifest_location_type_;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_manifest_location_type(::google::protobuf::int32 value) {
  set_has_manifest_location_type();
  manifest_location_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest_location_type)
}

// optional string manifest = 19;
bool ClientIncidentReport_ExtensionData_ExtensionInfo::has_manifest() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_has_manifest() {
  _has_bits_[0] |= 0x00000020u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_has_manifest() {
  _has_bits_[0] &= ~0x00000020u;
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::clear_manifest() {
  manifest_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_manifest();
}
const ::std::string& ClientIncidentReport_ExtensionData_ExtensionInfo::manifest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
  return manifest_.GetNoArena();
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_manifest(const ::std::string& value) {
  set_has_manifest();
  manifest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
}
#if LANG_CXX11
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_manifest(::std::string&& value) {
  set_has_manifest();
  manifest_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
}
#endif
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_manifest(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_manifest();
  manifest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_manifest(const char* value, size_t size) {
  set_has_manifest();
  manifest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::mutable_manifest() {
  set_has_manifest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
  return manifest_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_ExtensionData_ExtensionInfo::release_manifest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
  clear_has_manifest();
  return manifest_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_ExtensionData_ExtensionInfo::set_allocated_manifest(::std::string* manifest) {
  if (manifest != NULL) {
    set_has_manifest();
  } else {
    clear_has_manifest();
  }
  manifest_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), manifest);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo.manifest)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_ExtensionData::kLastInstalledExtensionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_ExtensionData::ClientIncidentReport_ExtensionData()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.ExtensionData)
}
ClientIncidentReport_ExtensionData::ClientIncidentReport_ExtensionData(const ClientIncidentReport_ExtensionData& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_last_installed_extension()) {
    last_installed_extension_ = new ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo(*from.last_installed_extension_);
  } else {
    last_installed_extension_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.ExtensionData)
}

void ClientIncidentReport_ExtensionData::SharedCtor() {
  _cached_size_ = 0;
  last_installed_extension_ = NULL;
}

ClientIncidentReport_ExtensionData::~ClientIncidentReport_ExtensionData() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.ExtensionData)
  SharedDtor();
}

void ClientIncidentReport_ExtensionData::SharedDtor() {
  if (this != internal_default_instance()) delete last_installed_extension_;
}

void ClientIncidentReport_ExtensionData::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_ExtensionData& ClientIncidentReport_ExtensionData::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_ExtensionData* ClientIncidentReport_ExtensionData::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_ExtensionData* n = new ClientIncidentReport_ExtensionData;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_ExtensionData::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.ExtensionData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_last_installed_extension()) {
    GOOGLE_DCHECK(last_installed_extension_ != NULL);
    last_installed_extension_->::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo::Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_ExtensionData::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.ExtensionData)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo last_installed_extension = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_last_installed_extension()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.ExtensionData)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.ExtensionData)
  return false;
#undef DO_
}

void ClientIncidentReport_ExtensionData::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.ExtensionData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo last_installed_extension = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, *this->last_installed_extension_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.ExtensionData)
}

size_t ClientIncidentReport_ExtensionData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.ExtensionData)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo last_installed_extension = 1;
  if (has_last_installed_extension()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->last_installed_extension_);
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_ExtensionData::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_ExtensionData*>(&from));
}

void ClientIncidentReport_ExtensionData::MergeFrom(const ClientIncidentReport_ExtensionData& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.ExtensionData)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_last_installed_extension()) {
    mutable_last_installed_extension()->::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo::MergeFrom(from.last_installed_extension());
  }
}

void ClientIncidentReport_ExtensionData::CopyFrom(const ClientIncidentReport_ExtensionData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.ExtensionData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_ExtensionData::IsInitialized() const {
  return true;
}

void ClientIncidentReport_ExtensionData::Swap(ClientIncidentReport_ExtensionData* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_ExtensionData::InternalSwap(ClientIncidentReport_ExtensionData* other) {
  using std::swap;
  swap(last_installed_extension_, other->last_installed_extension_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_ExtensionData::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.ExtensionData";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_ExtensionData

// optional .safe_browsing.ClientIncidentReport.ExtensionData.ExtensionInfo last_installed_extension = 1;
bool ClientIncidentReport_ExtensionData::has_last_installed_extension() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_ExtensionData::set_has_last_installed_extension() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_ExtensionData::clear_has_last_installed_extension() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_ExtensionData::clear_last_installed_extension() {
  if (last_installed_extension_ != NULL) last_installed_extension_->::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo::Clear();
  clear_has_last_installed_extension();
}
const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo& ClientIncidentReport_ExtensionData::last_installed_extension() const {
  const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* p = last_installed_extension_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo*>(
      &::safe_browsing::_ClientIncidentReport_ExtensionData_ExtensionInfo_default_instance_);
}
::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* ClientIncidentReport_ExtensionData::mutable_last_installed_extension() {
  set_has_last_installed_extension();
  if (last_installed_extension_ == NULL) {
    last_installed_extension_ = new ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
  return last_installed_extension_;
}
::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* ClientIncidentReport_ExtensionData::release_last_installed_extension() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
  clear_has_last_installed_extension();
  ::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* temp = last_installed_extension_;
  last_installed_extension_ = NULL;
  return temp;
}
void ClientIncidentReport_ExtensionData::set_allocated_last_installed_extension(::safe_browsing::ClientIncidentReport_ExtensionData_ExtensionInfo* last_installed_extension) {
  delete last_installed_extension_;
  last_installed_extension_ = last_installed_extension;
  if (last_installed_extension) {
    set_has_last_installed_extension();
  } else {
    clear_has_last_installed_extension();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.ExtensionData.last_installed_extension)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport_NonBinaryDownloadDetails::kFileTypeFieldNumber;
const int ClientIncidentReport_NonBinaryDownloadDetails::kUrlSpecSha256FieldNumber;
const int ClientIncidentReport_NonBinaryDownloadDetails::kHostFieldNumber;
const int ClientIncidentReport_NonBinaryDownloadDetails::kLengthFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport_NonBinaryDownloadDetails::ClientIncidentReport_NonBinaryDownloadDetails()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
}
ClientIncidentReport_NonBinaryDownloadDetails::ClientIncidentReport_NonBinaryDownloadDetails(const ClientIncidentReport_NonBinaryDownloadDetails& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  file_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_file_type()) {
    file_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_type_);
  }
  url_spec_sha256_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url_spec_sha256()) {
    url_spec_sha256_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_spec_sha256_);
  }
  host_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_host()) {
    host_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.host_);
  }
  length_ = from.length_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
}

void ClientIncidentReport_NonBinaryDownloadDetails::SharedCtor() {
  _cached_size_ = 0;
  file_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  url_spec_sha256_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  host_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  length_ = GOOGLE_LONGLONG(0);
}

ClientIncidentReport_NonBinaryDownloadDetails::~ClientIncidentReport_NonBinaryDownloadDetails() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  SharedDtor();
}

void ClientIncidentReport_NonBinaryDownloadDetails::SharedDtor() {
  file_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  url_spec_sha256_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  host_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentReport_NonBinaryDownloadDetails::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport_NonBinaryDownloadDetails& ClientIncidentReport_NonBinaryDownloadDetails::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport_NonBinaryDownloadDetails* ClientIncidentReport_NonBinaryDownloadDetails::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport_NonBinaryDownloadDetails* n = new ClientIncidentReport_NonBinaryDownloadDetails;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport_NonBinaryDownloadDetails::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!file_type_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*file_type_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!url_spec_sha256_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_spec_sha256_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!host_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*host_.UnsafeRawStringPointer())->clear();
    }
  }
  length_ = GOOGLE_LONGLONG(0);
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport_NonBinaryDownloadDetails::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string file_type = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_file_type()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes url_spec_sha256 = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_url_spec_sha256()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string host = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_host()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 length = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_length();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &length_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  return false;
#undef DO_
}

void ClientIncidentReport_NonBinaryDownloadDetails::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string file_type = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->file_type(), output);
  }

  // optional bytes url_spec_sha256 = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->url_spec_sha256(), output);
  }

  // optional string host = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->host(), output);
  }

  // optional int64 length = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(4, this->length(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
}

size_t ClientIncidentReport_NonBinaryDownloadDetails::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional string file_type = 1;
    if (has_file_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->file_type());
    }

    // optional bytes url_spec_sha256 = 2;
    if (has_url_spec_sha256()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->url_spec_sha256());
    }

    // optional string host = 3;
    if (has_host()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->host());
    }

    // optional int64 length = 4;
    if (has_length()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->length());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport_NonBinaryDownloadDetails::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport_NonBinaryDownloadDetails*>(&from));
}

void ClientIncidentReport_NonBinaryDownloadDetails::MergeFrom(const ClientIncidentReport_NonBinaryDownloadDetails& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_file_type();
      file_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_type_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_url_spec_sha256();
      url_spec_sha256_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_spec_sha256_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_host();
      host_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.host_);
    }
    if (cached_has_bits & 0x00000008u) {
      length_ = from.length_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentReport_NonBinaryDownloadDetails::CopyFrom(const ClientIncidentReport_NonBinaryDownloadDetails& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport_NonBinaryDownloadDetails::IsInitialized() const {
  return true;
}

void ClientIncidentReport_NonBinaryDownloadDetails::Swap(ClientIncidentReport_NonBinaryDownloadDetails* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport_NonBinaryDownloadDetails::InternalSwap(ClientIncidentReport_NonBinaryDownloadDetails* other) {
  using std::swap;
  file_type_.Swap(&other->file_type_);
  url_spec_sha256_.Swap(&other->url_spec_sha256_);
  host_.Swap(&other->host_);
  swap(length_, other->length_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport_NonBinaryDownloadDetails::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport_NonBinaryDownloadDetails

// optional string file_type = 1;
bool ClientIncidentReport_NonBinaryDownloadDetails::has_file_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_has_file_type() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_has_file_type() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_file_type() {
  file_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_file_type();
}
const ::std::string& ClientIncidentReport_NonBinaryDownloadDetails::file_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
  return file_type_.GetNoArena();
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_file_type(const ::std::string& value) {
  set_has_file_type();
  file_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
}
#if LANG_CXX11
void ClientIncidentReport_NonBinaryDownloadDetails::set_file_type(::std::string&& value) {
  set_has_file_type();
  file_type_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
}
#endif
void ClientIncidentReport_NonBinaryDownloadDetails::set_file_type(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_file_type();
  file_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_file_type(const char* value, size_t size) {
  set_has_file_type();
  file_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
}
::std::string* ClientIncidentReport_NonBinaryDownloadDetails::mutable_file_type() {
  set_has_file_type();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
  return file_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_NonBinaryDownloadDetails::release_file_type() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
  clear_has_file_type();
  return file_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_allocated_file_type(::std::string* file_type) {
  if (file_type != NULL) {
    set_has_file_type();
  } else {
    clear_has_file_type();
  }
  file_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_type);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.file_type)
}

// optional bytes url_spec_sha256 = 2;
bool ClientIncidentReport_NonBinaryDownloadDetails::has_url_spec_sha256() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_has_url_spec_sha256() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_has_url_spec_sha256() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_url_spec_sha256() {
  url_spec_sha256_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url_spec_sha256();
}
const ::std::string& ClientIncidentReport_NonBinaryDownloadDetails::url_spec_sha256() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
  return url_spec_sha256_.GetNoArena();
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_url_spec_sha256(const ::std::string& value) {
  set_has_url_spec_sha256();
  url_spec_sha256_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
}
#if LANG_CXX11
void ClientIncidentReport_NonBinaryDownloadDetails::set_url_spec_sha256(::std::string&& value) {
  set_has_url_spec_sha256();
  url_spec_sha256_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
}
#endif
void ClientIncidentReport_NonBinaryDownloadDetails::set_url_spec_sha256(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url_spec_sha256();
  url_spec_sha256_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_url_spec_sha256(const void* value, size_t size) {
  set_has_url_spec_sha256();
  url_spec_sha256_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
}
::std::string* ClientIncidentReport_NonBinaryDownloadDetails::mutable_url_spec_sha256() {
  set_has_url_spec_sha256();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
  return url_spec_sha256_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_NonBinaryDownloadDetails::release_url_spec_sha256() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
  clear_has_url_spec_sha256();
  return url_spec_sha256_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_allocated_url_spec_sha256(::std::string* url_spec_sha256) {
  if (url_spec_sha256 != NULL) {
    set_has_url_spec_sha256();
  } else {
    clear_has_url_spec_sha256();
  }
  url_spec_sha256_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url_spec_sha256);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.url_spec_sha256)
}

// optional string host = 3;
bool ClientIncidentReport_NonBinaryDownloadDetails::has_host() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_has_host() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_has_host() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_host() {
  host_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_host();
}
const ::std::string& ClientIncidentReport_NonBinaryDownloadDetails::host() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
  return host_.GetNoArena();
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_host(const ::std::string& value) {
  set_has_host();
  host_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
}
#if LANG_CXX11
void ClientIncidentReport_NonBinaryDownloadDetails::set_host(::std::string&& value) {
  set_has_host();
  host_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
}
#endif
void ClientIncidentReport_NonBinaryDownloadDetails::set_host(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_host();
  host_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_host(const char* value, size_t size) {
  set_has_host();
  host_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
}
::std::string* ClientIncidentReport_NonBinaryDownloadDetails::mutable_host() {
  set_has_host();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
  return host_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentReport_NonBinaryDownloadDetails::release_host() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
  clear_has_host();
  return host_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_allocated_host(::std::string* host) {
  if (host != NULL) {
    set_has_host();
  } else {
    clear_has_host();
  }
  host_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), host);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.host)
}

// optional int64 length = 4;
bool ClientIncidentReport_NonBinaryDownloadDetails::has_length() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_has_length() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_has_length() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport_NonBinaryDownloadDetails::clear_length() {
  length_ = GOOGLE_LONGLONG(0);
  clear_has_length();
}
::google::protobuf::int64 ClientIncidentReport_NonBinaryDownloadDetails::length() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.length)
  return length_;
}
void ClientIncidentReport_NonBinaryDownloadDetails::set_length(::google::protobuf::int64 value) {
  set_has_length();
  length_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails.length)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentReport::kIncidentFieldNumber;
const int ClientIncidentReport::kDownloadFieldNumber;
const int ClientIncidentReport::kEnvironmentFieldNumber;
const int ClientIncidentReport::kPopulationFieldNumber;
const int ClientIncidentReport::kExtensionDataFieldNumber;
const int ClientIncidentReport::kNonBinaryDownloadFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentReport::ClientIncidentReport()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentReport)
}
ClientIncidentReport::ClientIncidentReport(const ClientIncidentReport& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      incident_(from.incident_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_download()) {
    download_ = new ::safe_browsing::ClientIncidentReport_DownloadDetails(*from.download_);
  } else {
    download_ = NULL;
  }
  if (from.has_environment()) {
    environment_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData(*from.environment_);
  } else {
    environment_ = NULL;
  }
  if (from.has_population()) {
    population_ = new ::safe_browsing::ChromeUserPopulation(*from.population_);
  } else {
    population_ = NULL;
  }
  if (from.has_extension_data()) {
    extension_data_ = new ::safe_browsing::ClientIncidentReport_ExtensionData(*from.extension_data_);
  } else {
    extension_data_ = NULL;
  }
  if (from.has_non_binary_download()) {
    non_binary_download_ = new ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails(*from.non_binary_download_);
  } else {
    non_binary_download_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentReport)
}

void ClientIncidentReport::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&download_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&non_binary_download_) -
      reinterpret_cast<char*>(&download_)) + sizeof(non_binary_download_));
}

ClientIncidentReport::~ClientIncidentReport() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentReport)
  SharedDtor();
}

void ClientIncidentReport::SharedDtor() {
  if (this != internal_default_instance()) delete download_;
  if (this != internal_default_instance()) delete environment_;
  if (this != internal_default_instance()) delete population_;
  if (this != internal_default_instance()) delete extension_data_;
  if (this != internal_default_instance()) delete non_binary_download_;
}

void ClientIncidentReport::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentReport& ClientIncidentReport::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentReport* ClientIncidentReport::New(::google::protobuf::Arena* arena) const {
  ClientIncidentReport* n = new ClientIncidentReport;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentReport::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentReport)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  incident_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(download_ != NULL);
      download_->::safe_browsing::ClientIncidentReport_DownloadDetails::Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(environment_ != NULL);
      environment_->::safe_browsing::ClientIncidentReport_EnvironmentData::Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(population_ != NULL);
      population_->::safe_browsing::ChromeUserPopulation::Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(extension_data_ != NULL);
      extension_data_->::safe_browsing::ClientIncidentReport_ExtensionData::Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(non_binary_download_ != NULL);
      non_binary_download_->::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentReport::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentReport)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // repeated .safe_browsing.ClientIncidentReport.IncidentData incident = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_incident()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_download()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.EnvironmentData environment = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_environment()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ChromeUserPopulation population = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_population()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.ExtensionData extension_data = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(66u /* 66 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_extension_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails non_binary_download = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_non_binary_download()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentReport)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentReport)
  return false;
#undef DO_
}

void ClientIncidentReport::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentReport)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .safe_browsing.ClientIncidentReport.IncidentData incident = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->incident_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, this->incident(static_cast<int>(i)), output);
  }

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->download_, output);
  }

  // optional .safe_browsing.ClientIncidentReport.EnvironmentData environment = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->environment_, output);
  }

  // optional .safe_browsing.ChromeUserPopulation population = 7;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      7, *this->population_, output);
  }

  // optional .safe_browsing.ClientIncidentReport.ExtensionData extension_data = 8;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      8, *this->extension_data_, output);
  }

  // optional .safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails non_binary_download = 9;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      9, *this->non_binary_download_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentReport)
}

size_t ClientIncidentReport::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentReport)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientIncidentReport.IncidentData incident = 1;
  {
    unsigned int count = static_cast<unsigned int>(this->incident_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->incident(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 31u) {
    // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
    if (has_download()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->download_);
    }

    // optional .safe_browsing.ClientIncidentReport.EnvironmentData environment = 3;
    if (has_environment()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->environment_);
    }

    // optional .safe_browsing.ChromeUserPopulation population = 7;
    if (has_population()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->population_);
    }

    // optional .safe_browsing.ClientIncidentReport.ExtensionData extension_data = 8;
    if (has_extension_data()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->extension_data_);
    }

    // optional .safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails non_binary_download = 9;
    if (has_non_binary_download()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->non_binary_download_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentReport::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentReport*>(&from));
}

void ClientIncidentReport::MergeFrom(const ClientIncidentReport& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentReport)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  incident_.MergeFrom(from.incident_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_download()->::safe_browsing::ClientIncidentReport_DownloadDetails::MergeFrom(from.download());
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_environment()->::safe_browsing::ClientIncidentReport_EnvironmentData::MergeFrom(from.environment());
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_population()->::safe_browsing::ChromeUserPopulation::MergeFrom(from.population());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_extension_data()->::safe_browsing::ClientIncidentReport_ExtensionData::MergeFrom(from.extension_data());
    }
    if (cached_has_bits & 0x00000010u) {
      mutable_non_binary_download()->::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails::MergeFrom(from.non_binary_download());
    }
  }
}

void ClientIncidentReport::CopyFrom(const ClientIncidentReport& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentReport)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentReport::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->incident())) return false;
  if (has_download()) {
    if (!this->download_->IsInitialized()) return false;
  }
  if (has_environment()) {
    if (!this->environment_->IsInitialized()) return false;
  }
  return true;
}

void ClientIncidentReport::Swap(ClientIncidentReport* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentReport::InternalSwap(ClientIncidentReport* other) {
  using std::swap;
  incident_.InternalSwap(&other->incident_);
  swap(download_, other->download_);
  swap(environment_, other->environment_);
  swap(population_, other->population_);
  swap(extension_data_, other->extension_data_);
  swap(non_binary_download_, other->non_binary_download_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentReport::GetTypeName() const {
  return "safe_browsing.ClientIncidentReport";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentReport

// repeated .safe_browsing.ClientIncidentReport.IncidentData incident = 1;
int ClientIncidentReport::incident_size() const {
  return incident_.size();
}
void ClientIncidentReport::clear_incident() {
  incident_.Clear();
}
const ::safe_browsing::ClientIncidentReport_IncidentData& ClientIncidentReport::incident(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.incident)
  return incident_.Get(index);
}
::safe_browsing::ClientIncidentReport_IncidentData* ClientIncidentReport::mutable_incident(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.incident)
  return incident_.Mutable(index);
}
::safe_browsing::ClientIncidentReport_IncidentData* ClientIncidentReport::add_incident() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentReport.incident)
  return incident_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData >*
ClientIncidentReport::mutable_incident() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentReport.incident)
  return &incident_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentReport_IncidentData >&
ClientIncidentReport::incident() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentReport.incident)
  return incident_;
}

// optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
bool ClientIncidentReport::has_download() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentReport::set_has_download() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentReport::clear_has_download() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentReport::clear_download() {
  if (download_ != NULL) download_->::safe_browsing::ClientIncidentReport_DownloadDetails::Clear();
  clear_has_download();
}
const ::safe_browsing::ClientIncidentReport_DownloadDetails& ClientIncidentReport::download() const {
  const ::safe_browsing::ClientIncidentReport_DownloadDetails* p = download_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.download)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_DownloadDetails*>(
      &::safe_browsing::_ClientIncidentReport_DownloadDetails_default_instance_);
}
::safe_browsing::ClientIncidentReport_DownloadDetails* ClientIncidentReport::mutable_download() {
  set_has_download();
  if (download_ == NULL) {
    download_ = new ::safe_browsing::ClientIncidentReport_DownloadDetails;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.download)
  return download_;
}
::safe_browsing::ClientIncidentReport_DownloadDetails* ClientIncidentReport::release_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.download)
  clear_has_download();
  ::safe_browsing::ClientIncidentReport_DownloadDetails* temp = download_;
  download_ = NULL;
  return temp;
}
void ClientIncidentReport::set_allocated_download(::safe_browsing::ClientIncidentReport_DownloadDetails* download) {
  delete download_;
  download_ = download;
  if (download) {
    set_has_download();
  } else {
    clear_has_download();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.download)
}

// optional .safe_browsing.ClientIncidentReport.EnvironmentData environment = 3;
bool ClientIncidentReport::has_environment() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentReport::set_has_environment() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentReport::clear_has_environment() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentReport::clear_environment() {
  if (environment_ != NULL) environment_->::safe_browsing::ClientIncidentReport_EnvironmentData::Clear();
  clear_has_environment();
}
const ::safe_browsing::ClientIncidentReport_EnvironmentData& ClientIncidentReport::environment() const {
  const ::safe_browsing::ClientIncidentReport_EnvironmentData* p = environment_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.environment)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_EnvironmentData*>(
      &::safe_browsing::_ClientIncidentReport_EnvironmentData_default_instance_);
}
::safe_browsing::ClientIncidentReport_EnvironmentData* ClientIncidentReport::mutable_environment() {
  set_has_environment();
  if (environment_ == NULL) {
    environment_ = new ::safe_browsing::ClientIncidentReport_EnvironmentData;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.environment)
  return environment_;
}
::safe_browsing::ClientIncidentReport_EnvironmentData* ClientIncidentReport::release_environment() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.environment)
  clear_has_environment();
  ::safe_browsing::ClientIncidentReport_EnvironmentData* temp = environment_;
  environment_ = NULL;
  return temp;
}
void ClientIncidentReport::set_allocated_environment(::safe_browsing::ClientIncidentReport_EnvironmentData* environment) {
  delete environment_;
  environment_ = environment;
  if (environment) {
    set_has_environment();
  } else {
    clear_has_environment();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.environment)
}

// optional .safe_browsing.ChromeUserPopulation population = 7;
bool ClientIncidentReport::has_population() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientIncidentReport::set_has_population() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientIncidentReport::clear_has_population() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientIncidentReport::clear_population() {
  if (population_ != NULL) population_->::safe_browsing::ChromeUserPopulation::Clear();
  clear_has_population();
}
const ::safe_browsing::ChromeUserPopulation& ClientIncidentReport::population() const {
  const ::safe_browsing::ChromeUserPopulation* p = population_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.population)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ChromeUserPopulation*>(
      &::safe_browsing::_ChromeUserPopulation_default_instance_);
}
::safe_browsing::ChromeUserPopulation* ClientIncidentReport::mutable_population() {
  set_has_population();
  if (population_ == NULL) {
    population_ = new ::safe_browsing::ChromeUserPopulation;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.population)
  return population_;
}
::safe_browsing::ChromeUserPopulation* ClientIncidentReport::release_population() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.population)
  clear_has_population();
  ::safe_browsing::ChromeUserPopulation* temp = population_;
  population_ = NULL;
  return temp;
}
void ClientIncidentReport::set_allocated_population(::safe_browsing::ChromeUserPopulation* population) {
  delete population_;
  population_ = population;
  if (population) {
    set_has_population();
  } else {
    clear_has_population();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.population)
}

// optional .safe_browsing.ClientIncidentReport.ExtensionData extension_data = 8;
bool ClientIncidentReport::has_extension_data() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientIncidentReport::set_has_extension_data() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientIncidentReport::clear_has_extension_data() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientIncidentReport::clear_extension_data() {
  if (extension_data_ != NULL) extension_data_->::safe_browsing::ClientIncidentReport_ExtensionData::Clear();
  clear_has_extension_data();
}
const ::safe_browsing::ClientIncidentReport_ExtensionData& ClientIncidentReport::extension_data() const {
  const ::safe_browsing::ClientIncidentReport_ExtensionData* p = extension_data_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.extension_data)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_ExtensionData*>(
      &::safe_browsing::_ClientIncidentReport_ExtensionData_default_instance_);
}
::safe_browsing::ClientIncidentReport_ExtensionData* ClientIncidentReport::mutable_extension_data() {
  set_has_extension_data();
  if (extension_data_ == NULL) {
    extension_data_ = new ::safe_browsing::ClientIncidentReport_ExtensionData;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.extension_data)
  return extension_data_;
}
::safe_browsing::ClientIncidentReport_ExtensionData* ClientIncidentReport::release_extension_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.extension_data)
  clear_has_extension_data();
  ::safe_browsing::ClientIncidentReport_ExtensionData* temp = extension_data_;
  extension_data_ = NULL;
  return temp;
}
void ClientIncidentReport::set_allocated_extension_data(::safe_browsing::ClientIncidentReport_ExtensionData* extension_data) {
  delete extension_data_;
  extension_data_ = extension_data;
  if (extension_data) {
    set_has_extension_data();
  } else {
    clear_has_extension_data();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.extension_data)
}

// optional .safe_browsing.ClientIncidentReport.NonBinaryDownloadDetails non_binary_download = 9;
bool ClientIncidentReport::has_non_binary_download() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientIncidentReport::set_has_non_binary_download() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientIncidentReport::clear_has_non_binary_download() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientIncidentReport::clear_non_binary_download() {
  if (non_binary_download_ != NULL) non_binary_download_->::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails::Clear();
  clear_has_non_binary_download();
}
const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails& ClientIncidentReport::non_binary_download() const {
  const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* p = non_binary_download_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentReport.non_binary_download)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails*>(
      &::safe_browsing::_ClientIncidentReport_NonBinaryDownloadDetails_default_instance_);
}
::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* ClientIncidentReport::mutable_non_binary_download() {
  set_has_non_binary_download();
  if (non_binary_download_ == NULL) {
    non_binary_download_ = new ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentReport.non_binary_download)
  return non_binary_download_;
}
::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* ClientIncidentReport::release_non_binary_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentReport.non_binary_download)
  clear_has_non_binary_download();
  ::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* temp = non_binary_download_;
  non_binary_download_ = NULL;
  return temp;
}
void ClientIncidentReport::set_allocated_non_binary_download(::safe_browsing::ClientIncidentReport_NonBinaryDownloadDetails* non_binary_download) {
  delete non_binary_download_;
  non_binary_download_ = non_binary_download;
  if (non_binary_download) {
    set_has_non_binary_download();
  } else {
    clear_has_non_binary_download();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentReport.non_binary_download)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentResponse_EnvironmentRequest::kDllIndexFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentResponse_EnvironmentRequest::ClientIncidentResponse_EnvironmentRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
}
ClientIncidentResponse_EnvironmentRequest::ClientIncidentResponse_EnvironmentRequest(const ClientIncidentResponse_EnvironmentRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  dll_index_ = from.dll_index_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
}

void ClientIncidentResponse_EnvironmentRequest::SharedCtor() {
  _cached_size_ = 0;
  dll_index_ = 0;
}

ClientIncidentResponse_EnvironmentRequest::~ClientIncidentResponse_EnvironmentRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  SharedDtor();
}

void ClientIncidentResponse_EnvironmentRequest::SharedDtor() {
}

void ClientIncidentResponse_EnvironmentRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentResponse_EnvironmentRequest& ClientIncidentResponse_EnvironmentRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentResponse_EnvironmentRequest* ClientIncidentResponse_EnvironmentRequest::New(::google::protobuf::Arena* arena) const {
  ClientIncidentResponse_EnvironmentRequest* n = new ClientIncidentResponse_EnvironmentRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentResponse_EnvironmentRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  dll_index_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentResponse_EnvironmentRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 dll_index = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_dll_index();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &dll_index_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  return false;
#undef DO_
}

void ClientIncidentResponse_EnvironmentRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 dll_index = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->dll_index(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
}

size_t ClientIncidentResponse_EnvironmentRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // optional int32 dll_index = 1;
  if (has_dll_index()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->dll_index());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentResponse_EnvironmentRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentResponse_EnvironmentRequest*>(&from));
}

void ClientIncidentResponse_EnvironmentRequest::MergeFrom(const ClientIncidentResponse_EnvironmentRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_dll_index()) {
    set_dll_index(from.dll_index());
  }
}

void ClientIncidentResponse_EnvironmentRequest::CopyFrom(const ClientIncidentResponse_EnvironmentRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentResponse.EnvironmentRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentResponse_EnvironmentRequest::IsInitialized() const {
  return true;
}

void ClientIncidentResponse_EnvironmentRequest::Swap(ClientIncidentResponse_EnvironmentRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentResponse_EnvironmentRequest::InternalSwap(ClientIncidentResponse_EnvironmentRequest* other) {
  using std::swap;
  swap(dll_index_, other->dll_index_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentResponse_EnvironmentRequest::GetTypeName() const {
  return "safe_browsing.ClientIncidentResponse.EnvironmentRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentResponse_EnvironmentRequest

// optional int32 dll_index = 1;
bool ClientIncidentResponse_EnvironmentRequest::has_dll_index() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentResponse_EnvironmentRequest::set_has_dll_index() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentResponse_EnvironmentRequest::clear_has_dll_index() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentResponse_EnvironmentRequest::clear_dll_index() {
  dll_index_ = 0;
  clear_has_dll_index();
}
::google::protobuf::int32 ClientIncidentResponse_EnvironmentRequest::dll_index() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.EnvironmentRequest.dll_index)
  return dll_index_;
}
void ClientIncidentResponse_EnvironmentRequest::set_dll_index(::google::protobuf::int32 value) {
  set_has_dll_index();
  dll_index_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentResponse.EnvironmentRequest.dll_index)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientIncidentResponse::kTokenFieldNumber;
const int ClientIncidentResponse::kDownloadRequestedFieldNumber;
const int ClientIncidentResponse::kEnvironmentRequestsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientIncidentResponse::ClientIncidentResponse()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientIncidentResponse)
}
ClientIncidentResponse::ClientIncidentResponse(const ClientIncidentResponse& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      environment_requests_(from.environment_requests_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_token()) {
    token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
  }
  download_requested_ = from.download_requested_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientIncidentResponse)
}

void ClientIncidentResponse::SharedCtor() {
  _cached_size_ = 0;
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  download_requested_ = false;
}

ClientIncidentResponse::~ClientIncidentResponse() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientIncidentResponse)
  SharedDtor();
}

void ClientIncidentResponse::SharedDtor() {
  token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientIncidentResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientIncidentResponse& ClientIncidentResponse::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientIncidentResponse* ClientIncidentResponse::New(::google::protobuf::Arena* arena) const {
  ClientIncidentResponse* n = new ClientIncidentResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientIncidentResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientIncidentResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  environment_requests_.Clear();
  if (has_token()) {
    GOOGLE_DCHECK(!token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*token_.UnsafeRawStringPointer())->clear();
  }
  download_requested_ = false;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientIncidentResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientIncidentResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes token = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_token()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool download_requested = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_download_requested();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &download_requested_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientIncidentResponse.EnvironmentRequest environment_requests = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_environment_requests()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientIncidentResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientIncidentResponse)
  return false;
#undef DO_
}

void ClientIncidentResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientIncidentResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes token = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->token(), output);
  }

  // optional bool download_requested = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->download_requested(), output);
  }

  // repeated .safe_browsing.ClientIncidentResponse.EnvironmentRequest environment_requests = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->environment_requests_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, this->environment_requests(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientIncidentResponse)
}

size_t ClientIncidentResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientIncidentResponse)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientIncidentResponse.EnvironmentRequest environment_requests = 3;
  {
    unsigned int count = static_cast<unsigned int>(this->environment_requests_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->environment_requests(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 3u) {
    // optional bytes token = 1;
    if (has_token()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->token());
    }

    // optional bool download_requested = 2;
    if (has_download_requested()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientIncidentResponse::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientIncidentResponse*>(&from));
}

void ClientIncidentResponse::MergeFrom(const ClientIncidentResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientIncidentResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  environment_requests_.MergeFrom(from.environment_requests_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_token();
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    if (cached_has_bits & 0x00000002u) {
      download_requested_ = from.download_requested_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientIncidentResponse::CopyFrom(const ClientIncidentResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientIncidentResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientIncidentResponse::IsInitialized() const {
  return true;
}

void ClientIncidentResponse::Swap(ClientIncidentResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientIncidentResponse::InternalSwap(ClientIncidentResponse* other) {
  using std::swap;
  environment_requests_.InternalSwap(&other->environment_requests_);
  token_.Swap(&other->token_);
  swap(download_requested_, other->download_requested_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientIncidentResponse::GetTypeName() const {
  return "safe_browsing.ClientIncidentResponse";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientIncidentResponse

// optional bytes token = 1;
bool ClientIncidentResponse::has_token() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientIncidentResponse::set_has_token() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientIncidentResponse::clear_has_token() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientIncidentResponse::clear_token() {
  token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_token();
}
const ::std::string& ClientIncidentResponse::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.token)
  return token_.GetNoArena();
}
void ClientIncidentResponse::set_token(const ::std::string& value) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentResponse.token)
}
#if LANG_CXX11
void ClientIncidentResponse::set_token(::std::string&& value) {
  set_has_token();
  token_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientIncidentResponse.token)
}
#endif
void ClientIncidentResponse::set_token(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientIncidentResponse.token)
}
void ClientIncidentResponse::set_token(const void* value, size_t size) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientIncidentResponse.token)
}
::std::string* ClientIncidentResponse::mutable_token() {
  set_has_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentResponse.token)
  return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientIncidentResponse::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientIncidentResponse.token)
  clear_has_token();
  return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientIncidentResponse::set_allocated_token(::std::string* token) {
  if (token != NULL) {
    set_has_token();
  } else {
    clear_has_token();
  }
  token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientIncidentResponse.token)
}

// optional bool download_requested = 2;
bool ClientIncidentResponse::has_download_requested() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientIncidentResponse::set_has_download_requested() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientIncidentResponse::clear_has_download_requested() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientIncidentResponse::clear_download_requested() {
  download_requested_ = false;
  clear_has_download_requested();
}
bool ClientIncidentResponse::download_requested() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.download_requested)
  return download_requested_;
}
void ClientIncidentResponse::set_download_requested(bool value) {
  set_has_download_requested();
  download_requested_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientIncidentResponse.download_requested)
}

// repeated .safe_browsing.ClientIncidentResponse.EnvironmentRequest environment_requests = 3;
int ClientIncidentResponse::environment_requests_size() const {
  return environment_requests_.size();
}
void ClientIncidentResponse::clear_environment_requests() {
  environment_requests_.Clear();
}
const ::safe_browsing::ClientIncidentResponse_EnvironmentRequest& ClientIncidentResponse::environment_requests(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientIncidentResponse.environment_requests)
  return environment_requests_.Get(index);
}
::safe_browsing::ClientIncidentResponse_EnvironmentRequest* ClientIncidentResponse::mutable_environment_requests(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientIncidentResponse.environment_requests)
  return environment_requests_.Mutable(index);
}
::safe_browsing::ClientIncidentResponse_EnvironmentRequest* ClientIncidentResponse::add_environment_requests() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientIncidentResponse.environment_requests)
  return environment_requests_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentResponse_EnvironmentRequest >*
ClientIncidentResponse::mutable_environment_requests() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientIncidentResponse.environment_requests)
  return &environment_requests_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientIncidentResponse_EnvironmentRequest >&
ClientIncidentResponse::environment_requests() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientIncidentResponse.environment_requests)
  return environment_requests_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int DownloadMetadata::kDownloadIdFieldNumber;
const int DownloadMetadata::kDownloadFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

DownloadMetadata::DownloadMetadata()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.DownloadMetadata)
}
DownloadMetadata::DownloadMetadata(const DownloadMetadata& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_download()) {
    download_ = new ::safe_browsing::ClientIncidentReport_DownloadDetails(*from.download_);
  } else {
    download_ = NULL;
  }
  download_id_ = from.download_id_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.DownloadMetadata)
}

void DownloadMetadata::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&download_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&download_id_) -
      reinterpret_cast<char*>(&download_)) + sizeof(download_id_));
}

DownloadMetadata::~DownloadMetadata() {
  // @@protoc_insertion_point(destructor:safe_browsing.DownloadMetadata)
  SharedDtor();
}

void DownloadMetadata::SharedDtor() {
  if (this != internal_default_instance()) delete download_;
}

void DownloadMetadata::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const DownloadMetadata& DownloadMetadata::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

DownloadMetadata* DownloadMetadata::New(::google::protobuf::Arena* arena) const {
  DownloadMetadata* n = new DownloadMetadata;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void DownloadMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.DownloadMetadata)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_download()) {
    GOOGLE_DCHECK(download_ != NULL);
    download_->::safe_browsing::ClientIncidentReport_DownloadDetails::Clear();
  }
  download_id_ = 0u;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool DownloadMetadata::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.DownloadMetadata)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional uint32 download_id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_download_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                 input, &download_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_download()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.DownloadMetadata)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.DownloadMetadata)
  return false;
#undef DO_
}

void DownloadMetadata::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.DownloadMetadata)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional uint32 download_id = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->download_id(), output);
  }

  // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->download_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.DownloadMetadata)
}

size_t DownloadMetadata::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.DownloadMetadata)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
    if (has_download()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->download_);
    }

    // optional uint32 download_id = 1;
    if (has_download_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->download_id());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void DownloadMetadata::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const DownloadMetadata*>(&from));
}

void DownloadMetadata::MergeFrom(const DownloadMetadata& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.DownloadMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_download()->::safe_browsing::ClientIncidentReport_DownloadDetails::MergeFrom(from.download());
    }
    if (cached_has_bits & 0x00000002u) {
      download_id_ = from.download_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void DownloadMetadata::CopyFrom(const DownloadMetadata& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.DownloadMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool DownloadMetadata::IsInitialized() const {
  if (has_download()) {
    if (!this->download_->IsInitialized()) return false;
  }
  return true;
}

void DownloadMetadata::Swap(DownloadMetadata* other) {
  if (other == this) return;
  InternalSwap(other);
}
void DownloadMetadata::InternalSwap(DownloadMetadata* other) {
  using std::swap;
  swap(download_, other->download_);
  swap(download_id_, other->download_id_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string DownloadMetadata::GetTypeName() const {
  return "safe_browsing.DownloadMetadata";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// DownloadMetadata

// optional uint32 download_id = 1;
bool DownloadMetadata::has_download_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void DownloadMetadata::set_has_download_id() {
  _has_bits_[0] |= 0x00000002u;
}
void DownloadMetadata::clear_has_download_id() {
  _has_bits_[0] &= ~0x00000002u;
}
void DownloadMetadata::clear_download_id() {
  download_id_ = 0u;
  clear_has_download_id();
}
::google::protobuf::uint32 DownloadMetadata::download_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.DownloadMetadata.download_id)
  return download_id_;
}
void DownloadMetadata::set_download_id(::google::protobuf::uint32 value) {
  set_has_download_id();
  download_id_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.DownloadMetadata.download_id)
}

// optional .safe_browsing.ClientIncidentReport.DownloadDetails download = 2;
bool DownloadMetadata::has_download() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void DownloadMetadata::set_has_download() {
  _has_bits_[0] |= 0x00000001u;
}
void DownloadMetadata::clear_has_download() {
  _has_bits_[0] &= ~0x00000001u;
}
void DownloadMetadata::clear_download() {
  if (download_ != NULL) download_->::safe_browsing::ClientIncidentReport_DownloadDetails::Clear();
  clear_has_download();
}
const ::safe_browsing::ClientIncidentReport_DownloadDetails& DownloadMetadata::download() const {
  const ::safe_browsing::ClientIncidentReport_DownloadDetails* p = download_;
  // @@protoc_insertion_point(field_get:safe_browsing.DownloadMetadata.download)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientIncidentReport_DownloadDetails*>(
      &::safe_browsing::_ClientIncidentReport_DownloadDetails_default_instance_);
}
::safe_browsing::ClientIncidentReport_DownloadDetails* DownloadMetadata::mutable_download() {
  set_has_download();
  if (download_ == NULL) {
    download_ = new ::safe_browsing::ClientIncidentReport_DownloadDetails;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.DownloadMetadata.download)
  return download_;
}
::safe_browsing::ClientIncidentReport_DownloadDetails* DownloadMetadata::release_download() {
  // @@protoc_insertion_point(field_release:safe_browsing.DownloadMetadata.download)
  clear_has_download();
  ::safe_browsing::ClientIncidentReport_DownloadDetails* temp = download_;
  download_ = NULL;
  return temp;
}
void DownloadMetadata::set_allocated_download(::safe_browsing::ClientIncidentReport_DownloadDetails* download) {
  delete download_;
  download_ = download;
  if (download) {
    set_has_download();
  } else {
    clear_has_download();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.DownloadMetadata.download)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest_HTTPHeader::kNameFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPHeader::kValueFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest_HTTPHeader::ClientSafeBrowsingReportRequest_HTTPHeader()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
}
ClientSafeBrowsingReportRequest_HTTPHeader::ClientSafeBrowsingReportRequest_HTTPHeader(const ClientSafeBrowsingReportRequest_HTTPHeader& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_name()) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_value()) {
    value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
}

void ClientSafeBrowsingReportRequest_HTTPHeader::SharedCtor() {
  _cached_size_ = 0;
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientSafeBrowsingReportRequest_HTTPHeader::~ClientSafeBrowsingReportRequest_HTTPHeader() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest_HTTPHeader::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientSafeBrowsingReportRequest_HTTPHeader::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest_HTTPHeader& ClientSafeBrowsingReportRequest_HTTPHeader::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPHeader::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest_HTTPHeader* n = new ClientSafeBrowsingReportRequest_HTTPHeader;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest_HTTPHeader::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*name_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!value_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*value_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest_HTTPHeader::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required bytes name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes value = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_value()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest_HTTPHeader::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required bytes name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->name(), output);
  }

  // optional bytes value = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->value(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
}

size_t ClientSafeBrowsingReportRequest_HTTPHeader::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required bytes name = 1;
  if (has_name()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->name());
  }
  // optional bytes value = 2;
  if (has_value()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::BytesSize(
        this->value());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest_HTTPHeader::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_HTTPHeader*>(&from));
}

void ClientSafeBrowsingReportRequest_HTTPHeader::MergeFrom(const ClientSafeBrowsingReportRequest_HTTPHeader& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_name();
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_value();
      value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
    }
  }
}

void ClientSafeBrowsingReportRequest_HTTPHeader::CopyFrom(const ClientSafeBrowsingReportRequest_HTTPHeader& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest_HTTPHeader::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
  return true;
}

void ClientSafeBrowsingReportRequest_HTTPHeader::Swap(ClientSafeBrowsingReportRequest_HTTPHeader* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest_HTTPHeader::InternalSwap(ClientSafeBrowsingReportRequest_HTTPHeader* other) {
  using std::swap;
  name_.Swap(&other->name_);
  value_.Swap(&other->value_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest_HTTPHeader::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest_HTTPHeader

// required bytes name = 1;
bool ClientSafeBrowsingReportRequest_HTTPHeader::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPHeader::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPHeader::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPHeader::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
  return name_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPHeader::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPHeader::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_name(const void* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPHeader::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPHeader::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.name)
}

// optional bytes value = 2;
bool ClientSafeBrowsingReportRequest_HTTPHeader::has_value() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_has_value() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPHeader::clear_has_value() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPHeader::clear_value() {
  value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_value();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPHeader::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
  return value_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_value(const ::std::string& value) {
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPHeader::set_value(::std::string&& value) {
  set_has_value();
  value_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPHeader::set_value(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_value(const void* value, size_t size) {
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPHeader::mutable_value() {
  set_has_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
  return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPHeader::release_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
  clear_has_value();
  return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPHeader::set_allocated_value(::std::string* value) {
  if (value != NULL) {
    set_has_value();
  } else {
    clear_has_value();
  }
  value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader.value)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::kVerbFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::kUriFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::kVersionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
}
ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine(const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  verb_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_verb()) {
    verb_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verb_);
  }
  uri_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_uri()) {
    uri_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.uri_);
  }
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_version()) {
    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::SharedCtor() {
  _cached_size_ = 0;
  verb_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  uri_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::~ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::SharedDtor() {
  verb_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  uri_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* n = new ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!verb_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*verb_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!uri_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*uri_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*version_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes verb = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_verb()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes uri = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_uri()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes version = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_version()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes verb = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->verb(), output);
  }

  // optional bytes uri = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->uri(), output);
  }

  // optional bytes version = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->version(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
}

size_t ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional bytes verb = 1;
    if (has_verb()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->verb());
    }

    // optional bytes uri = 2;
    if (has_uri()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->uri());
    }

    // optional bytes version = 3;
    if (has_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->version());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine*>(&from));
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::MergeFrom(const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_verb();
      verb_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verb_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_uri();
      uri_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.uri_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_version();
      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
    }
  }
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::CopyFrom(const ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::IsInitialized() const {
  return true;
}

void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::Swap(ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::InternalSwap(ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* other) {
  using std::swap;
  verb_.Swap(&other->verb_);
  uri_.Swap(&other->uri_);
  version_.Swap(&other->version_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine

// optional bytes verb = 1;
bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::has_verb() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_has_verb() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_has_verb() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_verb() {
  verb_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_verb();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::verb() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
  return verb_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_verb(const ::std::string& value) {
  set_has_verb();
  verb_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_verb(::std::string&& value) {
  set_has_verb();
  verb_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_verb(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_verb();
  verb_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_verb(const void* value, size_t size) {
  set_has_verb();
  verb_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::mutable_verb() {
  set_has_verb();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
  return verb_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::release_verb() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
  clear_has_verb();
  return verb_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_allocated_verb(::std::string* verb) {
  if (verb != NULL) {
    set_has_verb();
  } else {
    clear_has_verb();
  }
  verb_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), verb);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.verb)
}

// optional bytes uri = 2;
bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::has_uri() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_has_uri() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_has_uri() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_uri() {
  uri_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_uri();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::uri() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
  return uri_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_uri(const ::std::string& value) {
  set_has_uri();
  uri_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_uri(::std::string&& value) {
  set_has_uri();
  uri_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_uri(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_uri();
  uri_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_uri(const void* value, size_t size) {
  set_has_uri();
  uri_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::mutable_uri() {
  set_has_uri();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
  return uri_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::release_uri() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
  clear_has_uri();
  return uri_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_allocated_uri(::std::string* uri) {
  if (uri != NULL) {
    set_has_uri();
  } else {
    clear_has_uri();
  }
  uri_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), uri);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.uri)
}

// optional bytes version = 3;
bool ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::has_version() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_has_version() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_has_version() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::clear_version() {
  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_version();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
  return version_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_version(const ::std::string& value) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_version(::std::string&& value) {
  set_has_version();
  version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_version(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_version(const void* value, size_t size) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::mutable_version() {
  set_has_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
  clear_has_version();
  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::set_allocated_version(::std::string* version) {
  if (version != NULL) {
    set_has_version();
  } else {
    clear_has_version();
  }
  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine.version)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest_HTTPRequest::kFirstlineFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPRequest::kHeadersFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPRequest::kBodyFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPRequest::kBodydigestFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPRequest::kBodylengthFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest_HTTPRequest::ClientSafeBrowsingReportRequest_HTTPRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
}
ClientSafeBrowsingReportRequest_HTTPRequest::ClientSafeBrowsingReportRequest_HTTPRequest(const ClientSafeBrowsingReportRequest_HTTPRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      headers_(from.headers_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  body_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_body()) {
    body_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.body_);
  }
  bodydigest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_bodydigest()) {
    bodydigest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bodydigest_);
  }
  if (from.has_firstline()) {
    firstline_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine(*from.firstline_);
  } else {
    firstline_ = NULL;
  }
  bodylength_ = from.bodylength_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
}

void ClientSafeBrowsingReportRequest_HTTPRequest::SharedCtor() {
  _cached_size_ = 0;
  body_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  bodydigest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&firstline_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&bodylength_) -
      reinterpret_cast<char*>(&firstline_)) + sizeof(bodylength_));
}

ClientSafeBrowsingReportRequest_HTTPRequest::~ClientSafeBrowsingReportRequest_HTTPRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest_HTTPRequest::SharedDtor() {
  body_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  bodydigest_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete firstline_;
}

void ClientSafeBrowsingReportRequest_HTTPRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest_HTTPRequest& ClientSafeBrowsingReportRequest_HTTPRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest_HTTPRequest* ClientSafeBrowsingReportRequest_HTTPRequest::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest_HTTPRequest* n = new ClientSafeBrowsingReportRequest_HTTPRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest_HTTPRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  headers_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!body_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*body_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!bodydigest_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*bodydigest_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(firstline_ != NULL);
      firstline_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::Clear();
    }
  }
  bodylength_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest_HTTPRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine firstline = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_firstline()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes body = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_body()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes bodydigest = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_bodydigest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 bodylength = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_bodylength();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &bodylength_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest_HTTPRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine firstline = 1;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, *this->firstline_, output);
  }

  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->headers_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, this->headers(static_cast<int>(i)), output);
  }

  // optional bytes body = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->body(), output);
  }

  // optional bytes bodydigest = 4;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      4, this->bodydigest(), output);
  }

  // optional int32 bodylength = 5;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->bodylength(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
}

size_t ClientSafeBrowsingReportRequest_HTTPRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
  {
    unsigned int count = static_cast<unsigned int>(this->headers_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->headers(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 15u) {
    // optional bytes body = 3;
    if (has_body()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->body());
    }

    // optional bytes bodydigest = 4;
    if (has_bodydigest()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->bodydigest());
    }

    // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine firstline = 1;
    if (has_firstline()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->firstline_);
    }

    // optional int32 bodylength = 5;
    if (has_bodylength()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->bodylength());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest_HTTPRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_HTTPRequest*>(&from));
}

void ClientSafeBrowsingReportRequest_HTTPRequest::MergeFrom(const ClientSafeBrowsingReportRequest_HTTPRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  headers_.MergeFrom(from.headers_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_body();
      body_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.body_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_bodydigest();
      bodydigest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bodydigest_);
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_firstline()->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::MergeFrom(from.firstline());
    }
    if (cached_has_bits & 0x00000008u) {
      bodylength_ = from.bodylength_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientSafeBrowsingReportRequest_HTTPRequest::CopyFrom(const ClientSafeBrowsingReportRequest_HTTPRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest_HTTPRequest::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->headers())) return false;
  return true;
}

void ClientSafeBrowsingReportRequest_HTTPRequest::Swap(ClientSafeBrowsingReportRequest_HTTPRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest_HTTPRequest::InternalSwap(ClientSafeBrowsingReportRequest_HTTPRequest* other) {
  using std::swap;
  headers_.InternalSwap(&other->headers_);
  body_.Swap(&other->body_);
  bodydigest_.Swap(&other->bodydigest_);
  swap(firstline_, other->firstline_);
  swap(bodylength_, other->bodylength_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest_HTTPRequest::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest_HTTPRequest

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.FirstLine firstline = 1;
bool ClientSafeBrowsingReportRequest_HTTPRequest::has_firstline() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_has_firstline() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_has_firstline() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_firstline() {
  if (firstline_ != NULL) firstline_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine::Clear();
  clear_has_firstline();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine& ClientSafeBrowsingReportRequest_HTTPRequest::firstline() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* p = firstline_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine*>(
      &::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine_default_instance_);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_firstline() {
  set_has_firstline();
  if (firstline_ == NULL) {
    firstline_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
  return firstline_;
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* ClientSafeBrowsingReportRequest_HTTPRequest::release_firstline() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
  clear_has_firstline();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* temp = firstline_;
  firstline_ = NULL;
  return temp;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_allocated_firstline(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest_FirstLine* firstline) {
  delete firstline_;
  firstline_ = firstline;
  if (firstline) {
    set_has_firstline();
  } else {
    clear_has_firstline();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.firstline)
}

// repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
int ClientSafeBrowsingReportRequest_HTTPRequest::headers_size() const {
  return headers_.size();
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_headers() {
  headers_.Clear();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& ClientSafeBrowsingReportRequest_HTTPRequest::headers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return headers_.Get(index);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_headers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return headers_.Mutable(index);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPRequest::add_headers() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return headers_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >*
ClientSafeBrowsingReportRequest_HTTPRequest::mutable_headers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return &headers_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >&
ClientSafeBrowsingReportRequest_HTTPRequest::headers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.headers)
  return headers_;
}

// optional bytes body = 3;
bool ClientSafeBrowsingReportRequest_HTTPRequest::has_body() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_has_body() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_has_body() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_body() {
  body_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_body();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPRequest::body() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
  return body_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_body(const ::std::string& value) {
  set_has_body();
  body_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPRequest::set_body(::std::string&& value) {
  set_has_body();
  body_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPRequest::set_body(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_body();
  body_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_body(const void* value, size_t size) {
  set_has_body();
  body_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_body() {
  set_has_body();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
  return body_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest::release_body() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
  clear_has_body();
  return body_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_allocated_body(::std::string* body) {
  if (body != NULL) {
    set_has_body();
  } else {
    clear_has_body();
  }
  body_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), body);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.body)
}

// optional bytes bodydigest = 4;
bool ClientSafeBrowsingReportRequest_HTTPRequest::has_bodydigest() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_has_bodydigest() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_has_bodydigest() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_bodydigest() {
  bodydigest_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_bodydigest();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPRequest::bodydigest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
  return bodydigest_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_bodydigest(const ::std::string& value) {
  set_has_bodydigest();
  bodydigest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPRequest::set_bodydigest(::std::string&& value) {
  set_has_bodydigest();
  bodydigest_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPRequest::set_bodydigest(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_bodydigest();
  bodydigest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_bodydigest(const void* value, size_t size) {
  set_has_bodydigest();
  bodydigest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest::mutable_bodydigest() {
  set_has_bodydigest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
  return bodydigest_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPRequest::release_bodydigest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
  clear_has_bodydigest();
  return bodydigest_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_allocated_bodydigest(::std::string* bodydigest) {
  if (bodydigest != NULL) {
    set_has_bodydigest();
  } else {
    clear_has_bodydigest();
  }
  bodydigest_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), bodydigest);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodydigest)
}

// optional int32 bodylength = 5;
bool ClientSafeBrowsingReportRequest_HTTPRequest::has_bodylength() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_has_bodylength() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_has_bodylength() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::clear_bodylength() {
  bodylength_ = 0;
  clear_has_bodylength();
}
::google::protobuf::int32 ClientSafeBrowsingReportRequest_HTTPRequest::bodylength() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodylength)
  return bodylength_;
}
void ClientSafeBrowsingReportRequest_HTTPRequest::set_bodylength(::google::protobuf::int32 value) {
  set_has_bodylength();
  bodylength_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest.bodylength)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::kCodeFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::kMessageFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::kVersionFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
}
ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine(const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_message()) {
    message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
  }
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_version()) {
    version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
  }
  code_ = from.code_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::SharedCtor() {
  _cached_size_ = 0;
  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  code_ = 0;
}

ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::~ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::SharedDtor() {
  message_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* n = new ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!message_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*message_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*version_.UnsafeRawStringPointer())->clear();
    }
  }
  code_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 code = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_code();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &code_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes message = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_message()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes version = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_version()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 code = 1;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->code(), output);
  }

  // optional bytes message = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      2, this->message(), output);
  }

  // optional bytes version = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->version(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
}

size_t ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 7u) {
    // optional bytes message = 2;
    if (has_message()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->message());
    }

    // optional bytes version = 3;
    if (has_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->version());
    }

    // optional int32 code = 1;
    if (has_code()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->code());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine*>(&from));
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::MergeFrom(const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_message();
      message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_version();
      version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.version_);
    }
    if (cached_has_bits & 0x00000004u) {
      code_ = from.code_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::CopyFrom(const ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::IsInitialized() const {
  return true;
}

void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::Swap(ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::InternalSwap(ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* other) {
  using std::swap;
  message_.Swap(&other->message_);
  version_.Swap(&other->version_);
  swap(code_, other->code_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine

// optional int32 code = 1;
bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_code() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_code() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_has_code() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_code() {
  code_ = 0;
  clear_has_code();
}
::google::protobuf::int32 ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::code() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.code)
  return code_;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_code(::google::protobuf::int32 value) {
  set_has_code();
  code_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.code)
}

// optional bytes message = 2;
bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_message() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_message() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_has_message() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_message() {
  message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_message();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::message() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
  return message_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const ::std::string& value) {
  set_has_message();
  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(::std::string&& value) {
  set_has_message();
  message_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_message();
  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_message(const void* value, size_t size) {
  set_has_message();
  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_message() {
  set_has_message();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
  return message_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_message() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
  clear_has_message();
  return message_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_message(::std::string* message) {
  if (message != NULL) {
    set_has_message();
  } else {
    clear_has_message();
  }
  message_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.message)
}

// optional bytes version = 3;
bool ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::has_version() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_has_version() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_has_version() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::clear_version() {
  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_version();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
  return version_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_version(const ::std::string& value) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_version(::std::string&& value) {
  set_has_version();
  version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_version(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_version(const void* value, size_t size) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::mutable_version() {
  set_has_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::release_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
  clear_has_version();
  return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::set_allocated_version(::std::string* version) {
  if (version != NULL) {
    set_has_version();
  } else {
    clear_has_version();
  }
  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine.version)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest_HTTPResponse::kFirstlineFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPResponse::kHeadersFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPResponse::kBodyFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPResponse::kBodydigestFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPResponse::kBodylengthFieldNumber;
const int ClientSafeBrowsingReportRequest_HTTPResponse::kRemoteIpFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest_HTTPResponse::ClientSafeBrowsingReportRequest_HTTPResponse()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
}
ClientSafeBrowsingReportRequest_HTTPResponse::ClientSafeBrowsingReportRequest_HTTPResponse(const ClientSafeBrowsingReportRequest_HTTPResponse& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      headers_(from.headers_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  body_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_body()) {
    body_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.body_);
  }
  bodydigest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_bodydigest()) {
    bodydigest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bodydigest_);
  }
  remote_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_remote_ip()) {
    remote_ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.remote_ip_);
  }
  if (from.has_firstline()) {
    firstline_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine(*from.firstline_);
  } else {
    firstline_ = NULL;
  }
  bodylength_ = from.bodylength_;
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
}

void ClientSafeBrowsingReportRequest_HTTPResponse::SharedCtor() {
  _cached_size_ = 0;
  body_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  bodydigest_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  remote_ip_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&firstline_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&bodylength_) -
      reinterpret_cast<char*>(&firstline_)) + sizeof(bodylength_));
}

ClientSafeBrowsingReportRequest_HTTPResponse::~ClientSafeBrowsingReportRequest_HTTPResponse() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest_HTTPResponse::SharedDtor() {
  body_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  bodydigest_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  remote_ip_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete firstline_;
}

void ClientSafeBrowsingReportRequest_HTTPResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest_HTTPResponse& ClientSafeBrowsingReportRequest_HTTPResponse::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest_HTTPResponse* ClientSafeBrowsingReportRequest_HTTPResponse::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest_HTTPResponse* n = new ClientSafeBrowsingReportRequest_HTTPResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest_HTTPResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  headers_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!body_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*body_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!bodydigest_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*bodydigest_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!remote_ip_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*remote_ip_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(firstline_ != NULL);
      firstline_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::Clear();
    }
  }
  bodylength_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest_HTTPResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine firstline = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_firstline()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_headers()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes body = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_body()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes bodydigest = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_bodydigest()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 bodylength = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_bodylength();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &bodylength_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes remote_ip = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_remote_ip()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest_HTTPResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine firstline = 1;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      1, *this->firstline_, output);
  }

  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->headers_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, this->headers(static_cast<int>(i)), output);
  }

  // optional bytes body = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      3, this->body(), output);
  }

  // optional bytes bodydigest = 4;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      4, this->bodydigest(), output);
  }

  // optional int32 bodylength = 5;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->bodylength(), output);
  }

  // optional bytes remote_ip = 6;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      6, this->remote_ip(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
}

size_t ClientSafeBrowsingReportRequest_HTTPResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
  {
    unsigned int count = static_cast<unsigned int>(this->headers_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->headers(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 31u) {
    // optional bytes body = 3;
    if (has_body()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->body());
    }

    // optional bytes bodydigest = 4;
    if (has_bodydigest()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->bodydigest());
    }

    // optional bytes remote_ip = 6;
    if (has_remote_ip()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->remote_ip());
    }

    // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine firstline = 1;
    if (has_firstline()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->firstline_);
    }

    // optional int32 bodylength = 5;
    if (has_bodylength()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->bodylength());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest_HTTPResponse::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_HTTPResponse*>(&from));
}

void ClientSafeBrowsingReportRequest_HTTPResponse::MergeFrom(const ClientSafeBrowsingReportRequest_HTTPResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  headers_.MergeFrom(from.headers_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 31u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_body();
      body_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.body_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_bodydigest();
      bodydigest_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.bodydigest_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_remote_ip();
      remote_ip_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.remote_ip_);
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_firstline()->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::MergeFrom(from.firstline());
    }
    if (cached_has_bits & 0x00000010u) {
      bodylength_ = from.bodylength_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientSafeBrowsingReportRequest_HTTPResponse::CopyFrom(const ClientSafeBrowsingReportRequest_HTTPResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest_HTTPResponse::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->headers())) return false;
  return true;
}

void ClientSafeBrowsingReportRequest_HTTPResponse::Swap(ClientSafeBrowsingReportRequest_HTTPResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest_HTTPResponse::InternalSwap(ClientSafeBrowsingReportRequest_HTTPResponse* other) {
  using std::swap;
  headers_.InternalSwap(&other->headers_);
  body_.Swap(&other->body_);
  bodydigest_.Swap(&other->bodydigest_);
  remote_ip_.Swap(&other->remote_ip_);
  swap(firstline_, other->firstline_);
  swap(bodylength_, other->bodylength_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest_HTTPResponse::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest_HTTPResponse

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.FirstLine firstline = 1;
bool ClientSafeBrowsingReportRequest_HTTPResponse::has_firstline() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_has_firstline() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_has_firstline() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_firstline() {
  if (firstline_ != NULL) firstline_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine::Clear();
  clear_has_firstline();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine& ClientSafeBrowsingReportRequest_HTTPResponse::firstline() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* p = firstline_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine*>(
      &::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine_default_instance_);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_firstline() {
  set_has_firstline();
  if (firstline_ == NULL) {
    firstline_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
  return firstline_;
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* ClientSafeBrowsingReportRequest_HTTPResponse::release_firstline() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
  clear_has_firstline();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* temp = firstline_;
  firstline_ = NULL;
  return temp;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_firstline(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse_FirstLine* firstline) {
  delete firstline_;
  firstline_ = firstline;
  if (firstline) {
    set_has_firstline();
  } else {
    clear_has_firstline();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.firstline)
}

// repeated .safe_browsing.ClientSafeBrowsingReportRequest.HTTPHeader headers = 2;
int ClientSafeBrowsingReportRequest_HTTPResponse::headers_size() const {
  return headers_.size();
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_headers() {
  headers_.Clear();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader& ClientSafeBrowsingReportRequest_HTTPResponse::headers(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return headers_.Get(index);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_headers(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return headers_.Mutable(index);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader* ClientSafeBrowsingReportRequest_HTTPResponse::add_headers() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return headers_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >*
ClientSafeBrowsingReportRequest_HTTPResponse::mutable_headers() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return &headers_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPHeader >&
ClientSafeBrowsingReportRequest_HTTPResponse::headers() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.headers)
  return headers_;
}

// optional bytes body = 3;
bool ClientSafeBrowsingReportRequest_HTTPResponse::has_body() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_has_body() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_has_body() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_body() {
  body_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_body();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse::body() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
  return body_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_body(const ::std::string& value) {
  set_has_body();
  body_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPResponse::set_body(::std::string&& value) {
  set_has_body();
  body_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPResponse::set_body(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_body();
  body_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_body(const void* value, size_t size) {
  set_has_body();
  body_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_body() {
  set_has_body();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
  return body_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse::release_body() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
  clear_has_body();
  return body_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_body(::std::string* body) {
  if (body != NULL) {
    set_has_body();
  } else {
    clear_has_body();
  }
  body_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), body);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.body)
}

// optional bytes bodydigest = 4;
bool ClientSafeBrowsingReportRequest_HTTPResponse::has_bodydigest() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_has_bodydigest() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_has_bodydigest() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_bodydigest() {
  bodydigest_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_bodydigest();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse::bodydigest() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
  return bodydigest_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_bodydigest(const ::std::string& value) {
  set_has_bodydigest();
  bodydigest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPResponse::set_bodydigest(::std::string&& value) {
  set_has_bodydigest();
  bodydigest_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPResponse::set_bodydigest(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_bodydigest();
  bodydigest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_bodydigest(const void* value, size_t size) {
  set_has_bodydigest();
  bodydigest_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_bodydigest() {
  set_has_bodydigest();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
  return bodydigest_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse::release_bodydigest() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
  clear_has_bodydigest();
  return bodydigest_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_bodydigest(::std::string* bodydigest) {
  if (bodydigest != NULL) {
    set_has_bodydigest();
  } else {
    clear_has_bodydigest();
  }
  bodydigest_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), bodydigest);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodydigest)
}

// optional int32 bodylength = 5;
bool ClientSafeBrowsingReportRequest_HTTPResponse::has_bodylength() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_has_bodylength() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_has_bodylength() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_bodylength() {
  bodylength_ = 0;
  clear_has_bodylength();
}
::google::protobuf::int32 ClientSafeBrowsingReportRequest_HTTPResponse::bodylength() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodylength)
  return bodylength_;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_bodylength(::google::protobuf::int32 value) {
  set_has_bodylength();
  bodylength_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.bodylength)
}

// optional bytes remote_ip = 6;
bool ClientSafeBrowsingReportRequest_HTTPResponse::has_remote_ip() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_has_remote_ip() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_has_remote_ip() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientSafeBrowsingReportRequest_HTTPResponse::clear_remote_ip() {
  remote_ip_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_remote_ip();
}
const ::std::string& ClientSafeBrowsingReportRequest_HTTPResponse::remote_ip() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
  return remote_ip_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_remote_ip(const ::std::string& value) {
  set_has_remote_ip();
  remote_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_HTTPResponse::set_remote_ip(::std::string&& value) {
  set_has_remote_ip();
  remote_ip_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
}
#endif
void ClientSafeBrowsingReportRequest_HTTPResponse::set_remote_ip(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_remote_ip();
  remote_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_remote_ip(const void* value, size_t size) {
  set_has_remote_ip();
  remote_ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse::mutable_remote_ip() {
  set_has_remote_ip();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
  return remote_ip_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_HTTPResponse::release_remote_ip() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
  clear_has_remote_ip();
  return remote_ip_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_HTTPResponse::set_allocated_remote_ip(::std::string* remote_ip) {
  if (remote_ip != NULL) {
    set_has_remote_ip();
  } else {
    clear_has_remote_ip();
  }
  remote_ip_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), remote_ip);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse.remote_ip)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest_Resource::kIdFieldNumber;
const int ClientSafeBrowsingReportRequest_Resource::kUrlFieldNumber;
const int ClientSafeBrowsingReportRequest_Resource::kRequestFieldNumber;
const int ClientSafeBrowsingReportRequest_Resource::kResponseFieldNumber;
const int ClientSafeBrowsingReportRequest_Resource::kParentIdFieldNumber;
const int ClientSafeBrowsingReportRequest_Resource::kChildIdsFieldNumber;
const int ClientSafeBrowsingReportRequest_Resource::kTagNameFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest_Resource::ClientSafeBrowsingReportRequest_Resource()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
}
ClientSafeBrowsingReportRequest_Resource::ClientSafeBrowsingReportRequest_Resource(const ClientSafeBrowsingReportRequest_Resource& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      child_ids_(from.child_ids_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  tag_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_tag_name()) {
    tag_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_name_);
  }
  if (from.has_request()) {
    request_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest(*from.request_);
  } else {
    request_ = NULL;
  }
  if (from.has_response()) {
    response_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse(*from.response_);
  } else {
    response_ = NULL;
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&parent_id_) -
    reinterpret_cast<char*>(&id_)) + sizeof(parent_id_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
}

void ClientSafeBrowsingReportRequest_Resource::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  tag_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&request_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&parent_id_) -
      reinterpret_cast<char*>(&request_)) + sizeof(parent_id_));
}

ClientSafeBrowsingReportRequest_Resource::~ClientSafeBrowsingReportRequest_Resource() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest_Resource::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  tag_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete request_;
  if (this != internal_default_instance()) delete response_;
}

void ClientSafeBrowsingReportRequest_Resource::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest_Resource& ClientSafeBrowsingReportRequest_Resource::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest_Resource* ClientSafeBrowsingReportRequest_Resource::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest_Resource* n = new ClientSafeBrowsingReportRequest_Resource;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest_Resource::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  child_ids_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!tag_name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*tag_name_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(request_ != NULL);
      request_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest::Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(response_ != NULL);
      response_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse::Clear();
    }
  }
  if (cached_has_bits & 48u) {
    ::memset(&id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&parent_id_) -
        reinterpret_cast<char*>(&id_)) + sizeof(parent_id_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest_Resource::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string url = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest request = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_request()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse response = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_response()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 parent_id = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_parent_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &parent_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated int32 child_ids = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 1, 48u, input, this->mutable_child_ids())));
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, this->mutable_child_ids())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string tag_name = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_tag_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest_Resource::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required int32 id = 1;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->id(), output);
  }

  // optional string url = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->url(), output);
  }

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest request = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->request_, output);
  }

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse response = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, *this->response_, output);
  }

  // optional int32 parent_id = 5;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->parent_id(), output);
  }

  // repeated int32 child_ids = 6;
  for (int i = 0, n = this->child_ids_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(
      6, this->child_ids(i), output);
  }

  // optional string tag_name = 7;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      7, this->tag_name(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
}

size_t ClientSafeBrowsingReportRequest_Resource::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // required int32 id = 1;
  if (has_id()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->id());
  }
  // repeated int32 child_ids = 6;
  {
    size_t data_size = ::google::protobuf::internal::WireFormatLite::
      Int32Size(this->child_ids_);
    total_size += 1 *
                  ::google::protobuf::internal::FromIntSize(this->child_ids_size());
    total_size += data_size;
  }

  if (_has_bits_[0 / 32] & 15u) {
    // optional string url = 2;
    if (has_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->url());
    }

    // optional string tag_name = 7;
    if (has_tag_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->tag_name());
    }

    // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest request = 3;
    if (has_request()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->request_);
    }

    // optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse response = 4;
    if (has_response()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->response_);
    }

  }
  // optional int32 parent_id = 5;
  if (has_parent_id()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->parent_id());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest_Resource::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_Resource*>(&from));
}

void ClientSafeBrowsingReportRequest_Resource::MergeFrom(const ClientSafeBrowsingReportRequest_Resource& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  child_ids_.MergeFrom(from.child_ids_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_tag_name();
      tag_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_name_);
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_request()->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest::MergeFrom(from.request());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_response()->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse::MergeFrom(from.response());
    }
    if (cached_has_bits & 0x00000010u) {
      id_ = from.id_;
    }
    if (cached_has_bits & 0x00000020u) {
      parent_id_ = from.parent_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientSafeBrowsingReportRequest_Resource::CopyFrom(const ClientSafeBrowsingReportRequest_Resource& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.Resource)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest_Resource::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000010) != 0x00000010) return false;
  if (has_request()) {
    if (!this->request_->IsInitialized()) return false;
  }
  if (has_response()) {
    if (!this->response_->IsInitialized()) return false;
  }
  return true;
}

void ClientSafeBrowsingReportRequest_Resource::Swap(ClientSafeBrowsingReportRequest_Resource* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest_Resource::InternalSwap(ClientSafeBrowsingReportRequest_Resource* other) {
  using std::swap;
  child_ids_.InternalSwap(&other->child_ids_);
  url_.Swap(&other->url_);
  tag_name_.Swap(&other->tag_name_);
  swap(request_, other->request_);
  swap(response_, other->response_);
  swap(id_, other->id_);
  swap(parent_id_, other->parent_id_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest_Resource::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest.Resource";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest_Resource

// required int32 id = 1;
bool ClientSafeBrowsingReportRequest_Resource::has_id() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientSafeBrowsingReportRequest_Resource::set_has_id() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_has_id() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_id() {
  id_ = 0;
  clear_has_id();
}
::google::protobuf::int32 ClientSafeBrowsingReportRequest_Resource::id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.id)
  return id_;
}
void ClientSafeBrowsingReportRequest_Resource::set_id(::google::protobuf::int32 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.id)
}

// optional string url = 2;
bool ClientSafeBrowsingReportRequest_Resource::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest_Resource::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientSafeBrowsingReportRequest_Resource::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
  return url_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_Resource::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_Resource::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
}
#endif
void ClientSafeBrowsingReportRequest_Resource::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
}
void ClientSafeBrowsingReportRequest_Resource::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
}
::std::string* ClientSafeBrowsingReportRequest_Resource::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_Resource::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_Resource::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.url)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPRequest request = 3;
bool ClientSafeBrowsingReportRequest_Resource::has_request() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientSafeBrowsingReportRequest_Resource::set_has_request() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_has_request() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_request() {
  if (request_ != NULL) request_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest::Clear();
  clear_has_request();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest& ClientSafeBrowsingReportRequest_Resource::request() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* p = request_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest*>(
      &::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPRequest_default_instance_);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* ClientSafeBrowsingReportRequest_Resource::mutable_request() {
  set_has_request();
  if (request_ == NULL) {
    request_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
  return request_;
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* ClientSafeBrowsingReportRequest_Resource::release_request() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
  clear_has_request();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* temp = request_;
  request_ = NULL;
  return temp;
}
void ClientSafeBrowsingReportRequest_Resource::set_allocated_request(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPRequest* request) {
  delete request_;
  request_ = request;
  if (request) {
    set_has_request();
  } else {
    clear_has_request();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.request)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.HTTPResponse response = 4;
bool ClientSafeBrowsingReportRequest_Resource::has_response() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientSafeBrowsingReportRequest_Resource::set_has_response() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_has_response() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_response() {
  if (response_ != NULL) response_->::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse::Clear();
  clear_has_response();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse& ClientSafeBrowsingReportRequest_Resource::response() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* p = response_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse*>(
      &::safe_browsing::_ClientSafeBrowsingReportRequest_HTTPResponse_default_instance_);
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* ClientSafeBrowsingReportRequest_Resource::mutable_response() {
  set_has_response();
  if (response_ == NULL) {
    response_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
  return response_;
}
::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* ClientSafeBrowsingReportRequest_Resource::release_response() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
  clear_has_response();
  ::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* temp = response_;
  response_ = NULL;
  return temp;
}
void ClientSafeBrowsingReportRequest_Resource::set_allocated_response(::safe_browsing::ClientSafeBrowsingReportRequest_HTTPResponse* response) {
  delete response_;
  response_ = response;
  if (response) {
    set_has_response();
  } else {
    clear_has_response();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.response)
}

// optional int32 parent_id = 5;
bool ClientSafeBrowsingReportRequest_Resource::has_parent_id() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ClientSafeBrowsingReportRequest_Resource::set_has_parent_id() {
  _has_bits_[0] |= 0x00000020u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_has_parent_id() {
  _has_bits_[0] &= ~0x00000020u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_parent_id() {
  parent_id_ = 0;
  clear_has_parent_id();
}
::google::protobuf::int32 ClientSafeBrowsingReportRequest_Resource::parent_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.parent_id)
  return parent_id_;
}
void ClientSafeBrowsingReportRequest_Resource::set_parent_id(::google::protobuf::int32 value) {
  set_has_parent_id();
  parent_id_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.parent_id)
}

// repeated int32 child_ids = 6;
int ClientSafeBrowsingReportRequest_Resource::child_ids_size() const {
  return child_ids_.size();
}
void ClientSafeBrowsingReportRequest_Resource::clear_child_ids() {
  child_ids_.Clear();
}
::google::protobuf::int32 ClientSafeBrowsingReportRequest_Resource::child_ids(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
  return child_ids_.Get(index);
}
void ClientSafeBrowsingReportRequest_Resource::set_child_ids(int index, ::google::protobuf::int32 value) {
  child_ids_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
}
void ClientSafeBrowsingReportRequest_Resource::add_child_ids(::google::protobuf::int32 value) {
  child_ids_.Add(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
}
const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
ClientSafeBrowsingReportRequest_Resource::child_ids() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
  return child_ids_;
}
::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
ClientSafeBrowsingReportRequest_Resource::mutable_child_ids() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.Resource.child_ids)
  return &child_ids_;
}

// optional string tag_name = 7;
bool ClientSafeBrowsingReportRequest_Resource::has_tag_name() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest_Resource::set_has_tag_name() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_has_tag_name() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest_Resource::clear_tag_name() {
  tag_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_tag_name();
}
const ::std::string& ClientSafeBrowsingReportRequest_Resource::tag_name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
  return tag_name_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_Resource::set_tag_name(const ::std::string& value) {
  set_has_tag_name();
  tag_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_Resource::set_tag_name(::std::string&& value) {
  set_has_tag_name();
  tag_name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
}
#endif
void ClientSafeBrowsingReportRequest_Resource::set_tag_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_tag_name();
  tag_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
}
void ClientSafeBrowsingReportRequest_Resource::set_tag_name(const char* value, size_t size) {
  set_has_tag_name();
  tag_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
}
::std::string* ClientSafeBrowsingReportRequest_Resource::mutable_tag_name() {
  set_has_tag_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
  return tag_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_Resource::release_tag_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
  clear_has_tag_name();
  return tag_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_Resource::set_allocated_tag_name(::std::string* tag_name) {
  if (tag_name != NULL) {
    set_has_tag_name();
  } else {
    clear_has_tag_name();
  }
  tag_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag_name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.Resource.tag_name)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kClientVersionFieldNumber;
const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kGooglePlayServicesVersionFieldNumber;
const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kIsInstantAppsFieldNumber;
const int ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::kUrlApiTypeFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
}
ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  client_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_client_version()) {
    client_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_version_);
  }
  ::memcpy(&google_play_services_version_, &from.google_play_services_version_,
    static_cast<size_t>(reinterpret_cast<char*>(&url_api_type_) -
    reinterpret_cast<char*>(&google_play_services_version_)) + sizeof(url_api_type_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SharedCtor() {
  _cached_size_ = 0;
  client_version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&google_play_services_version_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&url_api_type_) -
      reinterpret_cast<char*>(&google_play_services_version_)) + sizeof(url_api_type_));
}

ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::~ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SharedDtor() {
  client_version_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* n = new ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (has_client_version()) {
    GOOGLE_DCHECK(!client_version_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*client_version_.UnsafeRawStringPointer())->clear();
  }
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 14u) {
    ::memset(&google_play_services_version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&url_api_type_) -
        reinterpret_cast<char*>(&google_play_services_version_)) + sizeof(url_api_type_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string client_version = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_client_version()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int64 google_play_services_version = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_google_play_services_version();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &google_play_services_version_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool is_instant_apps = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_is_instant_apps();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &is_instant_apps_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value)) {
            set_url_api_type(static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(32u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string client_version = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->client_version(), output);
  }

  // optional int64 google_play_services_version = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->google_play_services_version(), output);
  }

  // optional bool is_instant_apps = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->is_instant_apps(), output);
  }

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->url_api_type(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
}

size_t ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional string client_version = 1;
    if (has_client_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->client_version());
    }

    // optional int64 google_play_services_version = 2;
    if (has_google_play_services_version()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->google_play_services_version());
    }

    // optional bool is_instant_apps = 3;
    if (has_is_instant_apps()) {
      total_size += 1 + 1;
    }

    // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
    if (has_url_api_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->url_api_type());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(&from));
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::MergeFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_client_version();
      client_version_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_version_);
    }
    if (cached_has_bits & 0x00000002u) {
      google_play_services_version_ = from.google_play_services_version_;
    }
    if (cached_has_bits & 0x00000004u) {
      is_instant_apps_ = from.is_instant_apps_;
    }
    if (cached_has_bits & 0x00000008u) {
      url_api_type_ = from.url_api_type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::CopyFrom(const ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::IsInitialized() const {
  return true;
}

void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Swap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::InternalSwap(ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* other) {
  using std::swap;
  client_version_.Swap(&other->client_version_);
  swap(google_play_services_version_, other->google_play_services_version_);
  swap(is_instant_apps_, other->is_instant_apps_);
  swap(url_api_type_, other->url_api_type_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties

// optional string client_version = 1;
bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_client_version() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_client_version() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_client_version() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_client_version() {
  client_version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_client_version();
}
const ::std::string& ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::client_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
  return client_version_.GetNoArena();
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const ::std::string& value) {
  set_has_client_version();
  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(::std::string&& value) {
  set_has_client_version();
  client_version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
}
#endif
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_client_version();
  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_client_version(const char* value, size_t size) {
  set_has_client_version();
  client_version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
}
::std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::mutable_client_version() {
  set_has_client_version();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
  return client_version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::release_client_version() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
  clear_has_client_version();
  return client_version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_allocated_client_version(::std::string* client_version) {
  if (client_version != NULL) {
    set_has_client_version();
  } else {
    clear_has_client_version();
  }
  client_version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), client_version);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.client_version)
}

// optional int64 google_play_services_version = 2;
bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_google_play_services_version() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_google_play_services_version() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_google_play_services_version() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_google_play_services_version() {
  google_play_services_version_ = GOOGLE_LONGLONG(0);
  clear_has_google_play_services_version();
}
::google::protobuf::int64 ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::google_play_services_version() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.google_play_services_version)
  return google_play_services_version_;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_google_play_services_version(::google::protobuf::int64 value) {
  set_has_google_play_services_version();
  google_play_services_version_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.google_play_services_version)
}

// optional bool is_instant_apps = 3;
bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_is_instant_apps() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_is_instant_apps() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_is_instant_apps() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_is_instant_apps() {
  is_instant_apps_ = false;
  clear_has_is_instant_apps();
}
bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::is_instant_apps() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.is_instant_apps)
  return is_instant_apps_;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_is_instant_apps(bool value) {
  set_has_is_instant_apps();
  is_instant_apps_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.is_instant_apps)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingUrlApiType url_api_type = 4;
bool ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::has_url_api_type() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_has_url_api_type() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_has_url_api_type() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::clear_url_api_type() {
  url_api_type_ = 0;
  clear_has_url_api_type();
}
::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::url_api_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.url_api_type)
  return static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType >(url_api_type_);
}
void ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::set_url_api_type(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType value) {
  assert(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingUrlApiType_IsValid(value));
  set_has_url_api_type();
  url_api_type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties.url_api_type)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ClientSafeBrowsingReportRequest::kTypeFieldNumber;
const int ClientSafeBrowsingReportRequest::kDownloadVerdictFieldNumber;
const int ClientSafeBrowsingReportRequest::kUrlFieldNumber;
const int ClientSafeBrowsingReportRequest::kPageUrlFieldNumber;
const int ClientSafeBrowsingReportRequest::kReferrerUrlFieldNumber;
const int ClientSafeBrowsingReportRequest::kResourcesFieldNumber;
const int ClientSafeBrowsingReportRequest::kDomFieldNumber;
const int ClientSafeBrowsingReportRequest::kCompleteFieldNumber;
const int ClientSafeBrowsingReportRequest::kClientAsnFieldNumber;
const int ClientSafeBrowsingReportRequest::kClientCountryFieldNumber;
const int ClientSafeBrowsingReportRequest::kDidProceedFieldNumber;
const int ClientSafeBrowsingReportRequest::kRepeatVisitFieldNumber;
const int ClientSafeBrowsingReportRequest::kTokenFieldNumber;
const int ClientSafeBrowsingReportRequest::kClientPropertiesFieldNumber;
const int ClientSafeBrowsingReportRequest::kShowDownloadInFolderFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ClientSafeBrowsingReportRequest::ClientSafeBrowsingReportRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ClientSafeBrowsingReportRequest)
}
ClientSafeBrowsingReportRequest::ClientSafeBrowsingReportRequest(const ClientSafeBrowsingReportRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      resources_(from.resources_),
      client_asn_(from.client_asn_),
      dom_(from.dom_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_url()) {
    url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
  }
  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_page_url()) {
    page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
  }
  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_referrer_url()) {
    referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
  }
  client_country_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_client_country()) {
    client_country_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_country_);
  }
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_token()) {
    token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
  }
  if (from.has_client_properties()) {
    client_properties_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties(*from.client_properties_);
  } else {
    client_properties_ = NULL;
  }
  ::memcpy(&type_, &from.type_,
    static_cast<size_t>(reinterpret_cast<char*>(&download_verdict_) -
    reinterpret_cast<char*>(&type_)) + sizeof(download_verdict_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ClientSafeBrowsingReportRequest)
}

void ClientSafeBrowsingReportRequest::SharedCtor() {
  _cached_size_ = 0;
  url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  client_country_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&client_properties_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&download_verdict_) -
      reinterpret_cast<char*>(&client_properties_)) + sizeof(download_verdict_));
}

ClientSafeBrowsingReportRequest::~ClientSafeBrowsingReportRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.ClientSafeBrowsingReportRequest)
  SharedDtor();
}

void ClientSafeBrowsingReportRequest::SharedDtor() {
  url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  page_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  referrer_url_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  client_country_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete client_properties_;
}

void ClientSafeBrowsingReportRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ClientSafeBrowsingReportRequest& ClientSafeBrowsingReportRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ClientSafeBrowsingReportRequest* ClientSafeBrowsingReportRequest::New(::google::protobuf::Arena* arena) const {
  ClientSafeBrowsingReportRequest* n = new ClientSafeBrowsingReportRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ClientSafeBrowsingReportRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ClientSafeBrowsingReportRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  resources_.Clear();
  client_asn_.Clear();
  dom_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!page_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*page_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(!referrer_url_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*referrer_url_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(!client_country_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*client_country_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000010u) {
      GOOGLE_DCHECK(!token_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*token_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000020u) {
      GOOGLE_DCHECK(client_properties_ != NULL);
      client_properties_->::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Clear();
    }
  }
  if (cached_has_bits & 192u) {
    ::memset(&type_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&complete_) -
        reinterpret_cast<char*>(&type_)) + sizeof(complete_));
  }
  if (cached_has_bits & 3840u) {
    ::memset(&did_proceed_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&download_verdict_) -
        reinterpret_cast<char*>(&did_proceed_)) + sizeof(download_verdict_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ClientSafeBrowsingReportRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ClientSafeBrowsingReportRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string url = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string page_url = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_page_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string referrer_url = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_referrer_url()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_resources()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool complete = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_complete();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &complete_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated string client_asn = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->add_client_asn()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string client_country = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u /* 58 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_client_country()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool did_proceed = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) {
          set_has_did_proceed();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &did_proceed_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool repeat_visit = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(72u /* 72 & 0xFF */)) {
          set_has_repeat_visit();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &repeat_visit_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(80u /* 80 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientSafeBrowsingReportRequest_ReportType_IsValid(value)) {
            set_type(static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType >(value));
          } else {
            unknown_fields_stream.WriteVarint32(80u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(88u /* 88 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::safe_browsing::ClientDownloadResponse_Verdict_IsValid(value)) {
            set_download_verdict(static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(value));
          } else {
            unknown_fields_stream.WriteVarint32(88u);
            unknown_fields_stream.WriteVarint32(
                static_cast< ::google::protobuf::uint32>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bytes token = 15;
      case 15: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(122u /* 122 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_token()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.HTMLElement dom = 16;
      case 16: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(130u /* 130 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_dom()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
      case 17: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(138u /* 138 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_client_properties()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool show_download_in_folder = 18;
      case 18: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(144u /* 144 & 0xFF */)) {
          set_has_show_download_in_folder();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &show_download_in_folder_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ClientSafeBrowsingReportRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ClientSafeBrowsingReportRequest)
  return false;
#undef DO_
}

void ClientSafeBrowsingReportRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ClientSafeBrowsingReportRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->url(), output);
  }

  // optional string page_url = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->page_url(), output);
  }

  // optional string referrer_url = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->referrer_url(), output);
  }

  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->resources_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, this->resources(static_cast<int>(i)), output);
  }

  // optional bool complete = 5;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->complete(), output);
  }

  // repeated string client_asn = 6;
  for (int i = 0, n = this->client_asn_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteString(
      6, this->client_asn(i), output);
  }

  // optional string client_country = 7;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      7, this->client_country(), output);
  }

  // optional bool did_proceed = 8;
  if (cached_has_bits & 0x00000100u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->did_proceed(), output);
  }

  // optional bool repeat_visit = 9;
  if (cached_has_bits & 0x00000200u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->repeat_visit(), output);
  }

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      10, this->type(), output);
  }

  // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
  if (cached_has_bits & 0x00000800u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      11, this->download_verdict(), output);
  }

  // optional bytes token = 15;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      15, this->token(), output);
  }

  // repeated .safe_browsing.HTMLElement dom = 16;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->dom_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      16, this->dom(static_cast<int>(i)), output);
  }

  // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      17, *this->client_properties_, output);
  }

  // optional bool show_download_in_folder = 18;
  if (cached_has_bits & 0x00000400u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->show_download_in_folder(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ClientSafeBrowsingReportRequest)
}

size_t ClientSafeBrowsingReportRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ClientSafeBrowsingReportRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
  {
    unsigned int count = static_cast<unsigned int>(this->resources_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->resources(static_cast<int>(i)));
    }
  }

  // repeated string client_asn = 6;
  total_size += 1 *
      ::google::protobuf::internal::FromIntSize(this->client_asn_size());
  for (int i = 0, n = this->client_asn_size(); i < n; i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
      this->client_asn(i));
  }

  // repeated .safe_browsing.HTMLElement dom = 16;
  {
    unsigned int count = static_cast<unsigned int>(this->dom_size());
    total_size += 2UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->dom(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 255u) {
    // optional string url = 1;
    if (has_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->url());
    }

    // optional string page_url = 2;
    if (has_page_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->page_url());
    }

    // optional string referrer_url = 3;
    if (has_referrer_url()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->referrer_url());
    }

    // optional string client_country = 7;
    if (has_client_country()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->client_country());
    }

    // optional bytes token = 15;
    if (has_token()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->token());
    }

    // optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
    if (has_client_properties()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->client_properties_);
    }

    // optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
    if (has_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
    }

    // optional bool complete = 5;
    if (has_complete()) {
      total_size += 1 + 1;
    }

  }
  if (_has_bits_[8 / 32] & 3840u) {
    // optional bool did_proceed = 8;
    if (has_did_proceed()) {
      total_size += 1 + 1;
    }

    // optional bool repeat_visit = 9;
    if (has_repeat_visit()) {
      total_size += 1 + 1;
    }

    // optional bool show_download_in_folder = 18;
    if (has_show_download_in_folder()) {
      total_size += 2 + 1;
    }

    // optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
    if (has_download_verdict()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->download_verdict());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ClientSafeBrowsingReportRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ClientSafeBrowsingReportRequest*>(&from));
}

void ClientSafeBrowsingReportRequest::MergeFrom(const ClientSafeBrowsingReportRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ClientSafeBrowsingReportRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  resources_.MergeFrom(from.resources_);
  client_asn_.MergeFrom(from.client_asn_);
  dom_.MergeFrom(from.dom_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_url();
      url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.url_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_page_url();
      page_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.page_url_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_referrer_url();
      referrer_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.referrer_url_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_client_country();
      client_country_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.client_country_);
    }
    if (cached_has_bits & 0x00000010u) {
      set_has_token();
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    if (cached_has_bits & 0x00000020u) {
      mutable_client_properties()->::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::MergeFrom(from.client_properties());
    }
    if (cached_has_bits & 0x00000040u) {
      type_ = from.type_;
    }
    if (cached_has_bits & 0x00000080u) {
      complete_ = from.complete_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 3840u) {
    if (cached_has_bits & 0x00000100u) {
      did_proceed_ = from.did_proceed_;
    }
    if (cached_has_bits & 0x00000200u) {
      repeat_visit_ = from.repeat_visit_;
    }
    if (cached_has_bits & 0x00000400u) {
      show_download_in_folder_ = from.show_download_in_folder_;
    }
    if (cached_has_bits & 0x00000800u) {
      download_verdict_ = from.download_verdict_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ClientSafeBrowsingReportRequest::CopyFrom(const ClientSafeBrowsingReportRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ClientSafeBrowsingReportRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ClientSafeBrowsingReportRequest::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->resources())) return false;
  return true;
}

void ClientSafeBrowsingReportRequest::Swap(ClientSafeBrowsingReportRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ClientSafeBrowsingReportRequest::InternalSwap(ClientSafeBrowsingReportRequest* other) {
  using std::swap;
  resources_.InternalSwap(&other->resources_);
  client_asn_.InternalSwap(&other->client_asn_);
  dom_.InternalSwap(&other->dom_);
  url_.Swap(&other->url_);
  page_url_.Swap(&other->page_url_);
  referrer_url_.Swap(&other->referrer_url_);
  client_country_.Swap(&other->client_country_);
  token_.Swap(&other->token_);
  swap(client_properties_, other->client_properties_);
  swap(type_, other->type_);
  swap(complete_, other->complete_);
  swap(did_proceed_, other->did_proceed_);
  swap(repeat_visit_, other->repeat_visit_);
  swap(show_download_in_folder_, other->show_download_in_folder_);
  swap(download_verdict_, other->download_verdict_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ClientSafeBrowsingReportRequest::GetTypeName() const {
  return "safe_browsing.ClientSafeBrowsingReportRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ClientSafeBrowsingReportRequest

// optional .safe_browsing.ClientSafeBrowsingReportRequest.ReportType type = 10;
bool ClientSafeBrowsingReportRequest::has_type() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_type() {
  _has_bits_[0] |= 0x00000040u;
}
void ClientSafeBrowsingReportRequest::clear_has_type() {
  _has_bits_[0] &= ~0x00000040u;
}
void ClientSafeBrowsingReportRequest::clear_type() {
  type_ = 0;
  clear_has_type();
}
::safe_browsing::ClientSafeBrowsingReportRequest_ReportType ClientSafeBrowsingReportRequest::type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.type)
  return static_cast< ::safe_browsing::ClientSafeBrowsingReportRequest_ReportType >(type_);
}
void ClientSafeBrowsingReportRequest::set_type(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType value) {
  assert(::safe_browsing::ClientSafeBrowsingReportRequest_ReportType_IsValid(value));
  set_has_type();
  type_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.type)
}

// optional .safe_browsing.ClientDownloadResponse.Verdict download_verdict = 11;
bool ClientSafeBrowsingReportRequest::has_download_verdict() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_download_verdict() {
  _has_bits_[0] |= 0x00000800u;
}
void ClientSafeBrowsingReportRequest::clear_has_download_verdict() {
  _has_bits_[0] &= ~0x00000800u;
}
void ClientSafeBrowsingReportRequest::clear_download_verdict() {
  download_verdict_ = 0;
  clear_has_download_verdict();
}
::safe_browsing::ClientDownloadResponse_Verdict ClientSafeBrowsingReportRequest::download_verdict() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.download_verdict)
  return static_cast< ::safe_browsing::ClientDownloadResponse_Verdict >(download_verdict_);
}
void ClientSafeBrowsingReportRequest::set_download_verdict(::safe_browsing::ClientDownloadResponse_Verdict value) {
  assert(::safe_browsing::ClientDownloadResponse_Verdict_IsValid(value));
  set_has_download_verdict();
  download_verdict_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.download_verdict)
}

// optional string url = 1;
bool ClientSafeBrowsingReportRequest::has_url() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_url() {
  _has_bits_[0] |= 0x00000001u;
}
void ClientSafeBrowsingReportRequest::clear_has_url() {
  _has_bits_[0] &= ~0x00000001u;
}
void ClientSafeBrowsingReportRequest::clear_url() {
  url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_url();
}
const ::std::string& ClientSafeBrowsingReportRequest::url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.url)
  return url_.GetNoArena();
}
void ClientSafeBrowsingReportRequest::set_url(const ::std::string& value) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.url)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest::set_url(::std::string&& value) {
  set_has_url();
  url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.url)
}
#endif
void ClientSafeBrowsingReportRequest::set_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.url)
}
void ClientSafeBrowsingReportRequest::set_url(const char* value, size_t size) {
  set_has_url();
  url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.url)
}
::std::string* ClientSafeBrowsingReportRequest::mutable_url() {
  set_has_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.url)
  return url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest::release_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.url)
  clear_has_url();
  return url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest::set_allocated_url(::std::string* url) {
  if (url != NULL) {
    set_has_url();
  } else {
    clear_has_url();
  }
  url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.url)
}

// optional string page_url = 2;
bool ClientSafeBrowsingReportRequest::has_page_url() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_page_url() {
  _has_bits_[0] |= 0x00000002u;
}
void ClientSafeBrowsingReportRequest::clear_has_page_url() {
  _has_bits_[0] &= ~0x00000002u;
}
void ClientSafeBrowsingReportRequest::clear_page_url() {
  page_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_page_url();
}
const ::std::string& ClientSafeBrowsingReportRequest::page_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
  return page_url_.GetNoArena();
}
void ClientSafeBrowsingReportRequest::set_page_url(const ::std::string& value) {
  set_has_page_url();
  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest::set_page_url(::std::string&& value) {
  set_has_page_url();
  page_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
}
#endif
void ClientSafeBrowsingReportRequest::set_page_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_page_url();
  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
}
void ClientSafeBrowsingReportRequest::set_page_url(const char* value, size_t size) {
  set_has_page_url();
  page_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
}
::std::string* ClientSafeBrowsingReportRequest::mutable_page_url() {
  set_has_page_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
  return page_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest::release_page_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
  clear_has_page_url();
  return page_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest::set_allocated_page_url(::std::string* page_url) {
  if (page_url != NULL) {
    set_has_page_url();
  } else {
    clear_has_page_url();
  }
  page_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), page_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.page_url)
}

// optional string referrer_url = 3;
bool ClientSafeBrowsingReportRequest::has_referrer_url() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_referrer_url() {
  _has_bits_[0] |= 0x00000004u;
}
void ClientSafeBrowsingReportRequest::clear_has_referrer_url() {
  _has_bits_[0] &= ~0x00000004u;
}
void ClientSafeBrowsingReportRequest::clear_referrer_url() {
  referrer_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_referrer_url();
}
const ::std::string& ClientSafeBrowsingReportRequest::referrer_url() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
  return referrer_url_.GetNoArena();
}
void ClientSafeBrowsingReportRequest::set_referrer_url(const ::std::string& value) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest::set_referrer_url(::std::string&& value) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
}
#endif
void ClientSafeBrowsingReportRequest::set_referrer_url(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
}
void ClientSafeBrowsingReportRequest::set_referrer_url(const char* value, size_t size) {
  set_has_referrer_url();
  referrer_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
}
::std::string* ClientSafeBrowsingReportRequest::mutable_referrer_url() {
  set_has_referrer_url();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
  return referrer_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest::release_referrer_url() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
  clear_has_referrer_url();
  return referrer_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest::set_allocated_referrer_url(::std::string* referrer_url) {
  if (referrer_url != NULL) {
    set_has_referrer_url();
  } else {
    clear_has_referrer_url();
  }
  referrer_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), referrer_url);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.referrer_url)
}

// repeated .safe_browsing.ClientSafeBrowsingReportRequest.Resource resources = 4;
int ClientSafeBrowsingReportRequest::resources_size() const {
  return resources_.size();
}
void ClientSafeBrowsingReportRequest::clear_resources() {
  resources_.Clear();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_Resource& ClientSafeBrowsingReportRequest::resources(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return resources_.Get(index);
}
::safe_browsing::ClientSafeBrowsingReportRequest_Resource* ClientSafeBrowsingReportRequest::mutable_resources(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return resources_.Mutable(index);
}
::safe_browsing::ClientSafeBrowsingReportRequest_Resource* ClientSafeBrowsingReportRequest::add_resources() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return resources_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >*
ClientSafeBrowsingReportRequest::mutable_resources() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return &resources_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::ClientSafeBrowsingReportRequest_Resource >&
ClientSafeBrowsingReportRequest::resources() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.resources)
  return resources_;
}

// repeated .safe_browsing.HTMLElement dom = 16;
int ClientSafeBrowsingReportRequest::dom_size() const {
  return dom_.size();
}
void ClientSafeBrowsingReportRequest::clear_dom() {
  dom_.Clear();
}
const ::safe_browsing::HTMLElement& ClientSafeBrowsingReportRequest::dom(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return dom_.Get(index);
}
::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::mutable_dom(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return dom_.Mutable(index);
}
::safe_browsing::HTMLElement* ClientSafeBrowsingReportRequest::add_dom() {
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return dom_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >*
ClientSafeBrowsingReportRequest::mutable_dom() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return &dom_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement >&
ClientSafeBrowsingReportRequest::dom() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.dom)
  return dom_;
}

// optional bool complete = 5;
bool ClientSafeBrowsingReportRequest::has_complete() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_complete() {
  _has_bits_[0] |= 0x00000080u;
}
void ClientSafeBrowsingReportRequest::clear_has_complete() {
  _has_bits_[0] &= ~0x00000080u;
}
void ClientSafeBrowsingReportRequest::clear_complete() {
  complete_ = false;
  clear_has_complete();
}
bool ClientSafeBrowsingReportRequest::complete() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.complete)
  return complete_;
}
void ClientSafeBrowsingReportRequest::set_complete(bool value) {
  set_has_complete();
  complete_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.complete)
}

// repeated string client_asn = 6;
int ClientSafeBrowsingReportRequest::client_asn_size() const {
  return client_asn_.size();
}
void ClientSafeBrowsingReportRequest::clear_client_asn() {
  client_asn_.Clear();
}
const ::std::string& ClientSafeBrowsingReportRequest::client_asn(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return client_asn_.Get(index);
}
::std::string* ClientSafeBrowsingReportRequest::mutable_client_asn(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return client_asn_.Mutable(index);
}
void ClientSafeBrowsingReportRequest::set_client_asn(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  client_asn_.Mutable(index)->assign(value);
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest::set_client_asn(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  client_asn_.Mutable(index)->assign(std::move(value));
}
#endif
void ClientSafeBrowsingReportRequest::set_client_asn(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  client_asn_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
void ClientSafeBrowsingReportRequest::set_client_asn(int index, const char* value, size_t size) {
  client_asn_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
::std::string* ClientSafeBrowsingReportRequest::add_client_asn() {
  // @@protoc_insertion_point(field_add_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return client_asn_.Add();
}
void ClientSafeBrowsingReportRequest::add_client_asn(const ::std::string& value) {
  client_asn_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest::add_client_asn(::std::string&& value) {
  client_asn_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
#endif
void ClientSafeBrowsingReportRequest::add_client_asn(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  client_asn_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
void ClientSafeBrowsingReportRequest::add_client_asn(const char* value, size_t size) {
  client_asn_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
}
const ::google::protobuf::RepeatedPtrField< ::std::string>&
ClientSafeBrowsingReportRequest::client_asn() const {
  // @@protoc_insertion_point(field_list:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return client_asn_;
}
::google::protobuf::RepeatedPtrField< ::std::string>*
ClientSafeBrowsingReportRequest::mutable_client_asn() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.ClientSafeBrowsingReportRequest.client_asn)
  return &client_asn_;
}

// optional string client_country = 7;
bool ClientSafeBrowsingReportRequest::has_client_country() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_client_country() {
  _has_bits_[0] |= 0x00000008u;
}
void ClientSafeBrowsingReportRequest::clear_has_client_country() {
  _has_bits_[0] &= ~0x00000008u;
}
void ClientSafeBrowsingReportRequest::clear_client_country() {
  client_country_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_client_country();
}
const ::std::string& ClientSafeBrowsingReportRequest::client_country() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
  return client_country_.GetNoArena();
}
void ClientSafeBrowsingReportRequest::set_client_country(const ::std::string& value) {
  set_has_client_country();
  client_country_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest::set_client_country(::std::string&& value) {
  set_has_client_country();
  client_country_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
}
#endif
void ClientSafeBrowsingReportRequest::set_client_country(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_client_country();
  client_country_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
}
void ClientSafeBrowsingReportRequest::set_client_country(const char* value, size_t size) {
  set_has_client_country();
  client_country_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
}
::std::string* ClientSafeBrowsingReportRequest::mutable_client_country() {
  set_has_client_country();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
  return client_country_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest::release_client_country() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
  clear_has_client_country();
  return client_country_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest::set_allocated_client_country(::std::string* client_country) {
  if (client_country != NULL) {
    set_has_client_country();
  } else {
    clear_has_client_country();
  }
  client_country_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), client_country);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_country)
}

// optional bool did_proceed = 8;
bool ClientSafeBrowsingReportRequest::has_did_proceed() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_did_proceed() {
  _has_bits_[0] |= 0x00000100u;
}
void ClientSafeBrowsingReportRequest::clear_has_did_proceed() {
  _has_bits_[0] &= ~0x00000100u;
}
void ClientSafeBrowsingReportRequest::clear_did_proceed() {
  did_proceed_ = false;
  clear_has_did_proceed();
}
bool ClientSafeBrowsingReportRequest::did_proceed() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
  return did_proceed_;
}
void ClientSafeBrowsingReportRequest::set_did_proceed(bool value) {
  set_has_did_proceed();
  did_proceed_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.did_proceed)
}

// optional bool repeat_visit = 9;
bool ClientSafeBrowsingReportRequest::has_repeat_visit() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_repeat_visit() {
  _has_bits_[0] |= 0x00000200u;
}
void ClientSafeBrowsingReportRequest::clear_has_repeat_visit() {
  _has_bits_[0] &= ~0x00000200u;
}
void ClientSafeBrowsingReportRequest::clear_repeat_visit() {
  repeat_visit_ = false;
  clear_has_repeat_visit();
}
bool ClientSafeBrowsingReportRequest::repeat_visit() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.repeat_visit)
  return repeat_visit_;
}
void ClientSafeBrowsingReportRequest::set_repeat_visit(bool value) {
  set_has_repeat_visit();
  repeat_visit_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.repeat_visit)
}

// optional bytes token = 15;
bool ClientSafeBrowsingReportRequest::has_token() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_token() {
  _has_bits_[0] |= 0x00000010u;
}
void ClientSafeBrowsingReportRequest::clear_has_token() {
  _has_bits_[0] &= ~0x00000010u;
}
void ClientSafeBrowsingReportRequest::clear_token() {
  token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_token();
}
const ::std::string& ClientSafeBrowsingReportRequest::token() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.token)
  return token_.GetNoArena();
}
void ClientSafeBrowsingReportRequest::set_token(const ::std::string& value) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.token)
}
#if LANG_CXX11
void ClientSafeBrowsingReportRequest::set_token(::std::string&& value) {
  set_has_token();
  token_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ClientSafeBrowsingReportRequest.token)
}
#endif
void ClientSafeBrowsingReportRequest::set_token(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ClientSafeBrowsingReportRequest.token)
}
void ClientSafeBrowsingReportRequest::set_token(const void* value, size_t size) {
  set_has_token();
  token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ClientSafeBrowsingReportRequest.token)
}
::std::string* ClientSafeBrowsingReportRequest::mutable_token() {
  set_has_token();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.token)
  return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ClientSafeBrowsingReportRequest::release_token() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.token)
  clear_has_token();
  return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ClientSafeBrowsingReportRequest::set_allocated_token(::std::string* token) {
  if (token != NULL) {
    set_has_token();
  } else {
    clear_has_token();
  }
  token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.token)
}

// optional .safe_browsing.ClientSafeBrowsingReportRequest.SafeBrowsingClientProperties client_properties = 17;
bool ClientSafeBrowsingReportRequest::has_client_properties() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_client_properties() {
  _has_bits_[0] |= 0x00000020u;
}
void ClientSafeBrowsingReportRequest::clear_has_client_properties() {
  _has_bits_[0] &= ~0x00000020u;
}
void ClientSafeBrowsingReportRequest::clear_client_properties() {
  if (client_properties_ != NULL) client_properties_->::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties::Clear();
  clear_has_client_properties();
}
const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties& ClientSafeBrowsingReportRequest::client_properties() const {
  const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* p = client_properties_;
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties*>(
      &::safe_browsing::_ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties_default_instance_);
}
::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::mutable_client_properties() {
  set_has_client_properties();
  if (client_properties_ == NULL) {
    client_properties_ = new ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
  return client_properties_;
}
::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* ClientSafeBrowsingReportRequest::release_client_properties() {
  // @@protoc_insertion_point(field_release:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
  clear_has_client_properties();
  ::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* temp = client_properties_;
  client_properties_ = NULL;
  return temp;
}
void ClientSafeBrowsingReportRequest::set_allocated_client_properties(::safe_browsing::ClientSafeBrowsingReportRequest_SafeBrowsingClientProperties* client_properties) {
  delete client_properties_;
  client_properties_ = client_properties;
  if (client_properties) {
    set_has_client_properties();
  } else {
    clear_has_client_properties();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ClientSafeBrowsingReportRequest.client_properties)
}

// optional bool show_download_in_folder = 18;
bool ClientSafeBrowsingReportRequest::has_show_download_in_folder() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
void ClientSafeBrowsingReportRequest::set_has_show_download_in_folder() {
  _has_bits_[0] |= 0x00000400u;
}
void ClientSafeBrowsingReportRequest::clear_has_show_download_in_folder() {
  _has_bits_[0] &= ~0x00000400u;
}
void ClientSafeBrowsingReportRequest::clear_show_download_in_folder() {
  show_download_in_folder_ = false;
  clear_has_show_download_in_folder();
}
bool ClientSafeBrowsingReportRequest::show_download_in_folder() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ClientSafeBrowsingReportRequest.show_download_in_folder)
  return show_download_in_folder_;
}
void ClientSafeBrowsingReportRequest::set_show_download_in_folder(bool value) {
  set_has_show_download_in_folder();
  show_download_in_folder_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ClientSafeBrowsingReportRequest.show_download_in_folder)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int HTMLElement_Attribute::kNameFieldNumber;
const int HTMLElement_Attribute::kValueFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

HTMLElement_Attribute::HTMLElement_Attribute()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.HTMLElement.Attribute)
}
HTMLElement_Attribute::HTMLElement_Attribute(const HTMLElement_Attribute& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_name()) {
    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
  }
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_value()) {
    value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.HTMLElement.Attribute)
}

void HTMLElement_Attribute::SharedCtor() {
  _cached_size_ = 0;
  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

HTMLElement_Attribute::~HTMLElement_Attribute() {
  // @@protoc_insertion_point(destructor:safe_browsing.HTMLElement.Attribute)
  SharedDtor();
}

void HTMLElement_Attribute::SharedDtor() {
  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void HTMLElement_Attribute::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const HTMLElement_Attribute& HTMLElement_Attribute::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

HTMLElement_Attribute* HTMLElement_Attribute::New(::google::protobuf::Arena* arena) const {
  HTMLElement_Attribute* n = new HTMLElement_Attribute;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void HTMLElement_Attribute::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.HTMLElement.Attribute)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*name_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!value_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*value_.UnsafeRawStringPointer())->clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool HTMLElement_Attribute::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.HTMLElement.Attribute)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string name = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_name()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string value = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_value()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.HTMLElement.Attribute)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.HTMLElement.Attribute)
  return false;
#undef DO_
}

void HTMLElement_Attribute::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.HTMLElement.Attribute)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->name(), output);
  }

  // optional string value = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->value(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.HTMLElement.Attribute)
}

size_t HTMLElement_Attribute::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.HTMLElement.Attribute)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional string name = 1;
    if (has_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->name());
    }

    // optional string value = 2;
    if (has_value()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->value());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void HTMLElement_Attribute::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const HTMLElement_Attribute*>(&from));
}

void HTMLElement_Attribute::MergeFrom(const HTMLElement_Attribute& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.HTMLElement.Attribute)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_name();
      name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_value();
      value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.value_);
    }
  }
}

void HTMLElement_Attribute::CopyFrom(const HTMLElement_Attribute& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.HTMLElement.Attribute)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool HTMLElement_Attribute::IsInitialized() const {
  return true;
}

void HTMLElement_Attribute::Swap(HTMLElement_Attribute* other) {
  if (other == this) return;
  InternalSwap(other);
}
void HTMLElement_Attribute::InternalSwap(HTMLElement_Attribute* other) {
  using std::swap;
  name_.Swap(&other->name_);
  value_.Swap(&other->value_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string HTMLElement_Attribute::GetTypeName() const {
  return "safe_browsing.HTMLElement.Attribute";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// HTMLElement_Attribute

// optional string name = 1;
bool HTMLElement_Attribute::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void HTMLElement_Attribute::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
void HTMLElement_Attribute::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
void HTMLElement_Attribute::clear_name() {
  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_name();
}
const ::std::string& HTMLElement_Attribute::name() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.name)
  return name_.GetNoArena();
}
void HTMLElement_Attribute::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.name)
}
#if LANG_CXX11
void HTMLElement_Attribute::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.Attribute.name)
}
#endif
void HTMLElement_Attribute::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.Attribute.name)
}
void HTMLElement_Attribute::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.Attribute.name)
}
::std::string* HTMLElement_Attribute::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.name)
  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* HTMLElement_Attribute::release_name() {
  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.name)
  clear_has_name();
  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void HTMLElement_Attribute::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.name)
}

// optional string value = 2;
bool HTMLElement_Attribute::has_value() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void HTMLElement_Attribute::set_has_value() {
  _has_bits_[0] |= 0x00000002u;
}
void HTMLElement_Attribute::clear_has_value() {
  _has_bits_[0] &= ~0x00000002u;
}
void HTMLElement_Attribute::clear_value() {
  value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_value();
}
const ::std::string& HTMLElement_Attribute::value() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.Attribute.value)
  return value_.GetNoArena();
}
void HTMLElement_Attribute::set_value(const ::std::string& value) {
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.Attribute.value)
}
#if LANG_CXX11
void HTMLElement_Attribute::set_value(::std::string&& value) {
  set_has_value();
  value_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.Attribute.value)
}
#endif
void HTMLElement_Attribute::set_value(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.Attribute.value)
}
void HTMLElement_Attribute::set_value(const char* value, size_t size) {
  set_has_value();
  value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.Attribute.value)
}
::std::string* HTMLElement_Attribute::mutable_value() {
  set_has_value();
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.Attribute.value)
  return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* HTMLElement_Attribute::release_value() {
  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.Attribute.value)
  clear_has_value();
  return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void HTMLElement_Attribute::set_allocated_value(::std::string* value) {
  if (value != NULL) {
    set_has_value();
  } else {
    clear_has_value();
  }
  value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.Attribute.value)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int HTMLElement::kIdFieldNumber;
const int HTMLElement::kTagFieldNumber;
const int HTMLElement::kChildIdsFieldNumber;
const int HTMLElement::kResourceIdFieldNumber;
const int HTMLElement::kAttributeFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

HTMLElement::HTMLElement()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.HTMLElement)
}
HTMLElement::HTMLElement(const HTMLElement& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0),
      child_ids_(from.child_ids_),
      attribute_(from.attribute_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  tag_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_tag()) {
    tag_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_);
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&resource_id_) -
    reinterpret_cast<char*>(&id_)) + sizeof(resource_id_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.HTMLElement)
}

void HTMLElement::SharedCtor() {
  _cached_size_ = 0;
  tag_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&resource_id_) -
      reinterpret_cast<char*>(&id_)) + sizeof(resource_id_));
}

HTMLElement::~HTMLElement() {
  // @@protoc_insertion_point(destructor:safe_browsing.HTMLElement)
  SharedDtor();
}

void HTMLElement::SharedDtor() {
  tag_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void HTMLElement::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const HTMLElement& HTMLElement::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

HTMLElement* HTMLElement::New(::google::protobuf::Arena* arena) const {
  HTMLElement* n = new HTMLElement;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void HTMLElement::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.HTMLElement)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  child_ids_.Clear();
  attribute_.Clear();
  if (has_tag()) {
    GOOGLE_DCHECK(!tag_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*tag_.UnsafeRawStringPointer())->clear();
  }
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 6u) {
    ::memset(&id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&resource_id_) -
        reinterpret_cast<char*>(&id_)) + sizeof(resource_id_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool HTMLElement::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.HTMLElement)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 id = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string tag = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_tag()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated int32 child_ids = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 1, 24u, input, this->mutable_child_ids())));
        } else if (
            static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, this->mutable_child_ids())));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 resource_id = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_resource_id();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &resource_id_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_attribute()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.HTMLElement)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.HTMLElement)
  return false;
#undef DO_
}

void HTMLElement::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.HTMLElement)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 id = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->id(), output);
  }

  // optional string tag = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->tag(), output);
  }

  // repeated int32 child_ids = 3;
  for (int i = 0, n = this->child_ids_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(
      3, this->child_ids(i), output);
  }

  // optional int32 resource_id = 5;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->resource_id(), output);
  }

  // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->attribute_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      6, this->attribute(static_cast<int>(i)), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.HTMLElement)
}

size_t HTMLElement::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.HTMLElement)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  // repeated int32 child_ids = 3;
  {
    size_t data_size = ::google::protobuf::internal::WireFormatLite::
      Int32Size(this->child_ids_);
    total_size += 1 *
                  ::google::protobuf::internal::FromIntSize(this->child_ids_size());
    total_size += data_size;
  }

  // repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
  {
    unsigned int count = static_cast<unsigned int>(this->attribute_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->attribute(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 7u) {
    // optional string tag = 2;
    if (has_tag()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->tag());
    }

    // optional int32 id = 1;
    if (has_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->id());
    }

    // optional int32 resource_id = 5;
    if (has_resource_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->resource_id());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void HTMLElement::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const HTMLElement*>(&from));
}

void HTMLElement::MergeFrom(const HTMLElement& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.HTMLElement)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  child_ids_.MergeFrom(from.child_ids_);
  attribute_.MergeFrom(from.attribute_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_tag();
      tag_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag_);
    }
    if (cached_has_bits & 0x00000002u) {
      id_ = from.id_;
    }
    if (cached_has_bits & 0x00000004u) {
      resource_id_ = from.resource_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void HTMLElement::CopyFrom(const HTMLElement& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.HTMLElement)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool HTMLElement::IsInitialized() const {
  return true;
}

void HTMLElement::Swap(HTMLElement* other) {
  if (other == this) return;
  InternalSwap(other);
}
void HTMLElement::InternalSwap(HTMLElement* other) {
  using std::swap;
  child_ids_.InternalSwap(&other->child_ids_);
  attribute_.InternalSwap(&other->attribute_);
  tag_.Swap(&other->tag_);
  swap(id_, other->id_);
  swap(resource_id_, other->resource_id_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string HTMLElement::GetTypeName() const {
  return "safe_browsing.HTMLElement";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// HTMLElement

// optional int32 id = 1;
bool HTMLElement::has_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void HTMLElement::set_has_id() {
  _has_bits_[0] |= 0x00000002u;
}
void HTMLElement::clear_has_id() {
  _has_bits_[0] &= ~0x00000002u;
}
void HTMLElement::clear_id() {
  id_ = 0;
  clear_has_id();
}
::google::protobuf::int32 HTMLElement::id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.id)
  return id_;
}
void HTMLElement::set_id(::google::protobuf::int32 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.id)
}

// optional string tag = 2;
bool HTMLElement::has_tag() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void HTMLElement::set_has_tag() {
  _has_bits_[0] |= 0x00000001u;
}
void HTMLElement::clear_has_tag() {
  _has_bits_[0] &= ~0x00000001u;
}
void HTMLElement::clear_tag() {
  tag_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_tag();
}
const ::std::string& HTMLElement::tag() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.tag)
  return tag_.GetNoArena();
}
void HTMLElement::set_tag(const ::std::string& value) {
  set_has_tag();
  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.tag)
}
#if LANG_CXX11
void HTMLElement::set_tag(::std::string&& value) {
  set_has_tag();
  tag_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.HTMLElement.tag)
}
#endif
void HTMLElement::set_tag(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_tag();
  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.HTMLElement.tag)
}
void HTMLElement::set_tag(const char* value, size_t size) {
  set_has_tag();
  tag_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.HTMLElement.tag)
}
::std::string* HTMLElement::mutable_tag() {
  set_has_tag();
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.tag)
  return tag_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* HTMLElement::release_tag() {
  // @@protoc_insertion_point(field_release:safe_browsing.HTMLElement.tag)
  clear_has_tag();
  return tag_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void HTMLElement::set_allocated_tag(::std::string* tag) {
  if (tag != NULL) {
    set_has_tag();
  } else {
    clear_has_tag();
  }
  tag_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.HTMLElement.tag)
}

// repeated int32 child_ids = 3;
int HTMLElement::child_ids_size() const {
  return child_ids_.size();
}
void HTMLElement::clear_child_ids() {
  child_ids_.Clear();
}
::google::protobuf::int32 HTMLElement::child_ids(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.child_ids)
  return child_ids_.Get(index);
}
void HTMLElement::set_child_ids(int index, ::google::protobuf::int32 value) {
  child_ids_.Set(index, value);
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.child_ids)
}
void HTMLElement::add_child_ids(::google::protobuf::int32 value) {
  child_ids_.Add(value);
  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.child_ids)
}
const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
HTMLElement::child_ids() const {
  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.child_ids)
  return child_ids_;
}
::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
HTMLElement::mutable_child_ids() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.child_ids)
  return &child_ids_;
}

// optional int32 resource_id = 5;
bool HTMLElement::has_resource_id() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void HTMLElement::set_has_resource_id() {
  _has_bits_[0] |= 0x00000004u;
}
void HTMLElement::clear_has_resource_id() {
  _has_bits_[0] &= ~0x00000004u;
}
void HTMLElement::clear_resource_id() {
  resource_id_ = 0;
  clear_has_resource_id();
}
::google::protobuf::int32 HTMLElement::resource_id() const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.resource_id)
  return resource_id_;
}
void HTMLElement::set_resource_id(::google::protobuf::int32 value) {
  set_has_resource_id();
  resource_id_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.HTMLElement.resource_id)
}

// repeated .safe_browsing.HTMLElement.Attribute attribute = 6;
int HTMLElement::attribute_size() const {
  return attribute_.size();
}
void HTMLElement::clear_attribute() {
  attribute_.Clear();
}
const ::safe_browsing::HTMLElement_Attribute& HTMLElement::attribute(int index) const {
  // @@protoc_insertion_point(field_get:safe_browsing.HTMLElement.attribute)
  return attribute_.Get(index);
}
::safe_browsing::HTMLElement_Attribute* HTMLElement::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:safe_browsing.HTMLElement.attribute)
  return attribute_.Mutable(index);
}
::safe_browsing::HTMLElement_Attribute* HTMLElement::add_attribute() {
  // @@protoc_insertion_point(field_add:safe_browsing.HTMLElement.attribute)
  return attribute_.Add();
}
::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >*
HTMLElement::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:safe_browsing.HTMLElement.attribute)
  return &attribute_;
}
const ::google::protobuf::RepeatedPtrField< ::safe_browsing::HTMLElement_Attribute >&
HTMLElement::attribute() const {
  // @@protoc_insertion_point(field_list:safe_browsing.HTMLElement.attribute)
  return attribute_;
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ImageData_Dimensions::kWidthFieldNumber;
const int ImageData_Dimensions::kHeightFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ImageData_Dimensions::ImageData_Dimensions()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ImageData.Dimensions)
}
ImageData_Dimensions::ImageData_Dimensions(const ImageData_Dimensions& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&width_, &from.width_,
    static_cast<size_t>(reinterpret_cast<char*>(&height_) -
    reinterpret_cast<char*>(&width_)) + sizeof(height_));
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ImageData.Dimensions)
}

void ImageData_Dimensions::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&width_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&height_) -
      reinterpret_cast<char*>(&width_)) + sizeof(height_));
}

ImageData_Dimensions::~ImageData_Dimensions() {
  // @@protoc_insertion_point(destructor:safe_browsing.ImageData.Dimensions)
  SharedDtor();
}

void ImageData_Dimensions::SharedDtor() {
}

void ImageData_Dimensions::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ImageData_Dimensions& ImageData_Dimensions::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ImageData_Dimensions* ImageData_Dimensions::New(::google::protobuf::Arena* arena) const {
  ImageData_Dimensions* n = new ImageData_Dimensions;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ImageData_Dimensions::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ImageData.Dimensions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    ::memset(&width_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&height_) -
        reinterpret_cast<char*>(&width_)) + sizeof(height_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ImageData_Dimensions::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ImageData.Dimensions)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 width = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_width();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &width_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 height = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_height();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &height_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ImageData.Dimensions)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ImageData.Dimensions)
  return false;
#undef DO_
}

void ImageData_Dimensions::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ImageData.Dimensions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 width = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->width(), output);
  }

  // optional int32 height = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->height(), output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ImageData.Dimensions)
}

size_t ImageData_Dimensions::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ImageData.Dimensions)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional int32 width = 1;
    if (has_width()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->width());
    }

    // optional int32 height = 2;
    if (has_height()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->height());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ImageData_Dimensions::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ImageData_Dimensions*>(&from));
}

void ImageData_Dimensions::MergeFrom(const ImageData_Dimensions& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ImageData.Dimensions)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      width_ = from.width_;
    }
    if (cached_has_bits & 0x00000002u) {
      height_ = from.height_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ImageData_Dimensions::CopyFrom(const ImageData_Dimensions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ImageData.Dimensions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ImageData_Dimensions::IsInitialized() const {
  return true;
}

void ImageData_Dimensions::Swap(ImageData_Dimensions* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ImageData_Dimensions::InternalSwap(ImageData_Dimensions* other) {
  using std::swap;
  swap(width_, other->width_);
  swap(height_, other->height_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ImageData_Dimensions::GetTypeName() const {
  return "safe_browsing.ImageData.Dimensions";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ImageData_Dimensions

// optional int32 width = 1;
bool ImageData_Dimensions::has_width() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ImageData_Dimensions::set_has_width() {
  _has_bits_[0] |= 0x00000001u;
}
void ImageData_Dimensions::clear_has_width() {
  _has_bits_[0] &= ~0x00000001u;
}
void ImageData_Dimensions::clear_width() {
  width_ = 0;
  clear_has_width();
}
::google::protobuf::int32 ImageData_Dimensions::width() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.width)
  return width_;
}
void ImageData_Dimensions::set_width(::google::protobuf::int32 value) {
  set_has_width();
  width_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.width)
}

// optional int32 height = 2;
bool ImageData_Dimensions::has_height() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ImageData_Dimensions::set_has_height() {
  _has_bits_[0] |= 0x00000002u;
}
void ImageData_Dimensions::clear_has_height() {
  _has_bits_[0] &= ~0x00000002u;
}
void ImageData_Dimensions::clear_height() {
  height_ = 0;
  clear_has_height();
}
::google::protobuf::int32 ImageData_Dimensions::height() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.Dimensions.height)
  return height_;
}
void ImageData_Dimensions::set_height(::google::protobuf::int32 value) {
  set_has_height();
  height_ = value;
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.Dimensions.height)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int ImageData::kDataFieldNumber;
const int ImageData::kMimeTypeFieldNumber;
const int ImageData::kDimensionsFieldNumber;
const int ImageData::kOriginalDimensionsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

ImageData::ImageData()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.ImageData)
}
ImageData::ImageData(const ImageData& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_data()) {
    data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
  }
  mime_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_mime_type()) {
    mime_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mime_type_);
  }
  if (from.has_dimensions()) {
    dimensions_ = new ::safe_browsing::ImageData_Dimensions(*from.dimensions_);
  } else {
    dimensions_ = NULL;
  }
  if (from.has_original_dimensions()) {
    original_dimensions_ = new ::safe_browsing::ImageData_Dimensions(*from.original_dimensions_);
  } else {
    original_dimensions_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.ImageData)
}

void ImageData::SharedCtor() {
  _cached_size_ = 0;
  data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  mime_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&dimensions_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&original_dimensions_) -
      reinterpret_cast<char*>(&dimensions_)) + sizeof(original_dimensions_));
}

ImageData::~ImageData() {
  // @@protoc_insertion_point(destructor:safe_browsing.ImageData)
  SharedDtor();
}

void ImageData::SharedDtor() {
  data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  mime_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete dimensions_;
  if (this != internal_default_instance()) delete original_dimensions_;
}

void ImageData::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ImageData& ImageData::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

ImageData* ImageData::New(::google::protobuf::Arena* arena) const {
  ImageData* n = new ImageData;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void ImageData::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.ImageData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!data_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*data_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(!mime_type_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*mime_type_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(dimensions_ != NULL);
      dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(original_dimensions_ != NULL);
      original_dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool ImageData::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.ImageData)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bytes data = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->mutable_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string mime_type = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_mime_type()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_dimensions()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_original_dimensions()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.ImageData)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.ImageData)
  return false;
#undef DO_
}

void ImageData::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.ImageData)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes data = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
      1, this->data(), output);
  }

  // optional string mime_type = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->mime_type(), output);
  }

  // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      3, *this->dimensions_, output);
  }

  // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      4, *this->original_dimensions_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.ImageData)
}

size_t ImageData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.ImageData)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 15u) {
    // optional bytes data = 1;
    if (has_data()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::BytesSize(
          this->data());
    }

    // optional string mime_type = 2;
    if (has_mime_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->mime_type());
    }

    // optional .safe_browsing.ImageData.Dimensions dimensions = 3;
    if (has_dimensions()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->dimensions_);
    }

    // optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
    if (has_original_dimensions()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->original_dimensions_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void ImageData::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const ImageData*>(&from));
}

void ImageData::MergeFrom(const ImageData& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.ImageData)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_data();
      data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_mime_type();
      mime_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mime_type_);
    }
    if (cached_has_bits & 0x00000004u) {
      mutable_dimensions()->::safe_browsing::ImageData_Dimensions::MergeFrom(from.dimensions());
    }
    if (cached_has_bits & 0x00000008u) {
      mutable_original_dimensions()->::safe_browsing::ImageData_Dimensions::MergeFrom(from.original_dimensions());
    }
  }
}

void ImageData::CopyFrom(const ImageData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.ImageData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ImageData::IsInitialized() const {
  return true;
}

void ImageData::Swap(ImageData* other) {
  if (other == this) return;
  InternalSwap(other);
}
void ImageData::InternalSwap(ImageData* other) {
  using std::swap;
  data_.Swap(&other->data_);
  mime_type_.Swap(&other->mime_type_);
  swap(dimensions_, other->dimensions_);
  swap(original_dimensions_, other->original_dimensions_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string ImageData::GetTypeName() const {
  return "safe_browsing.ImageData";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// ImageData

// optional bytes data = 1;
bool ImageData::has_data() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void ImageData::set_has_data() {
  _has_bits_[0] |= 0x00000001u;
}
void ImageData::clear_has_data() {
  _has_bits_[0] &= ~0x00000001u;
}
void ImageData::clear_data() {
  data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_data();
}
const ::std::string& ImageData::data() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.data)
  return data_.GetNoArena();
}
void ImageData::set_data(const ::std::string& value) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.data)
}
#if LANG_CXX11
void ImageData::set_data(::std::string&& value) {
  set_has_data();
  data_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ImageData.data)
}
#endif
void ImageData::set_data(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ImageData.data)
}
void ImageData::set_data(const void* value, size_t size) {
  set_has_data();
  data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ImageData.data)
}
::std::string* ImageData::mutable_data() {
  set_has_data();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.data)
  return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ImageData::release_data() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.data)
  clear_has_data();
  return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ImageData::set_allocated_data(::std::string* data) {
  if (data != NULL) {
    set_has_data();
  } else {
    clear_has_data();
  }
  data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.data)
}

// optional string mime_type = 2;
bool ImageData::has_mime_type() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void ImageData::set_has_mime_type() {
  _has_bits_[0] |= 0x00000002u;
}
void ImageData::clear_has_mime_type() {
  _has_bits_[0] &= ~0x00000002u;
}
void ImageData::clear_mime_type() {
  mime_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_mime_type();
}
const ::std::string& ImageData::mime_type() const {
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.mime_type)
  return mime_type_.GetNoArena();
}
void ImageData::set_mime_type(const ::std::string& value) {
  set_has_mime_type();
  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.ImageData.mime_type)
}
#if LANG_CXX11
void ImageData::set_mime_type(::std::string&& value) {
  set_has_mime_type();
  mime_type_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.ImageData.mime_type)
}
#endif
void ImageData::set_mime_type(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_mime_type();
  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.ImageData.mime_type)
}
void ImageData::set_mime_type(const char* value, size_t size) {
  set_has_mime_type();
  mime_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.ImageData.mime_type)
}
::std::string* ImageData::mutable_mime_type() {
  set_has_mime_type();
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.mime_type)
  return mime_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* ImageData::release_mime_type() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.mime_type)
  clear_has_mime_type();
  return mime_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void ImageData::set_allocated_mime_type(::std::string* mime_type) {
  if (mime_type != NULL) {
    set_has_mime_type();
  } else {
    clear_has_mime_type();
  }
  mime_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mime_type);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.mime_type)
}

// optional .safe_browsing.ImageData.Dimensions dimensions = 3;
bool ImageData::has_dimensions() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void ImageData::set_has_dimensions() {
  _has_bits_[0] |= 0x00000004u;
}
void ImageData::clear_has_dimensions() {
  _has_bits_[0] &= ~0x00000004u;
}
void ImageData::clear_dimensions() {
  if (dimensions_ != NULL) dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
  clear_has_dimensions();
}
const ::safe_browsing::ImageData_Dimensions& ImageData::dimensions() const {
  const ::safe_browsing::ImageData_Dimensions* p = dimensions_;
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.dimensions)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData_Dimensions*>(
      &::safe_browsing::_ImageData_Dimensions_default_instance_);
}
::safe_browsing::ImageData_Dimensions* ImageData::mutable_dimensions() {
  set_has_dimensions();
  if (dimensions_ == NULL) {
    dimensions_ = new ::safe_browsing::ImageData_Dimensions;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.dimensions)
  return dimensions_;
}
::safe_browsing::ImageData_Dimensions* ImageData::release_dimensions() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.dimensions)
  clear_has_dimensions();
  ::safe_browsing::ImageData_Dimensions* temp = dimensions_;
  dimensions_ = NULL;
  return temp;
}
void ImageData::set_allocated_dimensions(::safe_browsing::ImageData_Dimensions* dimensions) {
  delete dimensions_;
  dimensions_ = dimensions;
  if (dimensions) {
    set_has_dimensions();
  } else {
    clear_has_dimensions();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.dimensions)
}

// optional .safe_browsing.ImageData.Dimensions original_dimensions = 4;
bool ImageData::has_original_dimensions() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void ImageData::set_has_original_dimensions() {
  _has_bits_[0] |= 0x00000008u;
}
void ImageData::clear_has_original_dimensions() {
  _has_bits_[0] &= ~0x00000008u;
}
void ImageData::clear_original_dimensions() {
  if (original_dimensions_ != NULL) original_dimensions_->::safe_browsing::ImageData_Dimensions::Clear();
  clear_has_original_dimensions();
}
const ::safe_browsing::ImageData_Dimensions& ImageData::original_dimensions() const {
  const ::safe_browsing::ImageData_Dimensions* p = original_dimensions_;
  // @@protoc_insertion_point(field_get:safe_browsing.ImageData.original_dimensions)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData_Dimensions*>(
      &::safe_browsing::_ImageData_Dimensions_default_instance_);
}
::safe_browsing::ImageData_Dimensions* ImageData::mutable_original_dimensions() {
  set_has_original_dimensions();
  if (original_dimensions_ == NULL) {
    original_dimensions_ = new ::safe_browsing::ImageData_Dimensions;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.ImageData.original_dimensions)
  return original_dimensions_;
}
::safe_browsing::ImageData_Dimensions* ImageData::release_original_dimensions() {
  // @@protoc_insertion_point(field_release:safe_browsing.ImageData.original_dimensions)
  clear_has_original_dimensions();
  ::safe_browsing::ImageData_Dimensions* temp = original_dimensions_;
  original_dimensions_ = NULL;
  return temp;
}
void ImageData::set_allocated_original_dimensions(::safe_browsing::ImageData_Dimensions* original_dimensions) {
  delete original_dimensions_;
  original_dimensions_ = original_dimensions;
  if (original_dimensions) {
    set_has_original_dimensions();
  } else {
    clear_has_original_dimensions();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.ImageData.original_dimensions)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int NotificationImageReportRequest::kNotificationOriginFieldNumber;
const int NotificationImageReportRequest::kImageFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

NotificationImageReportRequest::NotificationImageReportRequest()
  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_csd_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:safe_browsing.NotificationImageReportRequest)
}
NotificationImageReportRequest::NotificationImageReportRequest(const NotificationImageReportRequest& from)
  : ::google::protobuf::MessageLite(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  notification_origin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_notification_origin()) {
    notification_origin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.notification_origin_);
  }
  if (from.has_image()) {
    image_ = new ::safe_browsing::ImageData(*from.image_);
  } else {
    image_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:safe_browsing.NotificationImageReportRequest)
}

void NotificationImageReportRequest::SharedCtor() {
  _cached_size_ = 0;
  notification_origin_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  image_ = NULL;
}

NotificationImageReportRequest::~NotificationImageReportRequest() {
  // @@protoc_insertion_point(destructor:safe_browsing.NotificationImageReportRequest)
  SharedDtor();
}

void NotificationImageReportRequest::SharedDtor() {
  notification_origin_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete image_;
}

void NotificationImageReportRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const NotificationImageReportRequest& NotificationImageReportRequest::default_instance() {
  protobuf_csd_2eproto::InitDefaults();
  return *internal_default_instance();
}

NotificationImageReportRequest* NotificationImageReportRequest::New(::google::protobuf::Arena* arena) const {
  NotificationImageReportRequest* n = new NotificationImageReportRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void NotificationImageReportRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:safe_browsing.NotificationImageReportRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(!notification_origin_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*notification_origin_.UnsafeRawStringPointer())->clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(image_ != NULL);
      image_->::safe_browsing::ImageData::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool NotificationImageReportRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  ::google::protobuf::io::LazyStringOutputStream unknown_fields_string(
      ::google::protobuf::NewPermanentCallback(&_internal_metadata_,
          &::google::protobuf::internal::InternalMetadataWithArenaLite::
              mutable_unknown_fields));
  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
      &unknown_fields_string, false);
  // @@protoc_insertion_point(parse_start:safe_browsing.NotificationImageReportRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string notification_origin = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_notification_origin()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .safe_browsing.ImageData image = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_image()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
            input, tag, &unknown_fields_stream));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:safe_browsing.NotificationImageReportRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:safe_browsing.NotificationImageReportRequest)
  return false;
#undef DO_
}

void NotificationImageReportRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:safe_browsing.NotificationImageReportRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string notification_origin = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->notification_origin(), output);
  }

  // optional .safe_browsing.ImageData image = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      2, *this->image_, output);
  }

  output->WriteRaw(_internal_metadata_.unknown_fields().data(),
                   static_cast<int>(_internal_metadata_.unknown_fields().size()));
  // @@protoc_insertion_point(serialize_end:safe_browsing.NotificationImageReportRequest)
}

size_t NotificationImageReportRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:safe_browsing.NotificationImageReportRequest)
  size_t total_size = 0;

  total_size += _internal_metadata_.unknown_fields().size();

  if (_has_bits_[0 / 32] & 3u) {
    // optional string notification_origin = 1;
    if (has_notification_origin()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->notification_origin());
    }

    // optional .safe_browsing.ImageData image = 2;
    if (has_image()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->image_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void NotificationImageReportRequest::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const NotificationImageReportRequest*>(&from));
}

void NotificationImageReportRequest::MergeFrom(const NotificationImageReportRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:safe_browsing.NotificationImageReportRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_notification_origin();
      notification_origin_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.notification_origin_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_image()->::safe_browsing::ImageData::MergeFrom(from.image());
    }
  }
}

void NotificationImageReportRequest::CopyFrom(const NotificationImageReportRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:safe_browsing.NotificationImageReportRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool NotificationImageReportRequest::IsInitialized() const {
  return true;
}

void NotificationImageReportRequest::Swap(NotificationImageReportRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void NotificationImageReportRequest::InternalSwap(NotificationImageReportRequest* other) {
  using std::swap;
  notification_origin_.Swap(&other->notification_origin_);
  swap(image_, other->image_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(_cached_size_, other->_cached_size_);
}

::std::string NotificationImageReportRequest::GetTypeName() const {
  return "safe_browsing.NotificationImageReportRequest";
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// NotificationImageReportRequest

// optional string notification_origin = 1;
bool NotificationImageReportRequest::has_notification_origin() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void NotificationImageReportRequest::set_has_notification_origin() {
  _has_bits_[0] |= 0x00000001u;
}
void NotificationImageReportRequest::clear_has_notification_origin() {
  _has_bits_[0] &= ~0x00000001u;
}
void NotificationImageReportRequest::clear_notification_origin() {
  notification_origin_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_notification_origin();
}
const ::std::string& NotificationImageReportRequest::notification_origin() const {
  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.notification_origin)
  return notification_origin_.GetNoArena();
}
void NotificationImageReportRequest::set_notification_origin(const ::std::string& value) {
  set_has_notification_origin();
  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:safe_browsing.NotificationImageReportRequest.notification_origin)
}
#if LANG_CXX11
void NotificationImageReportRequest::set_notification_origin(::std::string&& value) {
  set_has_notification_origin();
  notification_origin_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:safe_browsing.NotificationImageReportRequest.notification_origin)
}
#endif
void NotificationImageReportRequest::set_notification_origin(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_notification_origin();
  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:safe_browsing.NotificationImageReportRequest.notification_origin)
}
void NotificationImageReportRequest::set_notification_origin(const char* value, size_t size) {
  set_has_notification_origin();
  notification_origin_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:safe_browsing.NotificationImageReportRequest.notification_origin)
}
::std::string* NotificationImageReportRequest::mutable_notification_origin() {
  set_has_notification_origin();
  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.notification_origin)
  return notification_origin_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* NotificationImageReportRequest::release_notification_origin() {
  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.notification_origin)
  clear_has_notification_origin();
  return notification_origin_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void NotificationImageReportRequest::set_allocated_notification_origin(::std::string* notification_origin) {
  if (notification_origin != NULL) {
    set_has_notification_origin();
  } else {
    clear_has_notification_origin();
  }
  notification_origin_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), notification_origin);
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.notification_origin)
}

// optional .safe_browsing.ImageData image = 2;
bool NotificationImageReportRequest::has_image() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void NotificationImageReportRequest::set_has_image() {
  _has_bits_[0] |= 0x00000002u;
}
void NotificationImageReportRequest::clear_has_image() {
  _has_bits_[0] &= ~0x00000002u;
}
void NotificationImageReportRequest::clear_image() {
  if (image_ != NULL) image_->::safe_browsing::ImageData::Clear();
  clear_has_image();
}
const ::safe_browsing::ImageData& NotificationImageReportRequest::image() const {
  const ::safe_browsing::ImageData* p = image_;
  // @@protoc_insertion_point(field_get:safe_browsing.NotificationImageReportRequest.image)
  return p != NULL ? *p : *reinterpret_cast<const ::safe_browsing::ImageData*>(
      &::safe_browsing::_ImageData_default_instance_);
}
::safe_browsing::ImageData* NotificationImageReportRequest::mutable_image() {
  set_has_image();
  if (image_ == NULL) {
    image_ = new ::safe_browsing::ImageData;
  }
  // @@protoc_insertion_point(field_mutable:safe_browsing.NotificationImageReportRequest.image)
  return image_;
}
::safe_browsing::ImageData* NotificationImageReportRequest::release_image() {
  // @@protoc_insertion_point(field_release:safe_browsing.NotificationImageReportRequest.image)
  clear_has_image();
  ::safe_browsing::ImageData* temp = image_;
  image_ = NULL;
  return temp;
}
void NotificationImageReportRequest::set_allocated_image(::safe_browsing::ImageData* image) {
  delete image_;
  image_ = image;
  if (image) {
    set_has_image();
  } else {
    clear_has_image();
  }
  // @@protoc_insertion_point(field_set_allocated:safe_browsing.NotificationImageReportRequest.image)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)

}  // namespace safe_browsing

// @@protoc_insertion_point(global_scope)
