// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.31.0
// 	protoc        v3.6.1
// source: contact_info_specifics.proto

package sync_pb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Represents the validation status of a stored value.
type ContactInfoSpecifics_VerificationStatus int32

const (
	// No verification status assigned.
	ContactInfoSpecifics_VERIFICATION_STATUS_UNSPECIFIED ContactInfoSpecifics_VerificationStatus = 0
	// The value token was parsed from a parent token.
	// For example, the first name was derived by splitting a full name into
	// its components.
	ContactInfoSpecifics_PARSED ContactInfoSpecifics_VerificationStatus = 1
	// Value was built from its subcomponents.
	// For example, the full name was built from the first, middle and last
	// name.
	ContactInfoSpecifics_FORMATTED ContactInfoSpecifics_VerificationStatus = 2
	// The value was observed in a form transmission.
	// For example, the user filled a form that contained at NAME_FULL field.
	// The value of NAME_FULL will be stored as OBSERVED.
	ContactInfoSpecifics_OBSERVED ContactInfoSpecifics_VerificationStatus = 3
	// The user used the settings UI to verify and store this token.
	// This is currently only applicable to the full name, since users cannot
	// edit individual components of their name.
	ContactInfoSpecifics_USER_VERIFIED ContactInfoSpecifics_VerificationStatus = 4
	// The token was parsed remotely.
	ContactInfoSpecifics_SERVER_PARSED ContactInfoSpecifics_VerificationStatus = 5
)

// Enum value maps for ContactInfoSpecifics_VerificationStatus.
var (
	ContactInfoSpecifics_VerificationStatus_name = map[int32]string{
		0: "VERIFICATION_STATUS_UNSPECIFIED",
		1: "PARSED",
		2: "FORMATTED",
		3: "OBSERVED",
		4: "USER_VERIFIED",
		5: "SERVER_PARSED",
	}
	ContactInfoSpecifics_VerificationStatus_value = map[string]int32{
		"VERIFICATION_STATUS_UNSPECIFIED": 0,
		"PARSED":                          1,
		"FORMATTED":                       2,
		"OBSERVED":                        3,
		"USER_VERIFIED":                   4,
		"SERVER_PARSED":                   5,
	}
)

func (x ContactInfoSpecifics_VerificationStatus) Enum() *ContactInfoSpecifics_VerificationStatus {
	p := new(ContactInfoSpecifics_VerificationStatus)
	*p = x
	return p
}

func (x ContactInfoSpecifics_VerificationStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ContactInfoSpecifics_VerificationStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_contact_info_specifics_proto_enumTypes[0].Descriptor()
}

func (ContactInfoSpecifics_VerificationStatus) Type() protoreflect.EnumType {
	return &file_contact_info_specifics_proto_enumTypes[0]
}

func (x ContactInfoSpecifics_VerificationStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *ContactInfoSpecifics_VerificationStatus) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = ContactInfoSpecifics_VerificationStatus(num)
	return nil
}

// Deprecated: Use ContactInfoSpecifics_VerificationStatus.Descriptor instead.
func (ContactInfoSpecifics_VerificationStatus) EnumDescriptor() ([]byte, []int) {
	return file_contact_info_specifics_proto_rawDescGZIP(), []int{0, 0}
}

type ContactInfoSpecifics struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A globally unique, immutable UUID represented in lowercase.
	Guid *string `protobuf:"bytes,1,opt,name=guid" json:"guid,omitempty"`
	// The number of time this profile has been used.
	UseCount *int64 `protobuf:"varint,3,opt,name=use_count,json=useCount" json:"use_count,omitempty"`
	// The last time this profile was used.
	UseDateUnixEpochSeconds *int64 `protobuf:"varint,4,opt,name=use_date_unix_epoch_seconds,json=useDateUnixEpochSeconds" json:"use_date_unix_epoch_seconds,omitempty"`
	// The last time the profile was modified.
	DateModifiedUnixEpochSeconds *int64 `protobuf:"varint,37,opt,name=date_modified_unix_epoch_seconds,json=dateModifiedUnixEpochSeconds" json:"date_modified_unix_epoch_seconds,omitempty"`
	// The BCP 47 language code used to format the address for display.
	LanguageCode *string `protobuf:"bytes,38,opt,name=language_code,json=languageCode" json:"language_code,omitempty"`
	// A user chosen profile label that is used to identify the profile.
	// The value of the label can be freely chosen by the user.
	ProfileLabel *string `protobuf:"bytes,5,opt,name=profile_label,json=profileLabel" json:"profile_label,omitempty"`
	// Tracks the application that initially created the profile. The integer
	// represents a value in the server-side enum `BillableService`. A value of
	// 70073 represents Chrome (enum value BILLABLE_SERVICE_CHROME_PAYMENTS).
	InitialCreatorId *int32 `protobuf:"varint,39,opt,name=initial_creator_id,json=initialCreatorId" json:"initial_creator_id,omitempty"`
	// Tracks the application that applied the last modification to the
	// non-metadata content of the profile. It represents a value in the same
	// `BillableService` enum.
	// All StringTokens, and the `profile_label` are considered non-metadata.
	LastModifierId *int32 `protobuf:"varint,40,opt,name=last_modifier_id,json=lastModifierId" json:"last_modifier_id,omitempty"`
	// Contact info name fields.
	NameFirst  *ContactInfoSpecifics_StringToken `protobuf:"bytes,7,opt,name=name_first,json=nameFirst" json:"name_first,omitempty"`
	NameMiddle *ContactInfoSpecifics_StringToken `protobuf:"bytes,8,opt,name=name_middle,json=nameMiddle" json:"name_middle,omitempty"`
	NameLast   *ContactInfoSpecifics_StringToken `protobuf:"bytes,9,opt,name=name_last,json=nameLast" json:"name_last,omitempty"`
	// Sometimes the last name is composed of two names as it is common for
	// Hispanic/Latinx names. In the unstructured representation of the last name,
	// there may be even a conjunction between the first and the second last
	// name. For example, the more-complete version of Pablo Picasso's surname is
	// "Ruiz y Picasso" containing a first last name, a conjunction (the y) and a
	// second last name.
	NameLastFirst       *ContactInfoSpecifics_StringToken `protobuf:"bytes,10,opt,name=name_last_first,json=nameLastFirst" json:"name_last_first,omitempty"`
	NameLastConjunction *ContactInfoSpecifics_StringToken `protobuf:"bytes,11,opt,name=name_last_conjunction,json=nameLastConjunction" json:"name_last_conjunction,omitempty"`
	NameLastSecond      *ContactInfoSpecifics_StringToken `protobuf:"bytes,12,opt,name=name_last_second,json=nameLastSecond" json:"name_last_second,omitempty"`
	NameFull            *ContactInfoSpecifics_StringToken `protobuf:"bytes,13,opt,name=name_full,json=nameFull" json:"name_full,omitempty"`
	// Contact info additional fields.
	EmailAddress *ContactInfoSpecifics_StringToken `protobuf:"bytes,15,opt,name=email_address,json=emailAddress" json:"email_address,omitempty"`
	CompanyName  *ContactInfoSpecifics_StringToken `protobuf:"bytes,16,opt,name=company_name,json=companyName" json:"company_name,omitempty"`
	// Address fields: These are user-provided values with no particular
	// guarantees about their format.
	AddressCity         *ContactInfoSpecifics_StringToken `protobuf:"bytes,17,opt,name=address_city,json=addressCity" json:"address_city,omitempty"`
	AddressState        *ContactInfoSpecifics_StringToken `protobuf:"bytes,18,opt,name=address_state,json=addressState" json:"address_state,omitempty"`
	AddressZip          *ContactInfoSpecifics_StringToken `protobuf:"bytes,19,opt,name=address_zip,json=addressZip" json:"address_zip,omitempty"`
	AddressCountry      *ContactInfoSpecifics_StringToken `protobuf:"bytes,20,opt,name=address_country,json=addressCountry" json:"address_country,omitempty"`
	AddressAdminLevel_2 *ContactInfoSpecifics_StringToken `protobuf:"bytes,43,opt,name=address_admin_level_2,json=addressAdminLevel2" json:"address_admin_level_2,omitempty"`
	// Additional address fields for i18n.
	// Includes all of the lines of a street address, including newlines, e.g.
	//   123 Main Street,
	//   Apt. #42
	AddressStreetAddress *ContactInfoSpecifics_StringToken `protobuf:"bytes,21,opt,name=address_street_address,json=addressStreetAddress" json:"address_street_address,omitempty"`
	// A sorting code is similar to a postal code. However, whereas a postal code
	// normally refers to a single geographical location, a sorting code often
	// does not. Instead, a sorting code is assigned to an organization, which
	// might be geographically distributed. The most prominent example of a
	// sorting code system is CEDEX in France.
	AddressSortingCode *ContactInfoSpecifics_StringToken `protobuf:"bytes,22,opt,name=address_sorting_code,json=addressSortingCode" json:"address_sorting_code,omitempty"`
	// A dependent locality is a subunit of a locality, where a "locality" is
	// roughly equivalent to a city. Examples of dependent localities include
	// inner-city districts and suburbs.
	AddressDependentLocality *ContactInfoSpecifics_StringToken `protobuf:"bytes,23,opt,name=address_dependent_locality,json=addressDependentLocality" json:"address_dependent_locality,omitempty"`
	// The street name of the address, without a house number.
	AddressThoroughfareName *ContactInfoSpecifics_StringToken `protobuf:"bytes,25,opt,name=address_thoroughfare_name,json=addressThoroughfareName" json:"address_thoroughfare_name,omitempty"`
	// The house number, which may be alphanumeric.
	AddressThoroughfareNumber *ContactInfoSpecifics_StringToken `protobuf:"bytes,26,opt,name=address_thoroughfare_number,json=addressThoroughfareNumber" json:"address_thoroughfare_number,omitempty"`
	// Contains the floor, staircase or apartment number within a building.
	AddressSubpremiseName *ContactInfoSpecifics_StringToken `protobuf:"bytes,30,opt,name=address_subpremise_name,json=addressSubpremiseName" json:"address_subpremise_name,omitempty"`
	// All the information related to the apartment. Normally a combination of the
	// apartment type (address_apt_type) and number (address_apt_num).
	// E.g. "Apt 5".
	AddressApt *ContactInfoSpecifics_StringToken `protobuf:"bytes,50,opt,name=address_apt,json=addressApt" json:"address_apt,omitempty"`
	// The apartment number within a building.
	AddressAptNum *ContactInfoSpecifics_StringToken `protobuf:"bytes,31,opt,name=address_apt_num,json=addressAptNum" json:"address_apt_num,omitempty"`
	// Information describing the type of apartment (e.g. Apt, Apartamento, Sala,
	// Departamento).
	AddressAptType *ContactInfoSpecifics_StringToken `protobuf:"bytes,51,opt,name=address_apt_type,json=addressAptType" json:"address_apt_type,omitempty"`
	// The floor number within a building.
	AddressFloor *ContactInfoSpecifics_StringToken `protobuf:"bytes,32,opt,name=address_floor,json=addressFloor" json:"address_floor,omitempty"`
	// Contains both the street and house number.
	AddressStreetLocation *ContactInfoSpecifics_StringToken `protobuf:"bytes,44,opt,name=address_street_location,json=addressStreetLocation" json:"address_street_location,omitempty"`
	AddressLandmark       *ContactInfoSpecifics_StringToken `protobuf:"bytes,41,opt,name=address_landmark,json=addressLandmark" json:"address_landmark,omitempty"`
	AddressOverflow       *ContactInfoSpecifics_StringToken `protobuf:"bytes,45,opt,name=address_overflow,json=addressOverflow" json:"address_overflow,omitempty"`
	// Indicates that the address is at the intersection between two streets.
	// It is normally a combination of between_streets_1 and _2. This is a common
	// way of writing addresses in Mexico.
	AddressBetweenStreets *ContactInfoSpecifics_StringToken `protobuf:"bytes,42,opt,name=address_between_streets,json=addressBetweenStreets" json:"address_between_streets,omitempty"`
	// The meaning of the field is similar to address_between_streets. The
	// type should be used for "Entre calle 1" in MX addresses which also
	// contain the "Entre calle 2" field.
	AddressBetweenStreets_1 *ContactInfoSpecifics_StringToken `protobuf:"bytes,46,opt,name=address_between_streets_1,json=addressBetweenStreets1" json:"address_between_streets_1,omitempty"`
	// The meaning of the field is similar to address_between_streets. The
	// type should be used for "Entre calle 2" in MX addresses which also
	// contain the "Entre calle 1" field.
	AddressBetweenStreets_2 *ContactInfoSpecifics_StringToken `protobuf:"bytes,47,opt,name=address_between_streets_2,json=addressBetweenStreets2" json:"address_between_streets_2,omitempty"`
	// Combination of types address_between_streets or address_landmark. Note that
	// some address forms require the combination of both in a single field as
	// opposed to each one separately.
	AddressBetweenStreetsOrLandmark *ContactInfoSpecifics_StringToken `protobuf:"bytes,48,opt,name=address_between_streets_or_landmark,json=addressBetweenStreetsOrLandmark" json:"address_between_streets_or_landmark,omitempty"`
	// Combination of types address_overflow and address_landmark. Note that some
	// address forms require the combination of both in a single field as opposed
	// to each one separately.
	AddressOverflowAndLandmark *ContactInfoSpecifics_StringToken `protobuf:"bytes,49,opt,name=address_overflow_and_landmark,json=addressOverflowAndLandmark" json:"address_overflow_and_landmark,omitempty"`
	// Combination of types address_street_location and
	// address_dependent_locality. Note that some address forms require the
	// combination of both in a single field as opposed to each one separately.
	AddressStreetLocationAndLocality *ContactInfoSpecifics_StringToken `protobuf:"bytes,52,opt,name=address_street_location_and_locality,json=addressStreetLocationAndLocality" json:"address_street_location_and_locality,omitempty"`
	// Phone.
	PhoneHomeWholeNumber *ContactInfoSpecifics_StringToken `protobuf:"bytes,33,opt,name=phone_home_whole_number,json=phoneHomeWholeNumber" json:"phone_home_whole_number,omitempty"`
}

func (x *ContactInfoSpecifics) Reset() {
	*x = ContactInfoSpecifics{}
	if protoimpl.UnsafeEnabled {
		mi := &file_contact_info_specifics_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ContactInfoSpecifics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContactInfoSpecifics) ProtoMessage() {}

func (x *ContactInfoSpecifics) ProtoReflect() protoreflect.Message {
	mi := &file_contact_info_specifics_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ContactInfoSpecifics.ProtoReflect.Descriptor instead.
func (*ContactInfoSpecifics) Descriptor() ([]byte, []int) {
	return file_contact_info_specifics_proto_rawDescGZIP(), []int{0}
}

func (x *ContactInfoSpecifics) GetGuid() string {
	if x != nil && x.Guid != nil {
		return *x.Guid
	}
	return ""
}

func (x *ContactInfoSpecifics) GetUseCount() int64 {
	if x != nil && x.UseCount != nil {
		return *x.UseCount
	}
	return 0
}

func (x *ContactInfoSpecifics) GetUseDateUnixEpochSeconds() int64 {
	if x != nil && x.UseDateUnixEpochSeconds != nil {
		return *x.UseDateUnixEpochSeconds
	}
	return 0
}

func (x *ContactInfoSpecifics) GetDateModifiedUnixEpochSeconds() int64 {
	if x != nil && x.DateModifiedUnixEpochSeconds != nil {
		return *x.DateModifiedUnixEpochSeconds
	}
	return 0
}

func (x *ContactInfoSpecifics) GetLanguageCode() string {
	if x != nil && x.LanguageCode != nil {
		return *x.LanguageCode
	}
	return ""
}

func (x *ContactInfoSpecifics) GetProfileLabel() string {
	if x != nil && x.ProfileLabel != nil {
		return *x.ProfileLabel
	}
	return ""
}

func (x *ContactInfoSpecifics) GetInitialCreatorId() int32 {
	if x != nil && x.InitialCreatorId != nil {
		return *x.InitialCreatorId
	}
	return 0
}

func (x *ContactInfoSpecifics) GetLastModifierId() int32 {
	if x != nil && x.LastModifierId != nil {
		return *x.LastModifierId
	}
	return 0
}

func (x *ContactInfoSpecifics) GetNameFirst() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.NameFirst
	}
	return nil
}

func (x *ContactInfoSpecifics) GetNameMiddle() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.NameMiddle
	}
	return nil
}

func (x *ContactInfoSpecifics) GetNameLast() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.NameLast
	}
	return nil
}

func (x *ContactInfoSpecifics) GetNameLastFirst() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.NameLastFirst
	}
	return nil
}

func (x *ContactInfoSpecifics) GetNameLastConjunction() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.NameLastConjunction
	}
	return nil
}

func (x *ContactInfoSpecifics) GetNameLastSecond() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.NameLastSecond
	}
	return nil
}

func (x *ContactInfoSpecifics) GetNameFull() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.NameFull
	}
	return nil
}

func (x *ContactInfoSpecifics) GetEmailAddress() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.EmailAddress
	}
	return nil
}

func (x *ContactInfoSpecifics) GetCompanyName() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.CompanyName
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressCity() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressCity
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressState() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressState
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressZip() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressZip
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressCountry() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressCountry
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressAdminLevel_2() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressAdminLevel_2
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressStreetAddress() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressStreetAddress
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressSortingCode() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressSortingCode
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressDependentLocality() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressDependentLocality
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressThoroughfareName() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressThoroughfareName
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressThoroughfareNumber() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressThoroughfareNumber
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressSubpremiseName() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressSubpremiseName
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressApt() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressApt
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressAptNum() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressAptNum
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressAptType() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressAptType
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressFloor() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressFloor
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressStreetLocation() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressStreetLocation
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressLandmark() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressLandmark
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressOverflow() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressOverflow
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressBetweenStreets() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressBetweenStreets
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressBetweenStreets_1() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressBetweenStreets_1
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressBetweenStreets_2() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressBetweenStreets_2
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressBetweenStreetsOrLandmark() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressBetweenStreetsOrLandmark
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressOverflowAndLandmark() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressOverflowAndLandmark
	}
	return nil
}

func (x *ContactInfoSpecifics) GetAddressStreetLocationAndLocality() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.AddressStreetLocationAndLocality
	}
	return nil
}

func (x *ContactInfoSpecifics) GetPhoneHomeWholeNumber() *ContactInfoSpecifics_StringToken {
	if x != nil {
		return x.PhoneHomeWholeNumber
	}
	return nil
}

type ContactInfoSpecifics_Observation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// An `autofill::ProfileTokenQuality::ObservationType`. Represented as a
	// uint32 to retain future enum values (since this is proto2).
	// The `ObservationType`'s underlying type is uint8_t, but this is not
	// supported by protos. Since the uint32 Proto type uses variable-length
	// encoding, uint32 has a similar size as a single element byte[].
	Type *uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
	// The `autofill::ProfileTokenQuality::FormSignatureHash` has type uint8_t.
	// Like for `type`, this should have the (non-existing) data type uint8.
	FormHash *uint32 `protobuf:"varint,2,opt,name=form_hash,json=formHash" json:"form_hash,omitempty"`
}

func (x *ContactInfoSpecifics_Observation) Reset() {
	*x = ContactInfoSpecifics_Observation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_contact_info_specifics_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ContactInfoSpecifics_Observation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContactInfoSpecifics_Observation) ProtoMessage() {}

func (x *ContactInfoSpecifics_Observation) ProtoReflect() protoreflect.Message {
	mi := &file_contact_info_specifics_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ContactInfoSpecifics_Observation.ProtoReflect.Descriptor instead.
func (*ContactInfoSpecifics_Observation) Descriptor() ([]byte, []int) {
	return file_contact_info_specifics_proto_rawDescGZIP(), []int{0, 0}
}

func (x *ContactInfoSpecifics_Observation) GetType() uint32 {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return 0
}

func (x *ContactInfoSpecifics_Observation) GetFormHash() uint32 {
	if x != nil && x.FormHash != nil {
		return *x.FormHash
	}
	return 0
}

// Metadata that is attached to every token type.
type ContactInfoSpecifics_TokenMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Status       *ContactInfoSpecifics_VerificationStatus `protobuf:"varint,1,opt,name=status,enum=sync_pb.ContactInfoSpecifics_VerificationStatus" json:"status,omitempty"`
	Observations []*ContactInfoSpecifics_Observation      `protobuf:"bytes,2,rep,name=observations" json:"observations,omitempty"`
	// Stores a hash of the token value that this metadata is associated with.
	// This is used by Autofill to detect changes of the token value by external
	// integrators.
	ValueHash *uint32 `protobuf:"varint,3,opt,name=value_hash,json=valueHash" json:"value_hash,omitempty"`
}

func (x *ContactInfoSpecifics_TokenMetadata) Reset() {
	*x = ContactInfoSpecifics_TokenMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_contact_info_specifics_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ContactInfoSpecifics_TokenMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContactInfoSpecifics_TokenMetadata) ProtoMessage() {}

func (x *ContactInfoSpecifics_TokenMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_contact_info_specifics_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ContactInfoSpecifics_TokenMetadata.ProtoReflect.Descriptor instead.
func (*ContactInfoSpecifics_TokenMetadata) Descriptor() ([]byte, []int) {
	return file_contact_info_specifics_proto_rawDescGZIP(), []int{0, 1}
}

func (x *ContactInfoSpecifics_TokenMetadata) GetStatus() ContactInfoSpecifics_VerificationStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ContactInfoSpecifics_VERIFICATION_STATUS_UNSPECIFIED
}

func (x *ContactInfoSpecifics_TokenMetadata) GetObservations() []*ContactInfoSpecifics_Observation {
	if x != nil {
		return x.Observations
	}
	return nil
}

func (x *ContactInfoSpecifics_TokenMetadata) GetValueHash() uint32 {
	if x != nil && x.ValueHash != nil {
		return *x.ValueHash
	}
	return 0
}

// A token with a string interpretation of the value.
type ContactInfoSpecifics_StringToken struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value    *string                             `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
	Metadata *ContactInfoSpecifics_TokenMetadata `protobuf:"bytes,2,opt,name=metadata" json:"metadata,omitempty"`
}

func (x *ContactInfoSpecifics_StringToken) Reset() {
	*x = ContactInfoSpecifics_StringToken{}
	if protoimpl.UnsafeEnabled {
		mi := &file_contact_info_specifics_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ContactInfoSpecifics_StringToken) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContactInfoSpecifics_StringToken) ProtoMessage() {}

func (x *ContactInfoSpecifics_StringToken) ProtoReflect() protoreflect.Message {
	mi := &file_contact_info_specifics_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ContactInfoSpecifics_StringToken.ProtoReflect.Descriptor instead.
func (*ContactInfoSpecifics_StringToken) Descriptor() ([]byte, []int) {
	return file_contact_info_specifics_proto_rawDescGZIP(), []int{0, 2}
}

func (x *ContactInfoSpecifics_StringToken) GetValue() string {
	if x != nil && x.Value != nil {
		return *x.Value
	}
	return ""
}

func (x *ContactInfoSpecifics_StringToken) GetMetadata() *ContactInfoSpecifics_TokenMetadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

var File_contact_info_specifics_proto protoreflect.FileDescriptor

var file_contact_info_specifics_proto_rawDesc = []byte{
	0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x73,
	0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07,
	0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x22, 0xa1, 0x21, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73,
	0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x67, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x73, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x6e,
	0x69, 0x78, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x55,
	0x6e, 0x69, 0x78, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12,
	0x46, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64,
	0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f,
	0x6e, 0x64, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x64, 0x61, 0x74, 0x65, 0x4d,
	0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x55, 0x6e, 0x69, 0x78, 0x45, 0x70, 0x6f, 0x63, 0x68,
	0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75,
	0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d,
	0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x61, 0x62, 0x65,
	0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x69,
	0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12,
	0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d,
	0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x6e, 0x61, 0x6d,
	0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
	0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x46, 0x69,
	0x72, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x64, 0x64,
	0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f,
	0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70,
	0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x12,
	0x46, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,
	0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x08, 0x6e,
	0x61, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0f, 0x6e, 0x61, 0x6d, 0x65, 0x5f,
	0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e,
	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0d, 0x6e, 0x61, 0x6d,
	0x65, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x15, 0x6e, 0x61,
	0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63,
	0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53,
	0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x13, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f,
	0x6e, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x10, 0x6e, 0x61, 0x6d,
	0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
	0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0e,
	0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x46,
	0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73,
	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x08, 0x6e, 0x61,
	0x6d, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x12, 0x4e, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
	0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
	0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73,
	0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e,
	0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f,
	0x63, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e,
	0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x69,
	0x74, 0x79, 0x12, 0x4e, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63,
	0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53,
	0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x7a, 0x69,
	0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70,
	0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65,
	0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5a, 0x69, 0x70, 0x12, 0x52,
	0x0a, 0x0f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72,
	0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70,
	0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65,
	0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x72, 0x79, 0x12, 0x5c, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x64,
	0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x18, 0x2b, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73,
	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x12, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32,
	0x12, 0x5f, 0x0a, 0x16, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65,
	0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e,
	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x14, 0x61, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x12, 0x5b, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x6f, 0x72,
	0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x12, 0x61, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x67,
	0x0a, 0x1a, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64,
	0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x17, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63,
	0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x18, 0x61,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x4c,
	0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x65, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x5f, 0x74, 0x68, 0x6f, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x66, 0x61, 0x72, 0x65, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e,
	0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x17, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x68,
	0x6f, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x66, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x69,
	0x0a, 0x1b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x6f, 0x72, 0x6f, 0x75,
	0x67, 0x68, 0x66, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x1a, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
	0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x19,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x68, 0x6f, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x66,
	0x61, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x17, 0x61, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x73, 0x65, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e,
	0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x15, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x75,
	0x62, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x0b,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x70, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73,
	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0a, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x70, 0x74, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x5f, 0x61, 0x70, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x1f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73,
	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0d, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x70, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x10, 0x61,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x70, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69,
	0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x52, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x4e, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x6f,
	0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70,
	0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65,
	0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x46, 0x6c, 0x6f, 0x6f, 0x72,
	0x12, 0x61, 0x0a, 0x17, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65,
	0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73,
	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x15, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c,
	0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
	0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x2d, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
	0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0f,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x12,
	0x61, 0x0a, 0x17, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65,
	0x65, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e,
	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x15, 0x61, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x65,
	0x74, 0x73, 0x12, 0x64, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x65,
	0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x5f, 0x31, 0x18,
	0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69,
	0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x52, 0x16, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e,
	0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x31, 0x12, 0x64, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65,
	0x65, 0x74, 0x73, 0x5f, 0x32, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79,
	0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66,
	0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x16, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42,
	0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x32, 0x12, 0x77,
	0x0a, 0x23, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65,
	0x6e, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x72, 0x5f, 0x6c, 0x61, 0x6e,
	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79,
	0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66,
	0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x1f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42,
	0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x73, 0x4f, 0x72, 0x4c,
	0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x6c, 0x0a, 0x1d, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6e, 0x64, 0x5f,
	0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
	0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x1a, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x6e, 0x64, 0x4c, 0x61, 0x6e,
	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x79, 0x0a, 0x24, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x5f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x34, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
	0x63, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x20,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x4c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
	0x12, 0x60, 0x0a, 0x17, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x77,
	0x68, 0x6f, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x73,
	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x14, 0x70, 0x68,
	0x6f, 0x6e, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x57, 0x68, 0x6f, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x1a, 0x3e, 0x0a, 0x0b, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x68, 0x61,
	0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x6f, 0x72, 0x6d, 0x48, 0x61,
	0x73, 0x68, 0x1a, 0xc7, 0x01, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66,
	0x69, 0x63, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4d,
	0x0a, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66,
	0x69, 0x63, 0x73, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a,
	0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x6c, 0x0a, 0x0b,
	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f,
	0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
	0x63, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x56,
	0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f,
	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x52, 0x53, 0x45, 0x44,
	0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x54, 0x45, 0x44, 0x10,
	0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x03, 0x12,
	0x11, 0x0a, 0x0d, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x52,
	0x53, 0x45, 0x44, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x0e, 0x10,
	0x0f, 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08,
	0x1c, 0x10, 0x1d, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, 0x4a, 0x04, 0x08, 0x22, 0x10, 0x23, 0x4a,
	0x04, 0x08, 0x23, 0x10, 0x24, 0x4a, 0x04, 0x08, 0x24, 0x10, 0x25, 0x4a, 0x04, 0x08, 0x06, 0x10,
	0x07, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x18, 0x6e, 0x61, 0x6d, 0x65, 0x5f,
	0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x69,
	0x66, 0x69, 0x63, 0x52, 0x15, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x61, 0x6e,
	0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x23, 0x61, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68,
	0x6f, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x66, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52,
	0x34, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x6f, 0x72, 0x6f, 0x75, 0x67,
	0x68, 0x66, 0x61, 0x72, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64,
	0x65, 0x6e, 0x74, 0x5f, 0x74, 0x68, 0x6f, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x66, 0x61, 0x72, 0x65,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x14, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70,
	0x72, 0x65, 0x6d, 0x69, 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x0d, 0x62, 0x69, 0x72,
	0x74, 0x68, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x52, 0x0f, 0x62, 0x69, 0x72, 0x74,
	0x68, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x52, 0x0e, 0x62, 0x69, 0x72,
	0x74, 0x68, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x52, 0x0e, 0x6e, 0x61, 0x6d,
	0x65, 0x5f, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x69, 0x66, 0x69, 0x63, 0x42, 0x36, 0x0a, 0x25, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x03, 0x50, 0x01, 0x5a, 0x09, 0x2e, 0x2f, 0x73, 0x79, 0x6e, 0x63,
	0x5f, 0x70, 0x62,
}

var (
	file_contact_info_specifics_proto_rawDescOnce sync.Once
	file_contact_info_specifics_proto_rawDescData = file_contact_info_specifics_proto_rawDesc
)

func file_contact_info_specifics_proto_rawDescGZIP() []byte {
	file_contact_info_specifics_proto_rawDescOnce.Do(func() {
		file_contact_info_specifics_proto_rawDescData = protoimpl.X.CompressGZIP(file_contact_info_specifics_proto_rawDescData)
	})
	return file_contact_info_specifics_proto_rawDescData
}

var file_contact_info_specifics_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_contact_info_specifics_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_contact_info_specifics_proto_goTypes = []interface{}{
	(ContactInfoSpecifics_VerificationStatus)(0), // 0: sync_pb.ContactInfoSpecifics.VerificationStatus
	(*ContactInfoSpecifics)(nil),                 // 1: sync_pb.ContactInfoSpecifics
	(*ContactInfoSpecifics_Observation)(nil),     // 2: sync_pb.ContactInfoSpecifics.Observation
	(*ContactInfoSpecifics_TokenMetadata)(nil),   // 3: sync_pb.ContactInfoSpecifics.TokenMetadata
	(*ContactInfoSpecifics_StringToken)(nil),     // 4: sync_pb.ContactInfoSpecifics.StringToken
}
var file_contact_info_specifics_proto_depIdxs = []int32{
	4,  // 0: sync_pb.ContactInfoSpecifics.name_first:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 1: sync_pb.ContactInfoSpecifics.name_middle:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 2: sync_pb.ContactInfoSpecifics.name_last:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 3: sync_pb.ContactInfoSpecifics.name_last_first:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 4: sync_pb.ContactInfoSpecifics.name_last_conjunction:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 5: sync_pb.ContactInfoSpecifics.name_last_second:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 6: sync_pb.ContactInfoSpecifics.name_full:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 7: sync_pb.ContactInfoSpecifics.email_address:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 8: sync_pb.ContactInfoSpecifics.company_name:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 9: sync_pb.ContactInfoSpecifics.address_city:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 10: sync_pb.ContactInfoSpecifics.address_state:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 11: sync_pb.ContactInfoSpecifics.address_zip:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 12: sync_pb.ContactInfoSpecifics.address_country:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 13: sync_pb.ContactInfoSpecifics.address_admin_level_2:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 14: sync_pb.ContactInfoSpecifics.address_street_address:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 15: sync_pb.ContactInfoSpecifics.address_sorting_code:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 16: sync_pb.ContactInfoSpecifics.address_dependent_locality:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 17: sync_pb.ContactInfoSpecifics.address_thoroughfare_name:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 18: sync_pb.ContactInfoSpecifics.address_thoroughfare_number:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 19: sync_pb.ContactInfoSpecifics.address_subpremise_name:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 20: sync_pb.ContactInfoSpecifics.address_apt:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 21: sync_pb.ContactInfoSpecifics.address_apt_num:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 22: sync_pb.ContactInfoSpecifics.address_apt_type:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 23: sync_pb.ContactInfoSpecifics.address_floor:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 24: sync_pb.ContactInfoSpecifics.address_street_location:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 25: sync_pb.ContactInfoSpecifics.address_landmark:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 26: sync_pb.ContactInfoSpecifics.address_overflow:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 27: sync_pb.ContactInfoSpecifics.address_between_streets:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 28: sync_pb.ContactInfoSpecifics.address_between_streets_1:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 29: sync_pb.ContactInfoSpecifics.address_between_streets_2:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 30: sync_pb.ContactInfoSpecifics.address_between_streets_or_landmark:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 31: sync_pb.ContactInfoSpecifics.address_overflow_and_landmark:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 32: sync_pb.ContactInfoSpecifics.address_street_location_and_locality:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	4,  // 33: sync_pb.ContactInfoSpecifics.phone_home_whole_number:type_name -> sync_pb.ContactInfoSpecifics.StringToken
	0,  // 34: sync_pb.ContactInfoSpecifics.TokenMetadata.status:type_name -> sync_pb.ContactInfoSpecifics.VerificationStatus
	2,  // 35: sync_pb.ContactInfoSpecifics.TokenMetadata.observations:type_name -> sync_pb.ContactInfoSpecifics.Observation
	3,  // 36: sync_pb.ContactInfoSpecifics.StringToken.metadata:type_name -> sync_pb.ContactInfoSpecifics.TokenMetadata
	37, // [37:37] is the sub-list for method output_type
	37, // [37:37] is the sub-list for method input_type
	37, // [37:37] is the sub-list for extension type_name
	37, // [37:37] is the sub-list for extension extendee
	0,  // [0:37] is the sub-list for field type_name
}

func init() { file_contact_info_specifics_proto_init() }
func file_contact_info_specifics_proto_init() {
	if File_contact_info_specifics_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_contact_info_specifics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContactInfoSpecifics); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_contact_info_specifics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContactInfoSpecifics_Observation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_contact_info_specifics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContactInfoSpecifics_TokenMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_contact_info_specifics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ContactInfoSpecifics_StringToken); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_contact_info_specifics_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_contact_info_specifics_proto_goTypes,
		DependencyIndexes: file_contact_info_specifics_proto_depIdxs,
		EnumInfos:         file_contact_info_specifics_proto_enumTypes,
		MessageInfos:      file_contact_info_specifics_proto_msgTypes,
	}.Build()
	File_contact_info_specifics_proto = out.File
	file_contact_info_specifics_proto_rawDesc = nil
	file_contact_info_specifics_proto_goTypes = nil
	file_contact_info_specifics_proto_depIdxs = nil
}
