// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.5
// source: backuppb/Backup.proto

package backuppb

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

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)
)

// If unset - computed as the value of the first byte of SHA-256(msg=CONTACT_ID)
// modulo the count of colors. Once set the avatar color for a recipient is
// never recomputed or changed.
//
// `CONTACT_ID` is the first available identifier from the list:
// - ServiceIdToBinary(ACI)
// - E164
// - ServiceIdToBinary(PNI)
// - Group Id
type AvatarColor int32

const (
	AvatarColor_A100 AvatarColor = 0
	AvatarColor_A110 AvatarColor = 1
	AvatarColor_A120 AvatarColor = 2
	AvatarColor_A130 AvatarColor = 3
	AvatarColor_A140 AvatarColor = 4
	AvatarColor_A150 AvatarColor = 5
	AvatarColor_A160 AvatarColor = 6
	AvatarColor_A170 AvatarColor = 7
	AvatarColor_A180 AvatarColor = 8
	AvatarColor_A190 AvatarColor = 9
	AvatarColor_A200 AvatarColor = 10
	AvatarColor_A210 AvatarColor = 11
)

// Enum value maps for AvatarColor.
var (
	AvatarColor_name = map[int32]string{
		0:  "A100",
		1:  "A110",
		2:  "A120",
		3:  "A130",
		4:  "A140",
		5:  "A150",
		6:  "A160",
		7:  "A170",
		8:  "A180",
		9:  "A190",
		10: "A200",
		11: "A210",
	}
	AvatarColor_value = map[string]int32{
		"A100": 0,
		"A110": 1,
		"A120": 2,
		"A130": 3,
		"A140": 4,
		"A150": 5,
		"A160": 6,
		"A170": 7,
		"A180": 8,
		"A190": 9,
		"A200": 10,
		"A210": 11,
	}
)

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

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

func (AvatarColor) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[0].Descriptor()
}

func (AvatarColor) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[0]
}

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

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

type GroupV2AccessLevel int32

const (
	GroupV2AccessLevel_UNKNOWN       GroupV2AccessLevel = 0 // Interpret as "Unsatisfiable"
	GroupV2AccessLevel_ANY           GroupV2AccessLevel = 1
	GroupV2AccessLevel_MEMBER        GroupV2AccessLevel = 2
	GroupV2AccessLevel_ADMINISTRATOR GroupV2AccessLevel = 3
	GroupV2AccessLevel_UNSATISFIABLE GroupV2AccessLevel = 4
)

// Enum value maps for GroupV2AccessLevel.
var (
	GroupV2AccessLevel_name = map[int32]string{
		0: "UNKNOWN",
		1: "ANY",
		2: "MEMBER",
		3: "ADMINISTRATOR",
		4: "UNSATISFIABLE",
	}
	GroupV2AccessLevel_value = map[string]int32{
		"UNKNOWN":       0,
		"ANY":           1,
		"MEMBER":        2,
		"ADMINISTRATOR": 3,
		"UNSATISFIABLE": 4,
	}
)

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

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

func (GroupV2AccessLevel) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[1].Descriptor()
}

func (GroupV2AccessLevel) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[1]
}

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

// Deprecated: Use GroupV2AccessLevel.Descriptor instead.
func (GroupV2AccessLevel) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{1}
}

type AccountData_PhoneNumberSharingMode int32

const (
	AccountData_UNKNOWN   AccountData_PhoneNumberSharingMode = 0 // Interpret as "Nobody"
	AccountData_EVERYBODY AccountData_PhoneNumberSharingMode = 1
	AccountData_NOBODY    AccountData_PhoneNumberSharingMode = 2
)

// Enum value maps for AccountData_PhoneNumberSharingMode.
var (
	AccountData_PhoneNumberSharingMode_name = map[int32]string{
		0: "UNKNOWN",
		1: "EVERYBODY",
		2: "NOBODY",
	}
	AccountData_PhoneNumberSharingMode_value = map[string]int32{
		"UNKNOWN":   0,
		"EVERYBODY": 1,
		"NOBODY":    2,
	}
)

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

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

func (AccountData_PhoneNumberSharingMode) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[2].Descriptor()
}

func (AccountData_PhoneNumberSharingMode) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[2]
}

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

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

type AccountData_SentMediaQuality int32

const (
	AccountData_UNKNOWN_QUALITY AccountData_SentMediaQuality = 0 // Interpret as "Standard"
	AccountData_STANDARD        AccountData_SentMediaQuality = 1
	AccountData_HIGH            AccountData_SentMediaQuality = 2
)

// Enum value maps for AccountData_SentMediaQuality.
var (
	AccountData_SentMediaQuality_name = map[int32]string{
		0: "UNKNOWN_QUALITY",
		1: "STANDARD",
		2: "HIGH",
	}
	AccountData_SentMediaQuality_value = map[string]int32{
		"UNKNOWN_QUALITY": 0,
		"STANDARD":        1,
		"HIGH":            2,
	}
)

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

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

func (AccountData_SentMediaQuality) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[3].Descriptor()
}

func (AccountData_SentMediaQuality) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[3]
}

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

// Deprecated: Use AccountData_SentMediaQuality.Descriptor instead.
func (AccountData_SentMediaQuality) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 1}
}

type AccountData_AppTheme int32

const (
	AccountData_UNKNOWN_APP_THEME AccountData_AppTheme = 0 // Interpret as "System"
	AccountData_SYSTEM            AccountData_AppTheme = 1
	AccountData_LIGHT             AccountData_AppTheme = 2
	AccountData_DARK              AccountData_AppTheme = 3
)

// Enum value maps for AccountData_AppTheme.
var (
	AccountData_AppTheme_name = map[int32]string{
		0: "UNKNOWN_APP_THEME",
		1: "SYSTEM",
		2: "LIGHT",
		3: "DARK",
	}
	AccountData_AppTheme_value = map[string]int32{
		"UNKNOWN_APP_THEME": 0,
		"SYSTEM":            1,
		"LIGHT":             2,
		"DARK":              3,
	}
)

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

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

func (AccountData_AppTheme) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[4].Descriptor()
}

func (AccountData_AppTheme) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[4]
}

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

// Deprecated: Use AccountData_AppTheme.Descriptor instead.
func (AccountData_AppTheme) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 2}
}

type AccountData_CallsUseLessDataSetting int32

const (
	AccountData_UNKNOWN_CALL_DATA_SETTING AccountData_CallsUseLessDataSetting = 0 // Interpret as "Never"
	AccountData_NEVER                     AccountData_CallsUseLessDataSetting = 1
	AccountData_MOBILE_DATA_ONLY          AccountData_CallsUseLessDataSetting = 2
	AccountData_WIFI_AND_MOBILE_DATA      AccountData_CallsUseLessDataSetting = 3
)

// Enum value maps for AccountData_CallsUseLessDataSetting.
var (
	AccountData_CallsUseLessDataSetting_name = map[int32]string{
		0: "UNKNOWN_CALL_DATA_SETTING",
		1: "NEVER",
		2: "MOBILE_DATA_ONLY",
		3: "WIFI_AND_MOBILE_DATA",
	}
	AccountData_CallsUseLessDataSetting_value = map[string]int32{
		"UNKNOWN_CALL_DATA_SETTING": 0,
		"NEVER":                     1,
		"MOBILE_DATA_ONLY":          2,
		"WIFI_AND_MOBILE_DATA":      3,
	}
)

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

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

func (AccountData_CallsUseLessDataSetting) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[5].Descriptor()
}

func (AccountData_CallsUseLessDataSetting) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[5]
}

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

// Deprecated: Use AccountData_CallsUseLessDataSetting.Descriptor instead.
func (AccountData_CallsUseLessDataSetting) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 3}
}

type AccountData_UsernameLink_Color int32

const (
	AccountData_UsernameLink_UNKNOWN AccountData_UsernameLink_Color = 0 // Interpret as "Blue"
	AccountData_UsernameLink_BLUE    AccountData_UsernameLink_Color = 1
	AccountData_UsernameLink_WHITE   AccountData_UsernameLink_Color = 2
	AccountData_UsernameLink_GREY    AccountData_UsernameLink_Color = 3
	AccountData_UsernameLink_OLIVE   AccountData_UsernameLink_Color = 4
	AccountData_UsernameLink_GREEN   AccountData_UsernameLink_Color = 5
	AccountData_UsernameLink_ORANGE  AccountData_UsernameLink_Color = 6
	AccountData_UsernameLink_PINK    AccountData_UsernameLink_Color = 7
	AccountData_UsernameLink_PURPLE  AccountData_UsernameLink_Color = 8
)

// Enum value maps for AccountData_UsernameLink_Color.
var (
	AccountData_UsernameLink_Color_name = map[int32]string{
		0: "UNKNOWN",
		1: "BLUE",
		2: "WHITE",
		3: "GREY",
		4: "OLIVE",
		5: "GREEN",
		6: "ORANGE",
		7: "PINK",
		8: "PURPLE",
	}
	AccountData_UsernameLink_Color_value = map[string]int32{
		"UNKNOWN": 0,
		"BLUE":    1,
		"WHITE":   2,
		"GREY":    3,
		"OLIVE":   4,
		"GREEN":   5,
		"ORANGE":  6,
		"PINK":    7,
		"PURPLE":  8,
	}
)

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

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

func (AccountData_UsernameLink_Color) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[6].Descriptor()
}

func (AccountData_UsernameLink_Color) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[6]
}

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

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

type AccountData_AutoDownloadSettings_AutoDownloadOption int32

const (
	AccountData_AutoDownloadSettings_UNKNOWN           AccountData_AutoDownloadSettings_AutoDownloadOption = 0 // Interpret as "Never"
	AccountData_AutoDownloadSettings_NEVER             AccountData_AutoDownloadSettings_AutoDownloadOption = 1
	AccountData_AutoDownloadSettings_WIFI              AccountData_AutoDownloadSettings_AutoDownloadOption = 2
	AccountData_AutoDownloadSettings_WIFI_AND_CELLULAR AccountData_AutoDownloadSettings_AutoDownloadOption = 3
)

// Enum value maps for AccountData_AutoDownloadSettings_AutoDownloadOption.
var (
	AccountData_AutoDownloadSettings_AutoDownloadOption_name = map[int32]string{
		0: "UNKNOWN",
		1: "NEVER",
		2: "WIFI",
		3: "WIFI_AND_CELLULAR",
	}
	AccountData_AutoDownloadSettings_AutoDownloadOption_value = map[string]int32{
		"UNKNOWN":           0,
		"NEVER":             1,
		"WIFI":              2,
		"WIFI_AND_CELLULAR": 3,
	}
)

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

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

func (AccountData_AutoDownloadSettings_AutoDownloadOption) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[7].Descriptor()
}

func (AccountData_AutoDownloadSettings_AutoDownloadOption) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[7]
}

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

// Deprecated: Use AccountData_AutoDownloadSettings_AutoDownloadOption.Descriptor instead.
func (AccountData_AutoDownloadSettings_AutoDownloadOption) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 1, 0}
}

type AccountData_AndroidSpecificSettings_NavigationBarSize int32

const (
	AccountData_AndroidSpecificSettings_UNKNOWN_BAR_SIZE AccountData_AndroidSpecificSettings_NavigationBarSize = 0 // Intepret as "Normal"
	AccountData_AndroidSpecificSettings_NORMAL           AccountData_AndroidSpecificSettings_NavigationBarSize = 1
	AccountData_AndroidSpecificSettings_COMPACT          AccountData_AndroidSpecificSettings_NavigationBarSize = 2
)

// Enum value maps for AccountData_AndroidSpecificSettings_NavigationBarSize.
var (
	AccountData_AndroidSpecificSettings_NavigationBarSize_name = map[int32]string{
		0: "UNKNOWN_BAR_SIZE",
		1: "NORMAL",
		2: "COMPACT",
	}
	AccountData_AndroidSpecificSettings_NavigationBarSize_value = map[string]int32{
		"UNKNOWN_BAR_SIZE": 0,
		"NORMAL":           1,
		"COMPACT":          2,
	}
)

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

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

func (AccountData_AndroidSpecificSettings_NavigationBarSize) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[8].Descriptor()
}

func (AccountData_AndroidSpecificSettings_NavigationBarSize) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[8]
}

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

// Deprecated: Use AccountData_AndroidSpecificSettings_NavigationBarSize.Descriptor instead.
func (AccountData_AndroidSpecificSettings_NavigationBarSize) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 5, 0}
}

type Contact_IdentityState int32

const (
	Contact_DEFAULT    Contact_IdentityState = 0 // A valid value -- indicates unset by the user
	Contact_VERIFIED   Contact_IdentityState = 1
	Contact_UNVERIFIED Contact_IdentityState = 2 // Was once verified and is now unverified
)

// Enum value maps for Contact_IdentityState.
var (
	Contact_IdentityState_name = map[int32]string{
		0: "DEFAULT",
		1: "VERIFIED",
		2: "UNVERIFIED",
	}
	Contact_IdentityState_value = map[string]int32{
		"DEFAULT":    0,
		"VERIFIED":   1,
		"UNVERIFIED": 2,
	}
)

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

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

func (Contact_IdentityState) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[9].Descriptor()
}

func (Contact_IdentityState) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[9]
}

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

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

type Contact_Visibility int32

const (
	Contact_VISIBLE                Contact_Visibility = 0 // A valid value -- the contact is not hidden
	Contact_HIDDEN                 Contact_Visibility = 1
	Contact_HIDDEN_MESSAGE_REQUEST Contact_Visibility = 2
)

// Enum value maps for Contact_Visibility.
var (
	Contact_Visibility_name = map[int32]string{
		0: "VISIBLE",
		1: "HIDDEN",
		2: "HIDDEN_MESSAGE_REQUEST",
	}
	Contact_Visibility_value = map[string]int32{
		"VISIBLE":                0,
		"HIDDEN":                 1,
		"HIDDEN_MESSAGE_REQUEST": 2,
	}
)

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

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

func (Contact_Visibility) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[10].Descriptor()
}

func (Contact_Visibility) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[10]
}

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

// Deprecated: Use Contact_Visibility.Descriptor instead.
func (Contact_Visibility) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{4, 1}
}

type Group_StorySendMode int32

const (
	Group_DEFAULT  Group_StorySendMode = 0 // A valid value -- indicates unset by the user
	Group_DISABLED Group_StorySendMode = 1
	Group_ENABLED  Group_StorySendMode = 2
)

// Enum value maps for Group_StorySendMode.
var (
	Group_StorySendMode_name = map[int32]string{
		0: "DEFAULT",
		1: "DISABLED",
		2: "ENABLED",
	}
	Group_StorySendMode_value = map[string]int32{
		"DEFAULT":  0,
		"DISABLED": 1,
		"ENABLED":  2,
	}
)

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

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

func (Group_StorySendMode) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[11].Descriptor()
}

func (Group_StorySendMode) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[11]
}

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

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

type Group_Member_Role int32

const (
	Group_Member_UNKNOWN       Group_Member_Role = 0 // Intepret as "Default"
	Group_Member_DEFAULT       Group_Member_Role = 1
	Group_Member_ADMINISTRATOR Group_Member_Role = 2
)

// Enum value maps for Group_Member_Role.
var (
	Group_Member_Role_name = map[int32]string{
		0: "UNKNOWN",
		1: "DEFAULT",
		2: "ADMINISTRATOR",
	}
	Group_Member_Role_value = map[string]int32{
		"UNKNOWN":       0,
		"DEFAULT":       1,
		"ADMINISTRATOR": 2,
	}
)

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

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

func (Group_Member_Role) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[12].Descriptor()
}

func (Group_Member_Role) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[12]
}

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

// Deprecated: Use Group_Member_Role.Descriptor instead.
func (Group_Member_Role) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 2, 0}
}

type Group_AccessControl_AccessRequired int32

const (
	Group_AccessControl_UNKNOWN       Group_AccessControl_AccessRequired = 0 // Intepret as "Unsatisfiable"
	Group_AccessControl_ANY           Group_AccessControl_AccessRequired = 1
	Group_AccessControl_MEMBER        Group_AccessControl_AccessRequired = 2
	Group_AccessControl_ADMINISTRATOR Group_AccessControl_AccessRequired = 3
	Group_AccessControl_UNSATISFIABLE Group_AccessControl_AccessRequired = 4
)

// Enum value maps for Group_AccessControl_AccessRequired.
var (
	Group_AccessControl_AccessRequired_name = map[int32]string{
		0: "UNKNOWN",
		1: "ANY",
		2: "MEMBER",
		3: "ADMINISTRATOR",
		4: "UNSATISFIABLE",
	}
	Group_AccessControl_AccessRequired_value = map[string]int32{
		"UNKNOWN":       0,
		"ANY":           1,
		"MEMBER":        2,
		"ADMINISTRATOR": 3,
		"UNSATISFIABLE": 4,
	}
)

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

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

func (Group_AccessControl_AccessRequired) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[13].Descriptor()
}

func (Group_AccessControl_AccessRequired) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[13]
}

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

// Deprecated: Use Group_AccessControl_AccessRequired.Descriptor instead.
func (Group_AccessControl_AccessRequired) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 6, 0}
}

type CallLink_Restrictions int32

const (
	CallLink_UNKNOWN        CallLink_Restrictions = 0 // Interpret as "Admin Approval"
	CallLink_NONE           CallLink_Restrictions = 1
	CallLink_ADMIN_APPROVAL CallLink_Restrictions = 2
)

// Enum value maps for CallLink_Restrictions.
var (
	CallLink_Restrictions_name = map[int32]string{
		0: "UNKNOWN",
		1: "NONE",
		2: "ADMIN_APPROVAL",
	}
	CallLink_Restrictions_value = map[string]int32{
		"UNKNOWN":        0,
		"NONE":           1,
		"ADMIN_APPROVAL": 2,
	}
)

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

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

func (CallLink_Restrictions) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[14].Descriptor()
}

func (CallLink_Restrictions) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[14]
}

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

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

type AdHocCall_State int32

const (
	AdHocCall_UNKNOWN_STATE AdHocCall_State = 0 // Interpret as "Generic"
	AdHocCall_GENERIC       AdHocCall_State = 1
)

// Enum value maps for AdHocCall_State.
var (
	AdHocCall_State_name = map[int32]string{
		0: "UNKNOWN_STATE",
		1: "GENERIC",
	}
	AdHocCall_State_value = map[string]int32{
		"UNKNOWN_STATE": 0,
		"GENERIC":       1,
	}
)

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

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

func (AdHocCall_State) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[15].Descriptor()
}

func (AdHocCall_State) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[15]
}

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

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

type DistributionList_PrivacyMode int32

const (
	DistributionList_UNKNOWN    DistributionList_PrivacyMode = 0 // Interpret as "Only with"
	DistributionList_ONLY_WITH  DistributionList_PrivacyMode = 1
	DistributionList_ALL_EXCEPT DistributionList_PrivacyMode = 2
	DistributionList_ALL        DistributionList_PrivacyMode = 3
)

// Enum value maps for DistributionList_PrivacyMode.
var (
	DistributionList_PrivacyMode_name = map[int32]string{
		0: "UNKNOWN",
		1: "ONLY_WITH",
		2: "ALL_EXCEPT",
		3: "ALL",
	}
	DistributionList_PrivacyMode_value = map[string]int32{
		"UNKNOWN":    0,
		"ONLY_WITH":  1,
		"ALL_EXCEPT": 2,
		"ALL":        3,
	}
)

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

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

func (DistributionList_PrivacyMode) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[16].Descriptor()
}

func (DistributionList_PrivacyMode) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[16]
}

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

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

type SendStatus_Failed_FailureReason int32

const (
	SendStatus_Failed_UNKNOWN               SendStatus_Failed_FailureReason = 0 // A valid value -- could indicate a crash or lack of information
	SendStatus_Failed_NETWORK               SendStatus_Failed_FailureReason = 1
	SendStatus_Failed_IDENTITY_KEY_MISMATCH SendStatus_Failed_FailureReason = 2
)

// Enum value maps for SendStatus_Failed_FailureReason.
var (
	SendStatus_Failed_FailureReason_name = map[int32]string{
		0: "UNKNOWN",
		1: "NETWORK",
		2: "IDENTITY_KEY_MISMATCH",
	}
	SendStatus_Failed_FailureReason_value = map[string]int32{
		"UNKNOWN":               0,
		"NETWORK":               1,
		"IDENTITY_KEY_MISMATCH": 2,
	}
)

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

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

func (SendStatus_Failed_FailureReason) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[17].Descriptor()
}

func (SendStatus_Failed_FailureReason) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[17]
}

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

// Deprecated: Use SendStatus_Failed_FailureReason.Descriptor instead.
func (SendStatus_Failed_FailureReason) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14, 6, 0}
}

type PaymentNotification_TransactionDetails_FailedTransaction_FailureReason int32

const (
	PaymentNotification_TransactionDetails_FailedTransaction_GENERIC            PaymentNotification_TransactionDetails_FailedTransaction_FailureReason = 0 // A valid value -- reason unknown
	PaymentNotification_TransactionDetails_FailedTransaction_NETWORK            PaymentNotification_TransactionDetails_FailedTransaction_FailureReason = 1
	PaymentNotification_TransactionDetails_FailedTransaction_INSUFFICIENT_FUNDS PaymentNotification_TransactionDetails_FailedTransaction_FailureReason = 2
)

// Enum value maps for PaymentNotification_TransactionDetails_FailedTransaction_FailureReason.
var (
	PaymentNotification_TransactionDetails_FailedTransaction_FailureReason_name = map[int32]string{
		0: "GENERIC",
		1: "NETWORK",
		2: "INSUFFICIENT_FUNDS",
	}
	PaymentNotification_TransactionDetails_FailedTransaction_FailureReason_value = map[string]int32{
		"GENERIC":            0,
		"NETWORK":            1,
		"INSUFFICIENT_FUNDS": 2,
	}
)

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

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

func (PaymentNotification_TransactionDetails_FailedTransaction_FailureReason) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[18].Descriptor()
}

func (PaymentNotification_TransactionDetails_FailedTransaction_FailureReason) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[18]
}

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

// Deprecated: Use PaymentNotification_TransactionDetails_FailedTransaction_FailureReason.Descriptor instead.
func (PaymentNotification_TransactionDetails_FailedTransaction_FailureReason) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{19, 0, 1, 0}
}

type PaymentNotification_TransactionDetails_Transaction_Status int32

const (
	PaymentNotification_TransactionDetails_Transaction_INITIAL    PaymentNotification_TransactionDetails_Transaction_Status = 0 // A valid value -- state unconfirmed
	PaymentNotification_TransactionDetails_Transaction_SUBMITTED  PaymentNotification_TransactionDetails_Transaction_Status = 1
	PaymentNotification_TransactionDetails_Transaction_SUCCESSFUL PaymentNotification_TransactionDetails_Transaction_Status = 2
)

// Enum value maps for PaymentNotification_TransactionDetails_Transaction_Status.
var (
	PaymentNotification_TransactionDetails_Transaction_Status_name = map[int32]string{
		0: "INITIAL",
		1: "SUBMITTED",
		2: "SUCCESSFUL",
	}
	PaymentNotification_TransactionDetails_Transaction_Status_value = map[string]int32{
		"INITIAL":    0,
		"SUBMITTED":  1,
		"SUCCESSFUL": 2,
	}
)

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

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

func (PaymentNotification_TransactionDetails_Transaction_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[19].Descriptor()
}

func (PaymentNotification_TransactionDetails_Transaction_Status) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[19]
}

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

// Deprecated: Use PaymentNotification_TransactionDetails_Transaction_Status.Descriptor instead.
func (PaymentNotification_TransactionDetails_Transaction_Status) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{19, 0, 2, 0}
}

type GiftBadge_State int32

const (
	GiftBadge_UNOPENED GiftBadge_State = 0 // A valid state
	GiftBadge_OPENED   GiftBadge_State = 1
	GiftBadge_REDEEMED GiftBadge_State = 2
	GiftBadge_FAILED   GiftBadge_State = 3
)

// Enum value maps for GiftBadge_State.
var (
	GiftBadge_State_name = map[int32]string{
		0: "UNOPENED",
		1: "OPENED",
		2: "REDEEMED",
		3: "FAILED",
	}
	GiftBadge_State_value = map[string]int32{
		"UNOPENED": 0,
		"OPENED":   1,
		"REDEEMED": 2,
		"FAILED":   3,
	}
)

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

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

func (GiftBadge_State) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[20].Descriptor()
}

func (GiftBadge_State) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[20]
}

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

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

type ContactAttachment_Phone_Type int32

const (
	ContactAttachment_Phone_UNKNOWN ContactAttachment_Phone_Type = 0 // Interpret as "Home"
	ContactAttachment_Phone_HOME    ContactAttachment_Phone_Type = 1
	ContactAttachment_Phone_MOBILE  ContactAttachment_Phone_Type = 2
	ContactAttachment_Phone_WORK    ContactAttachment_Phone_Type = 3
	ContactAttachment_Phone_CUSTOM  ContactAttachment_Phone_Type = 4
)

// Enum value maps for ContactAttachment_Phone_Type.
var (
	ContactAttachment_Phone_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "HOME",
		2: "MOBILE",
		3: "WORK",
		4: "CUSTOM",
	}
	ContactAttachment_Phone_Type_value = map[string]int32{
		"UNKNOWN": 0,
		"HOME":    1,
		"MOBILE":  2,
		"WORK":    3,
		"CUSTOM":  4,
	}
)

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

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

func (ContactAttachment_Phone_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[21].Descriptor()
}

func (ContactAttachment_Phone_Type) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[21]
}

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

// Deprecated: Use ContactAttachment_Phone_Type.Descriptor instead.
func (ContactAttachment_Phone_Type) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{22, 1, 0}
}

type ContactAttachment_Email_Type int32

const (
	ContactAttachment_Email_UNKNOWN ContactAttachment_Email_Type = 0 // Intepret as "Home"
	ContactAttachment_Email_HOME    ContactAttachment_Email_Type = 1
	ContactAttachment_Email_MOBILE  ContactAttachment_Email_Type = 2
	ContactAttachment_Email_WORK    ContactAttachment_Email_Type = 3
	ContactAttachment_Email_CUSTOM  ContactAttachment_Email_Type = 4
)

// Enum value maps for ContactAttachment_Email_Type.
var (
	ContactAttachment_Email_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "HOME",
		2: "MOBILE",
		3: "WORK",
		4: "CUSTOM",
	}
	ContactAttachment_Email_Type_value = map[string]int32{
		"UNKNOWN": 0,
		"HOME":    1,
		"MOBILE":  2,
		"WORK":    3,
		"CUSTOM":  4,
	}
)

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

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

func (ContactAttachment_Email_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[22].Descriptor()
}

func (ContactAttachment_Email_Type) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[22]
}

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

// Deprecated: Use ContactAttachment_Email_Type.Descriptor instead.
func (ContactAttachment_Email_Type) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{22, 2, 0}
}

type ContactAttachment_PostalAddress_Type int32

const (
	ContactAttachment_PostalAddress_UNKNOWN ContactAttachment_PostalAddress_Type = 0 // Interpret as "Home"
	ContactAttachment_PostalAddress_HOME    ContactAttachment_PostalAddress_Type = 1
	ContactAttachment_PostalAddress_WORK    ContactAttachment_PostalAddress_Type = 2
	ContactAttachment_PostalAddress_CUSTOM  ContactAttachment_PostalAddress_Type = 3
)

// Enum value maps for ContactAttachment_PostalAddress_Type.
var (
	ContactAttachment_PostalAddress_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "HOME",
		2: "WORK",
		3: "CUSTOM",
	}
	ContactAttachment_PostalAddress_Type_value = map[string]int32{
		"UNKNOWN": 0,
		"HOME":    1,
		"WORK":    2,
		"CUSTOM":  3,
	}
)

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

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

func (ContactAttachment_PostalAddress_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[23].Descriptor()
}

func (ContactAttachment_PostalAddress_Type) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[23]
}

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

// Deprecated: Use ContactAttachment_PostalAddress_Type.Descriptor instead.
func (ContactAttachment_PostalAddress_Type) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{22, 3, 0}
}

// Similar to SignalService.AttachmentPointer.Flags,
// but explicitly mutually exclusive. Note the different raw values
// (non-zero starting values are not supported in proto3.)
type MessageAttachment_Flag int32

const (
	MessageAttachment_NONE          MessageAttachment_Flag = 0 // A valid value -- no flag applied
	MessageAttachment_VOICE_MESSAGE MessageAttachment_Flag = 1
	MessageAttachment_BORDERLESS    MessageAttachment_Flag = 2
	MessageAttachment_GIF           MessageAttachment_Flag = 3
)

// Enum value maps for MessageAttachment_Flag.
var (
	MessageAttachment_Flag_name = map[int32]string{
		0: "NONE",
		1: "VOICE_MESSAGE",
		2: "BORDERLESS",
		3: "GIF",
	}
	MessageAttachment_Flag_value = map[string]int32{
		"NONE":          0,
		"VOICE_MESSAGE": 1,
		"BORDERLESS":    2,
		"GIF":           3,
	}
)

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

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

func (MessageAttachment_Flag) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[24].Descriptor()
}

func (MessageAttachment_Flag) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[24]
}

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

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

type Quote_Type int32

const (
	Quote_UNKNOWN    Quote_Type = 0 // Interpret as "Normal"
	Quote_NORMAL     Quote_Type = 1
	Quote_GIFT_BADGE Quote_Type = 2
	Quote_VIEW_ONCE  Quote_Type = 3
	Quote_POLL       Quote_Type = 4
)

// Enum value maps for Quote_Type.
var (
	Quote_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "NORMAL",
		2: "GIFT_BADGE",
		3: "VIEW_ONCE",
		4: "POLL",
	}
	Quote_Type_value = map[string]int32{
		"UNKNOWN":    0,
		"NORMAL":     1,
		"GIFT_BADGE": 2,
		"VIEW_ONCE":  3,
		"POLL":       4,
	}
)

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

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

func (Quote_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[25].Descriptor()
}

func (Quote_Type) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[25]
}

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

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

type BodyRange_Style int32

const (
	BodyRange_NONE          BodyRange_Style = 0 // Importers should ignore the body range without throwing an error.
	BodyRange_BOLD          BodyRange_Style = 1
	BodyRange_ITALIC        BodyRange_Style = 2
	BodyRange_SPOILER       BodyRange_Style = 3
	BodyRange_STRIKETHROUGH BodyRange_Style = 4
	BodyRange_MONOSPACE     BodyRange_Style = 5
)

// Enum value maps for BodyRange_Style.
var (
	BodyRange_Style_name = map[int32]string{
		0: "NONE",
		1: "BOLD",
		2: "ITALIC",
		3: "SPOILER",
		4: "STRIKETHROUGH",
		5: "MONOSPACE",
	}
	BodyRange_Style_value = map[string]int32{
		"NONE":          0,
		"BOLD":          1,
		"ITALIC":        2,
		"SPOILER":       3,
		"STRIKETHROUGH": 4,
		"MONOSPACE":     5,
	}
)

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

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

func (BodyRange_Style) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[26].Descriptor()
}

func (BodyRange_Style) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[26]
}

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

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

type IndividualCall_Type int32

const (
	IndividualCall_UNKNOWN_TYPE IndividualCall_Type = 0 // Interpret as "Audio call"
	IndividualCall_AUDIO_CALL   IndividualCall_Type = 1
	IndividualCall_VIDEO_CALL   IndividualCall_Type = 2
)

// Enum value maps for IndividualCall_Type.
var (
	IndividualCall_Type_name = map[int32]string{
		0: "UNKNOWN_TYPE",
		1: "AUDIO_CALL",
		2: "VIDEO_CALL",
	}
	IndividualCall_Type_value = map[string]int32{
		"UNKNOWN_TYPE": 0,
		"AUDIO_CALL":   1,
		"VIDEO_CALL":   2,
	}
)

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

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

func (IndividualCall_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[27].Descriptor()
}

func (IndividualCall_Type) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[27]
}

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

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

type IndividualCall_Direction int32

const (
	IndividualCall_UNKNOWN_DIRECTION IndividualCall_Direction = 0 // Interpret as "Incoming"
	IndividualCall_INCOMING          IndividualCall_Direction = 1
	IndividualCall_OUTGOING          IndividualCall_Direction = 2
)

// Enum value maps for IndividualCall_Direction.
var (
	IndividualCall_Direction_name = map[int32]string{
		0: "UNKNOWN_DIRECTION",
		1: "INCOMING",
		2: "OUTGOING",
	}
	IndividualCall_Direction_value = map[string]int32{
		"UNKNOWN_DIRECTION": 0,
		"INCOMING":          1,
		"OUTGOING":          2,
	}
)

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

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

func (IndividualCall_Direction) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[28].Descriptor()
}

func (IndividualCall_Direction) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[28]
}

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

// Deprecated: Use IndividualCall_Direction.Descriptor instead.
func (IndividualCall_Direction) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{34, 1}
}

type IndividualCall_State int32

const (
	IndividualCall_UNKNOWN_STATE IndividualCall_State = 0 // Interpret as "Accepted"
	IndividualCall_ACCEPTED      IndividualCall_State = 1
	IndividualCall_NOT_ACCEPTED  IndividualCall_State = 2
	// An incoming call that is no longer ongoing, which we neither accepted
	// not actively declined. For example, it expired, was canceled by the
	// sender, or was rejected due to being in another call.
	IndividualCall_MISSED IndividualCall_State = 3
	// We auto-declined an incoming call due to a notification profile.
	IndividualCall_MISSED_NOTIFICATION_PROFILE IndividualCall_State = 4
)

// Enum value maps for IndividualCall_State.
var (
	IndividualCall_State_name = map[int32]string{
		0: "UNKNOWN_STATE",
		1: "ACCEPTED",
		2: "NOT_ACCEPTED",
		3: "MISSED",
		4: "MISSED_NOTIFICATION_PROFILE",
	}
	IndividualCall_State_value = map[string]int32{
		"UNKNOWN_STATE":               0,
		"ACCEPTED":                    1,
		"NOT_ACCEPTED":                2,
		"MISSED":                      3,
		"MISSED_NOTIFICATION_PROFILE": 4,
	}
)

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

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

func (IndividualCall_State) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[29].Descriptor()
}

func (IndividualCall_State) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[29]
}

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

// Deprecated: Use IndividualCall_State.Descriptor instead.
func (IndividualCall_State) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{34, 2}
}

type GroupCall_State int32

const (
	GroupCall_UNKNOWN_STATE GroupCall_State = 0 // Interpret as "Generic"
	// A group call was started without ringing.
	GroupCall_GENERIC GroupCall_State = 1
	// We joined a group call that was started without ringing.
	GroupCall_JOINED GroupCall_State = 2
	// An incoming group call is actively ringing.
	GroupCall_RINGING GroupCall_State = 3
	// We accepted an incoming group ring.
	GroupCall_ACCEPTED GroupCall_State = 4
	// We declined an incoming group ring.
	GroupCall_DECLINED GroupCall_State = 5
	// We missed an incoming group ring, for example because it expired.
	GroupCall_MISSED GroupCall_State = 6
	// We auto-declined an incoming group ring due to a notification profile.
	GroupCall_MISSED_NOTIFICATION_PROFILE GroupCall_State = 7
	// An outgoing ring was started. We don't track any state for outgoing rings
	// beyond that they started.
	GroupCall_OUTGOING_RING GroupCall_State = 8
)

// Enum value maps for GroupCall_State.
var (
	GroupCall_State_name = map[int32]string{
		0: "UNKNOWN_STATE",
		1: "GENERIC",
		2: "JOINED",
		3: "RINGING",
		4: "ACCEPTED",
		5: "DECLINED",
		6: "MISSED",
		7: "MISSED_NOTIFICATION_PROFILE",
		8: "OUTGOING_RING",
	}
	GroupCall_State_value = map[string]int32{
		"UNKNOWN_STATE":               0,
		"GENERIC":                     1,
		"JOINED":                      2,
		"RINGING":                     3,
		"ACCEPTED":                    4,
		"DECLINED":                    5,
		"MISSED":                      6,
		"MISSED_NOTIFICATION_PROFILE": 7,
		"OUTGOING_RING":               8,
	}
)

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

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

func (GroupCall_State) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[30].Descriptor()
}

func (GroupCall_State) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[30]
}

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

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

type SimpleChatUpdate_Type int32

const (
	SimpleChatUpdate_UNKNOWN                          SimpleChatUpdate_Type = 0 // Importers should skip the update without throwing an error.
	SimpleChatUpdate_JOINED_SIGNAL                    SimpleChatUpdate_Type = 1
	SimpleChatUpdate_IDENTITY_UPDATE                  SimpleChatUpdate_Type = 2
	SimpleChatUpdate_IDENTITY_VERIFIED                SimpleChatUpdate_Type = 3
	SimpleChatUpdate_IDENTITY_DEFAULT                 SimpleChatUpdate_Type = 4 // marking as unverified
	SimpleChatUpdate_CHANGE_NUMBER                    SimpleChatUpdate_Type = 5
	SimpleChatUpdate_RELEASE_CHANNEL_DONATION_REQUEST SimpleChatUpdate_Type = 6
	SimpleChatUpdate_END_SESSION                      SimpleChatUpdate_Type = 7
	SimpleChatUpdate_CHAT_SESSION_REFRESH             SimpleChatUpdate_Type = 8
	SimpleChatUpdate_BAD_DECRYPT                      SimpleChatUpdate_Type = 9
	SimpleChatUpdate_PAYMENTS_ACTIVATED               SimpleChatUpdate_Type = 10
	SimpleChatUpdate_PAYMENT_ACTIVATION_REQUEST       SimpleChatUpdate_Type = 11
	SimpleChatUpdate_UNSUPPORTED_PROTOCOL_MESSAGE     SimpleChatUpdate_Type = 12
	SimpleChatUpdate_REPORTED_SPAM                    SimpleChatUpdate_Type = 13
	SimpleChatUpdate_BLOCKED                          SimpleChatUpdate_Type = 14
	SimpleChatUpdate_UNBLOCKED                        SimpleChatUpdate_Type = 15
	SimpleChatUpdate_MESSAGE_REQUEST_ACCEPTED         SimpleChatUpdate_Type = 16
)

// Enum value maps for SimpleChatUpdate_Type.
var (
	SimpleChatUpdate_Type_name = map[int32]string{
		0:  "UNKNOWN",
		1:  "JOINED_SIGNAL",
		2:  "IDENTITY_UPDATE",
		3:  "IDENTITY_VERIFIED",
		4:  "IDENTITY_DEFAULT",
		5:  "CHANGE_NUMBER",
		6:  "RELEASE_CHANNEL_DONATION_REQUEST",
		7:  "END_SESSION",
		8:  "CHAT_SESSION_REFRESH",
		9:  "BAD_DECRYPT",
		10: "PAYMENTS_ACTIVATED",
		11: "PAYMENT_ACTIVATION_REQUEST",
		12: "UNSUPPORTED_PROTOCOL_MESSAGE",
		13: "REPORTED_SPAM",
		14: "BLOCKED",
		15: "UNBLOCKED",
		16: "MESSAGE_REQUEST_ACCEPTED",
	}
	SimpleChatUpdate_Type_value = map[string]int32{
		"UNKNOWN":                          0,
		"JOINED_SIGNAL":                    1,
		"IDENTITY_UPDATE":                  2,
		"IDENTITY_VERIFIED":                3,
		"IDENTITY_DEFAULT":                 4,
		"CHANGE_NUMBER":                    5,
		"RELEASE_CHANNEL_DONATION_REQUEST": 6,
		"END_SESSION":                      7,
		"CHAT_SESSION_REFRESH":             8,
		"BAD_DECRYPT":                      9,
		"PAYMENTS_ACTIVATED":               10,
		"PAYMENT_ACTIVATION_REQUEST":       11,
		"UNSUPPORTED_PROTOCOL_MESSAGE":     12,
		"REPORTED_SPAM":                    13,
		"BLOCKED":                          14,
		"UNBLOCKED":                        15,
		"MESSAGE_REQUEST_ACCEPTED":         16,
	}
)

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

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

func (SimpleChatUpdate_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[31].Descriptor()
}

func (SimpleChatUpdate_Type) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[31]
}

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

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

type ChatStyle_WallpaperPreset int32

const (
	ChatStyle_UNKNOWN_WALLPAPER_PRESET ChatStyle_WallpaperPreset = 0 // Interpret as the wallpaper being unset
	ChatStyle_SOLID_BLUSH              ChatStyle_WallpaperPreset = 1
	ChatStyle_SOLID_COPPER             ChatStyle_WallpaperPreset = 2
	ChatStyle_SOLID_DUST               ChatStyle_WallpaperPreset = 3
	ChatStyle_SOLID_CELADON            ChatStyle_WallpaperPreset = 4
	ChatStyle_SOLID_RAINFOREST         ChatStyle_WallpaperPreset = 5
	ChatStyle_SOLID_PACIFIC            ChatStyle_WallpaperPreset = 6
	ChatStyle_SOLID_FROST              ChatStyle_WallpaperPreset = 7
	ChatStyle_SOLID_NAVY               ChatStyle_WallpaperPreset = 8
	ChatStyle_SOLID_LILAC              ChatStyle_WallpaperPreset = 9
	ChatStyle_SOLID_PINK               ChatStyle_WallpaperPreset = 10
	ChatStyle_SOLID_EGGPLANT           ChatStyle_WallpaperPreset = 11
	ChatStyle_SOLID_SILVER             ChatStyle_WallpaperPreset = 12
	ChatStyle_GRADIENT_SUNSET          ChatStyle_WallpaperPreset = 13
	ChatStyle_GRADIENT_NOIR            ChatStyle_WallpaperPreset = 14
	ChatStyle_GRADIENT_HEATMAP         ChatStyle_WallpaperPreset = 15
	ChatStyle_GRADIENT_AQUA            ChatStyle_WallpaperPreset = 16
	ChatStyle_GRADIENT_IRIDESCENT      ChatStyle_WallpaperPreset = 17
	ChatStyle_GRADIENT_MONSTERA        ChatStyle_WallpaperPreset = 18
	ChatStyle_GRADIENT_BLISS           ChatStyle_WallpaperPreset = 19
	ChatStyle_GRADIENT_SKY             ChatStyle_WallpaperPreset = 20
	ChatStyle_GRADIENT_PEACH           ChatStyle_WallpaperPreset = 21
)

// Enum value maps for ChatStyle_WallpaperPreset.
var (
	ChatStyle_WallpaperPreset_name = map[int32]string{
		0:  "UNKNOWN_WALLPAPER_PRESET",
		1:  "SOLID_BLUSH",
		2:  "SOLID_COPPER",
		3:  "SOLID_DUST",
		4:  "SOLID_CELADON",
		5:  "SOLID_RAINFOREST",
		6:  "SOLID_PACIFIC",
		7:  "SOLID_FROST",
		8:  "SOLID_NAVY",
		9:  "SOLID_LILAC",
		10: "SOLID_PINK",
		11: "SOLID_EGGPLANT",
		12: "SOLID_SILVER",
		13: "GRADIENT_SUNSET",
		14: "GRADIENT_NOIR",
		15: "GRADIENT_HEATMAP",
		16: "GRADIENT_AQUA",
		17: "GRADIENT_IRIDESCENT",
		18: "GRADIENT_MONSTERA",
		19: "GRADIENT_BLISS",
		20: "GRADIENT_SKY",
		21: "GRADIENT_PEACH",
	}
	ChatStyle_WallpaperPreset_value = map[string]int32{
		"UNKNOWN_WALLPAPER_PRESET": 0,
		"SOLID_BLUSH":              1,
		"SOLID_COPPER":             2,
		"SOLID_DUST":               3,
		"SOLID_CELADON":            4,
		"SOLID_RAINFOREST":         5,
		"SOLID_PACIFIC":            6,
		"SOLID_FROST":              7,
		"SOLID_NAVY":               8,
		"SOLID_LILAC":              9,
		"SOLID_PINK":               10,
		"SOLID_EGGPLANT":           11,
		"SOLID_SILVER":             12,
		"GRADIENT_SUNSET":          13,
		"GRADIENT_NOIR":            14,
		"GRADIENT_HEATMAP":         15,
		"GRADIENT_AQUA":            16,
		"GRADIENT_IRIDESCENT":      17,
		"GRADIENT_MONSTERA":        18,
		"GRADIENT_BLISS":           19,
		"GRADIENT_SKY":             20,
		"GRADIENT_PEACH":           21,
	}
)

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

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

func (ChatStyle_WallpaperPreset) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[32].Descriptor()
}

func (ChatStyle_WallpaperPreset) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[32]
}

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

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

type ChatStyle_BubbleColorPreset int32

const (
	ChatStyle_UNKNOWN_BUBBLE_COLOR_PRESET ChatStyle_BubbleColorPreset = 0 // Interpret as the user's default chat bubble color
	ChatStyle_SOLID_ULTRAMARINE           ChatStyle_BubbleColorPreset = 1
	ChatStyle_SOLID_CRIMSON               ChatStyle_BubbleColorPreset = 2
	ChatStyle_SOLID_VERMILION             ChatStyle_BubbleColorPreset = 3
	ChatStyle_SOLID_BURLAP                ChatStyle_BubbleColorPreset = 4
	ChatStyle_SOLID_FOREST                ChatStyle_BubbleColorPreset = 5
	ChatStyle_SOLID_WINTERGREEN           ChatStyle_BubbleColorPreset = 6
	ChatStyle_SOLID_TEAL                  ChatStyle_BubbleColorPreset = 7
	ChatStyle_SOLID_BLUE                  ChatStyle_BubbleColorPreset = 8
	ChatStyle_SOLID_INDIGO                ChatStyle_BubbleColorPreset = 9
	ChatStyle_SOLID_VIOLET                ChatStyle_BubbleColorPreset = 10
	ChatStyle_SOLID_PLUM                  ChatStyle_BubbleColorPreset = 11
	ChatStyle_SOLID_TAUPE                 ChatStyle_BubbleColorPreset = 12
	ChatStyle_SOLID_STEEL                 ChatStyle_BubbleColorPreset = 13
	ChatStyle_GRADIENT_EMBER              ChatStyle_BubbleColorPreset = 14
	ChatStyle_GRADIENT_MIDNIGHT           ChatStyle_BubbleColorPreset = 15
	ChatStyle_GRADIENT_INFRARED           ChatStyle_BubbleColorPreset = 16
	ChatStyle_GRADIENT_LAGOON             ChatStyle_BubbleColorPreset = 17
	ChatStyle_GRADIENT_FLUORESCENT        ChatStyle_BubbleColorPreset = 18
	ChatStyle_GRADIENT_BASIL              ChatStyle_BubbleColorPreset = 19
	ChatStyle_GRADIENT_SUBLIME            ChatStyle_BubbleColorPreset = 20
	ChatStyle_GRADIENT_SEA                ChatStyle_BubbleColorPreset = 21
	ChatStyle_GRADIENT_TANGERINE          ChatStyle_BubbleColorPreset = 22
)

// Enum value maps for ChatStyle_BubbleColorPreset.
var (
	ChatStyle_BubbleColorPreset_name = map[int32]string{
		0:  "UNKNOWN_BUBBLE_COLOR_PRESET",
		1:  "SOLID_ULTRAMARINE",
		2:  "SOLID_CRIMSON",
		3:  "SOLID_VERMILION",
		4:  "SOLID_BURLAP",
		5:  "SOLID_FOREST",
		6:  "SOLID_WINTERGREEN",
		7:  "SOLID_TEAL",
		8:  "SOLID_BLUE",
		9:  "SOLID_INDIGO",
		10: "SOLID_VIOLET",
		11: "SOLID_PLUM",
		12: "SOLID_TAUPE",
		13: "SOLID_STEEL",
		14: "GRADIENT_EMBER",
		15: "GRADIENT_MIDNIGHT",
		16: "GRADIENT_INFRARED",
		17: "GRADIENT_LAGOON",
		18: "GRADIENT_FLUORESCENT",
		19: "GRADIENT_BASIL",
		20: "GRADIENT_SUBLIME",
		21: "GRADIENT_SEA",
		22: "GRADIENT_TANGERINE",
	}
	ChatStyle_BubbleColorPreset_value = map[string]int32{
		"UNKNOWN_BUBBLE_COLOR_PRESET": 0,
		"SOLID_ULTRAMARINE":           1,
		"SOLID_CRIMSON":               2,
		"SOLID_VERMILION":             3,
		"SOLID_BURLAP":                4,
		"SOLID_FOREST":                5,
		"SOLID_WINTERGREEN":           6,
		"SOLID_TEAL":                  7,
		"SOLID_BLUE":                  8,
		"SOLID_INDIGO":                9,
		"SOLID_VIOLET":                10,
		"SOLID_PLUM":                  11,
		"SOLID_TAUPE":                 12,
		"SOLID_STEEL":                 13,
		"GRADIENT_EMBER":              14,
		"GRADIENT_MIDNIGHT":           15,
		"GRADIENT_INFRARED":           16,
		"GRADIENT_LAGOON":             17,
		"GRADIENT_FLUORESCENT":        18,
		"GRADIENT_BASIL":              19,
		"GRADIENT_SUBLIME":            20,
		"GRADIENT_SEA":                21,
		"GRADIENT_TANGERINE":          22,
	}
)

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

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

func (ChatStyle_BubbleColorPreset) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[33].Descriptor()
}

func (ChatStyle_BubbleColorPreset) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[33]
}

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

// Deprecated: Use ChatStyle_BubbleColorPreset.Descriptor instead.
func (ChatStyle_BubbleColorPreset) EnumDescriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{80, 1}
}

type NotificationProfile_DayOfWeek int32

const (
	NotificationProfile_UNKNOWN   NotificationProfile_DayOfWeek = 0 // Interpret as "Monday"
	NotificationProfile_MONDAY    NotificationProfile_DayOfWeek = 1
	NotificationProfile_TUESDAY   NotificationProfile_DayOfWeek = 2
	NotificationProfile_WEDNESDAY NotificationProfile_DayOfWeek = 3
	NotificationProfile_THURSDAY  NotificationProfile_DayOfWeek = 4
	NotificationProfile_FRIDAY    NotificationProfile_DayOfWeek = 5
	NotificationProfile_SATURDAY  NotificationProfile_DayOfWeek = 6
	NotificationProfile_SUNDAY    NotificationProfile_DayOfWeek = 7
)

// Enum value maps for NotificationProfile_DayOfWeek.
var (
	NotificationProfile_DayOfWeek_name = map[int32]string{
		0: "UNKNOWN",
		1: "MONDAY",
		2: "TUESDAY",
		3: "WEDNESDAY",
		4: "THURSDAY",
		5: "FRIDAY",
		6: "SATURDAY",
		7: "SUNDAY",
	}
	NotificationProfile_DayOfWeek_value = map[string]int32{
		"UNKNOWN":   0,
		"MONDAY":    1,
		"TUESDAY":   2,
		"WEDNESDAY": 3,
		"THURSDAY":  4,
		"FRIDAY":    5,
		"SATURDAY":  6,
		"SUNDAY":    7,
	}
)

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

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

func (NotificationProfile_DayOfWeek) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[34].Descriptor()
}

func (NotificationProfile_DayOfWeek) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[34]
}

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

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

// Represents the default "All chats" folder record vs all other custom folders
type ChatFolder_FolderType int32

const (
	ChatFolder_UNKNOWN ChatFolder_FolderType = 0 // Interpret as "Custom"
	ChatFolder_ALL     ChatFolder_FolderType = 1
	ChatFolder_CUSTOM  ChatFolder_FolderType = 2
)

// Enum value maps for ChatFolder_FolderType.
var (
	ChatFolder_FolderType_name = map[int32]string{
		0: "UNKNOWN",
		1: "ALL",
		2: "CUSTOM",
	}
	ChatFolder_FolderType_value = map[string]int32{
		"UNKNOWN": 0,
		"ALL":     1,
		"CUSTOM":  2,
	}
)

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

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

func (ChatFolder_FolderType) Descriptor() protoreflect.EnumDescriptor {
	return file_backuppb_Backup_proto_enumTypes[35].Descriptor()
}

func (ChatFolder_FolderType) Type() protoreflect.EnumType {
	return &file_backuppb_Backup_proto_enumTypes[35]
}

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

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

type BackupInfo struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Version            uint64                 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	BackupTimeMs       uint64                 `protobuf:"varint,2,opt,name=backupTimeMs,proto3" json:"backupTimeMs,omitempty"`
	MediaRootBackupKey []byte                 `protobuf:"bytes,3,opt,name=mediaRootBackupKey,proto3" json:"mediaRootBackupKey,omitempty"` // 32-byte random value generated when the backup is uploaded for the first time.
	CurrentAppVersion  string                 `protobuf:"bytes,4,opt,name=currentAppVersion,proto3" json:"currentAppVersion,omitempty"`
	FirstAppVersion    string                 `protobuf:"bytes,5,opt,name=firstAppVersion,proto3" json:"firstAppVersion,omitempty"`
	DebugInfo          []byte                 `protobuf:"bytes,6,opt,name=debugInfo,proto3" json:"debugInfo,omitempty"` // Client-specific data field for debug info during testing
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *BackupInfo) Reset() {
	*x = BackupInfo{}
	mi := &file_backuppb_Backup_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BackupInfo) ProtoMessage() {}

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

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

func (x *BackupInfo) GetVersion() uint64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *BackupInfo) GetBackupTimeMs() uint64 {
	if x != nil {
		return x.BackupTimeMs
	}
	return 0
}

func (x *BackupInfo) GetMediaRootBackupKey() []byte {
	if x != nil {
		return x.MediaRootBackupKey
	}
	return nil
}

func (x *BackupInfo) GetCurrentAppVersion() string {
	if x != nil {
		return x.CurrentAppVersion
	}
	return ""
}

func (x *BackupInfo) GetFirstAppVersion() string {
	if x != nil {
		return x.FirstAppVersion
	}
	return ""
}

func (x *BackupInfo) GetDebugInfo() []byte {
	if x != nil {
		return x.DebugInfo
	}
	return nil
}

// Frames must follow in the following ordering rules:
//
//  1. There is exactly one AccountData and it is the first frame.
//  2. A frame referenced by ID must come before the referencing frame.
//     e.g. a Recipient must come before any Chat referencing it.
//  3. All ChatItems must appear in global Chat rendering order.
//     (The order in which they were received by the client.)
//  4. ChatFolders must appear in render order (e.g., left to right for
//     LTR locales), but can appear anywhere relative to other frames respecting
//     rule 2 (after Recipients and Chats).
//
// Recipients, Chats, StickerPacks, AdHocCalls, and NotificationProfiles
// can be in any order. (But must respect rule 2.)
//
// For example, Chats may all be together at the beginning,
// or may each immediately precede its first ChatItem.
type Frame struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, importers should skip this frame without throwing an error.
	//
	// Types that are valid to be assigned to Item:
	//
	//	*Frame_Account
	//	*Frame_Recipient
	//	*Frame_Chat
	//	*Frame_ChatItem
	//	*Frame_StickerPack
	//	*Frame_AdHocCall
	//	*Frame_NotificationProfile
	//	*Frame_ChatFolder
	Item          isFrame_Item `protobuf_oneof:"item"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Frame) Reset() {
	*x = Frame{}
	mi := &file_backuppb_Backup_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Frame) ProtoMessage() {}

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

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

func (x *Frame) GetItem() isFrame_Item {
	if x != nil {
		return x.Item
	}
	return nil
}

func (x *Frame) GetAccount() *AccountData {
	if x != nil {
		if x, ok := x.Item.(*Frame_Account); ok {
			return x.Account
		}
	}
	return nil
}

func (x *Frame) GetRecipient() *Recipient {
	if x != nil {
		if x, ok := x.Item.(*Frame_Recipient); ok {
			return x.Recipient
		}
	}
	return nil
}

func (x *Frame) GetChat() *Chat {
	if x != nil {
		if x, ok := x.Item.(*Frame_Chat); ok {
			return x.Chat
		}
	}
	return nil
}

func (x *Frame) GetChatItem() *ChatItem {
	if x != nil {
		if x, ok := x.Item.(*Frame_ChatItem); ok {
			return x.ChatItem
		}
	}
	return nil
}

func (x *Frame) GetStickerPack() *StickerPack {
	if x != nil {
		if x, ok := x.Item.(*Frame_StickerPack); ok {
			return x.StickerPack
		}
	}
	return nil
}

func (x *Frame) GetAdHocCall() *AdHocCall {
	if x != nil {
		if x, ok := x.Item.(*Frame_AdHocCall); ok {
			return x.AdHocCall
		}
	}
	return nil
}

func (x *Frame) GetNotificationProfile() *NotificationProfile {
	if x != nil {
		if x, ok := x.Item.(*Frame_NotificationProfile); ok {
			return x.NotificationProfile
		}
	}
	return nil
}

func (x *Frame) GetChatFolder() *ChatFolder {
	if x != nil {
		if x, ok := x.Item.(*Frame_ChatFolder); ok {
			return x.ChatFolder
		}
	}
	return nil
}

type isFrame_Item interface {
	isFrame_Item()
}

type Frame_Account struct {
	Account *AccountData `protobuf:"bytes,1,opt,name=account,proto3,oneof"`
}

type Frame_Recipient struct {
	Recipient *Recipient `protobuf:"bytes,2,opt,name=recipient,proto3,oneof"`
}

type Frame_Chat struct {
	Chat *Chat `protobuf:"bytes,3,opt,name=chat,proto3,oneof"`
}

type Frame_ChatItem struct {
	ChatItem *ChatItem `protobuf:"bytes,4,opt,name=chatItem,proto3,oneof"`
}

type Frame_StickerPack struct {
	StickerPack *StickerPack `protobuf:"bytes,5,opt,name=stickerPack,proto3,oneof"`
}

type Frame_AdHocCall struct {
	AdHocCall *AdHocCall `protobuf:"bytes,6,opt,name=adHocCall,proto3,oneof"`
}

type Frame_NotificationProfile struct {
	NotificationProfile *NotificationProfile `protobuf:"bytes,7,opt,name=notificationProfile,proto3,oneof"`
}

type Frame_ChatFolder struct {
	ChatFolder *ChatFolder `protobuf:"bytes,8,opt,name=chatFolder,proto3,oneof"`
}

func (*Frame_Account) isFrame_Item() {}

func (*Frame_Recipient) isFrame_Item() {}

func (*Frame_Chat) isFrame_Item() {}

func (*Frame_ChatItem) isFrame_Item() {}

func (*Frame_StickerPack) isFrame_Item() {}

func (*Frame_AdHocCall) isFrame_Item() {}

func (*Frame_NotificationProfile) isFrame_Item() {}

func (*Frame_ChatFolder) isFrame_Item() {}

type AccountData struct {
	state                   protoimpl.MessageState               `protogen:"open.v1"`
	ProfileKey              []byte                               `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey,omitempty"`
	Username                *string                              `protobuf:"bytes,2,opt,name=username,proto3,oneof" json:"username,omitempty"`
	UsernameLink            *AccountData_UsernameLink            `protobuf:"bytes,3,opt,name=usernameLink,proto3" json:"usernameLink,omitempty"`
	GivenName               string                               `protobuf:"bytes,4,opt,name=givenName,proto3" json:"givenName,omitempty"`
	FamilyName              string                               `protobuf:"bytes,5,opt,name=familyName,proto3" json:"familyName,omitempty"`
	AvatarUrlPath           string                               `protobuf:"bytes,6,opt,name=avatarUrlPath,proto3" json:"avatarUrlPath,omitempty"`
	DonationSubscriberData  *AccountData_SubscriberData          `protobuf:"bytes,7,opt,name=donationSubscriberData,proto3" json:"donationSubscriberData,omitempty"`
	AccountSettings         *AccountData_AccountSettings         `protobuf:"bytes,9,opt,name=accountSettings,proto3" json:"accountSettings,omitempty"`
	BackupsSubscriberData   *AccountData_IAPSubscriberData       `protobuf:"bytes,10,opt,name=backupsSubscriberData,proto3" json:"backupsSubscriberData,omitempty"`
	SvrPin                  string                               `protobuf:"bytes,11,opt,name=svrPin,proto3" json:"svrPin,omitempty"`
	AndroidSpecificSettings *AccountData_AndroidSpecificSettings `protobuf:"bytes,12,opt,name=androidSpecificSettings,proto3" json:"androidSpecificSettings,omitempty"`
	BioText                 string                               `protobuf:"bytes,13,opt,name=bioText,proto3" json:"bioText,omitempty"`
	BioEmoji                string                               `protobuf:"bytes,14,opt,name=bioEmoji,proto3" json:"bioEmoji,omitempty"`
	KeyTransparencyData     []byte                               `protobuf:"bytes,15,opt,name=keyTransparencyData,proto3,oneof" json:"keyTransparencyData,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *AccountData) Reset() {
	*x = AccountData{}
	mi := &file_backuppb_Backup_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AccountData) ProtoMessage() {}

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

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

func (x *AccountData) GetProfileKey() []byte {
	if x != nil {
		return x.ProfileKey
	}
	return nil
}

func (x *AccountData) GetUsername() string {
	if x != nil && x.Username != nil {
		return *x.Username
	}
	return ""
}

func (x *AccountData) GetUsernameLink() *AccountData_UsernameLink {
	if x != nil {
		return x.UsernameLink
	}
	return nil
}

func (x *AccountData) GetGivenName() string {
	if x != nil {
		return x.GivenName
	}
	return ""
}

func (x *AccountData) GetFamilyName() string {
	if x != nil {
		return x.FamilyName
	}
	return ""
}

func (x *AccountData) GetAvatarUrlPath() string {
	if x != nil {
		return x.AvatarUrlPath
	}
	return ""
}

func (x *AccountData) GetDonationSubscriberData() *AccountData_SubscriberData {
	if x != nil {
		return x.DonationSubscriberData
	}
	return nil
}

func (x *AccountData) GetAccountSettings() *AccountData_AccountSettings {
	if x != nil {
		return x.AccountSettings
	}
	return nil
}

func (x *AccountData) GetBackupsSubscriberData() *AccountData_IAPSubscriberData {
	if x != nil {
		return x.BackupsSubscriberData
	}
	return nil
}

func (x *AccountData) GetSvrPin() string {
	if x != nil {
		return x.SvrPin
	}
	return ""
}

func (x *AccountData) GetAndroidSpecificSettings() *AccountData_AndroidSpecificSettings {
	if x != nil {
		return x.AndroidSpecificSettings
	}
	return nil
}

func (x *AccountData) GetBioText() string {
	if x != nil {
		return x.BioText
	}
	return ""
}

func (x *AccountData) GetBioEmoji() string {
	if x != nil {
		return x.BioEmoji
	}
	return ""
}

func (x *AccountData) GetKeyTransparencyData() []byte {
	if x != nil {
		return x.KeyTransparencyData
	}
	return nil
}

type Recipient struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // generated id for reference only within this file
	// If unset, importers should skip this frame without throwing an error.
	//
	// Types that are valid to be assigned to Destination:
	//
	//	*Recipient_Contact
	//	*Recipient_Group
	//	*Recipient_DistributionList
	//	*Recipient_Self
	//	*Recipient_ReleaseNotes
	//	*Recipient_CallLink
	Destination   isRecipient_Destination `protobuf_oneof:"destination"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Recipient) Reset() {
	*x = Recipient{}
	mi := &file_backuppb_Backup_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Recipient) ProtoMessage() {}

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

// Deprecated: Use Recipient.ProtoReflect.Descriptor instead.
func (*Recipient) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{3}
}

func (x *Recipient) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Recipient) GetDestination() isRecipient_Destination {
	if x != nil {
		return x.Destination
	}
	return nil
}

func (x *Recipient) GetContact() *Contact {
	if x != nil {
		if x, ok := x.Destination.(*Recipient_Contact); ok {
			return x.Contact
		}
	}
	return nil
}

func (x *Recipient) GetGroup() *Group {
	if x != nil {
		if x, ok := x.Destination.(*Recipient_Group); ok {
			return x.Group
		}
	}
	return nil
}

func (x *Recipient) GetDistributionList() *DistributionListItem {
	if x != nil {
		if x, ok := x.Destination.(*Recipient_DistributionList); ok {
			return x.DistributionList
		}
	}
	return nil
}

func (x *Recipient) GetSelf() *Self {
	if x != nil {
		if x, ok := x.Destination.(*Recipient_Self); ok {
			return x.Self
		}
	}
	return nil
}

func (x *Recipient) GetReleaseNotes() *ReleaseNotes {
	if x != nil {
		if x, ok := x.Destination.(*Recipient_ReleaseNotes); ok {
			return x.ReleaseNotes
		}
	}
	return nil
}

func (x *Recipient) GetCallLink() *CallLink {
	if x != nil {
		if x, ok := x.Destination.(*Recipient_CallLink); ok {
			return x.CallLink
		}
	}
	return nil
}

type isRecipient_Destination interface {
	isRecipient_Destination()
}

type Recipient_Contact struct {
	Contact *Contact `protobuf:"bytes,2,opt,name=contact,proto3,oneof"`
}

type Recipient_Group struct {
	Group *Group `protobuf:"bytes,3,opt,name=group,proto3,oneof"`
}

type Recipient_DistributionList struct {
	DistributionList *DistributionListItem `protobuf:"bytes,4,opt,name=distributionList,proto3,oneof"`
}

type Recipient_Self struct {
	Self *Self `protobuf:"bytes,5,opt,name=self,proto3,oneof"`
}

type Recipient_ReleaseNotes struct {
	ReleaseNotes *ReleaseNotes `protobuf:"bytes,6,opt,name=releaseNotes,proto3,oneof"`
}

type Recipient_CallLink struct {
	CallLink *CallLink `protobuf:"bytes,7,opt,name=callLink,proto3,oneof"`
}

func (*Recipient_Contact) isRecipient_Destination() {}

func (*Recipient_Group) isRecipient_Destination() {}

func (*Recipient_DistributionList) isRecipient_Destination() {}

func (*Recipient_Self) isRecipient_Destination() {}

func (*Recipient_ReleaseNotes) isRecipient_Destination() {}

func (*Recipient_CallLink) isRecipient_Destination() {}

type Contact struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	Aci        []byte                 `protobuf:"bytes,1,opt,name=aci,proto3,oneof" json:"aci,omitempty"` // should be 16 bytes
	Pni        []byte                 `protobuf:"bytes,2,opt,name=pni,proto3,oneof" json:"pni,omitempty"` // should be 16 bytes
	Username   *string                `protobuf:"bytes,3,opt,name=username,proto3,oneof" json:"username,omitempty"`
	E164       *uint64                `protobuf:"varint,4,opt,name=e164,proto3,oneof" json:"e164,omitempty"`
	Blocked    bool                   `protobuf:"varint,5,opt,name=blocked,proto3" json:"blocked,omitempty"`
	Visibility Contact_Visibility     `protobuf:"varint,6,opt,name=visibility,proto3,enum=signal.backup.Contact_Visibility" json:"visibility,omitempty"`
	// If unset, consider the user to be registered
	//
	// Types that are valid to be assigned to Registration:
	//
	//	*Contact_Registered_
	//	*Contact_NotRegistered_
	Registration        isContact_Registration `protobuf_oneof:"registration"`
	ProfileKey          []byte                 `protobuf:"bytes,9,opt,name=profileKey,proto3,oneof" json:"profileKey,omitempty"`
	ProfileSharing      bool                   `protobuf:"varint,10,opt,name=profileSharing,proto3" json:"profileSharing,omitempty"`
	ProfileGivenName    *string                `protobuf:"bytes,11,opt,name=profileGivenName,proto3,oneof" json:"profileGivenName,omitempty"`
	ProfileFamilyName   *string                `protobuf:"bytes,12,opt,name=profileFamilyName,proto3,oneof" json:"profileFamilyName,omitempty"`
	HideStory           bool                   `protobuf:"varint,13,opt,name=hideStory,proto3" json:"hideStory,omitempty"`
	IdentityKey         []byte                 `protobuf:"bytes,14,opt,name=identityKey,proto3,oneof" json:"identityKey,omitempty"`
	IdentityState       Contact_IdentityState  `protobuf:"varint,15,opt,name=identityState,proto3,enum=signal.backup.Contact_IdentityState" json:"identityState,omitempty"`
	Nickname            *Contact_Name          `protobuf:"bytes,16,opt,name=nickname,proto3" json:"nickname,omitempty"` // absent iff both `given` and `family` are empty
	Note                string                 `protobuf:"bytes,17,opt,name=note,proto3" json:"note,omitempty"`
	SystemGivenName     string                 `protobuf:"bytes,18,opt,name=systemGivenName,proto3" json:"systemGivenName,omitempty"`
	SystemFamilyName    string                 `protobuf:"bytes,19,opt,name=systemFamilyName,proto3" json:"systemFamilyName,omitempty"`
	SystemNickname      string                 `protobuf:"bytes,20,opt,name=systemNickname,proto3" json:"systemNickname,omitempty"`
	AvatarColor         *AvatarColor           `protobuf:"varint,21,opt,name=avatarColor,proto3,enum=signal.backup.AvatarColor,oneof" json:"avatarColor,omitempty"`
	KeyTransparencyData []byte                 `protobuf:"bytes,22,opt,name=keyTransparencyData,proto3,oneof" json:"keyTransparencyData,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *Contact) Reset() {
	*x = Contact{}
	mi := &file_backuppb_Backup_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Contact) ProtoMessage() {}

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

// Deprecated: Use Contact.ProtoReflect.Descriptor instead.
func (*Contact) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{4}
}

func (x *Contact) GetAci() []byte {
	if x != nil {
		return x.Aci
	}
	return nil
}

func (x *Contact) GetPni() []byte {
	if x != nil {
		return x.Pni
	}
	return nil
}

func (x *Contact) GetUsername() string {
	if x != nil && x.Username != nil {
		return *x.Username
	}
	return ""
}

func (x *Contact) GetE164() uint64 {
	if x != nil && x.E164 != nil {
		return *x.E164
	}
	return 0
}

func (x *Contact) GetBlocked() bool {
	if x != nil {
		return x.Blocked
	}
	return false
}

func (x *Contact) GetVisibility() Contact_Visibility {
	if x != nil {
		return x.Visibility
	}
	return Contact_VISIBLE
}

func (x *Contact) GetRegistration() isContact_Registration {
	if x != nil {
		return x.Registration
	}
	return nil
}

func (x *Contact) GetRegistered() *Contact_Registered {
	if x != nil {
		if x, ok := x.Registration.(*Contact_Registered_); ok {
			return x.Registered
		}
	}
	return nil
}

func (x *Contact) GetNotRegistered() *Contact_NotRegistered {
	if x != nil {
		if x, ok := x.Registration.(*Contact_NotRegistered_); ok {
			return x.NotRegistered
		}
	}
	return nil
}

func (x *Contact) GetProfileKey() []byte {
	if x != nil {
		return x.ProfileKey
	}
	return nil
}

func (x *Contact) GetProfileSharing() bool {
	if x != nil {
		return x.ProfileSharing
	}
	return false
}

func (x *Contact) GetProfileGivenName() string {
	if x != nil && x.ProfileGivenName != nil {
		return *x.ProfileGivenName
	}
	return ""
}

func (x *Contact) GetProfileFamilyName() string {
	if x != nil && x.ProfileFamilyName != nil {
		return *x.ProfileFamilyName
	}
	return ""
}

func (x *Contact) GetHideStory() bool {
	if x != nil {
		return x.HideStory
	}
	return false
}

func (x *Contact) GetIdentityKey() []byte {
	if x != nil {
		return x.IdentityKey
	}
	return nil
}

func (x *Contact) GetIdentityState() Contact_IdentityState {
	if x != nil {
		return x.IdentityState
	}
	return Contact_DEFAULT
}

func (x *Contact) GetNickname() *Contact_Name {
	if x != nil {
		return x.Nickname
	}
	return nil
}

func (x *Contact) GetNote() string {
	if x != nil {
		return x.Note
	}
	return ""
}

func (x *Contact) GetSystemGivenName() string {
	if x != nil {
		return x.SystemGivenName
	}
	return ""
}

func (x *Contact) GetSystemFamilyName() string {
	if x != nil {
		return x.SystemFamilyName
	}
	return ""
}

func (x *Contact) GetSystemNickname() string {
	if x != nil {
		return x.SystemNickname
	}
	return ""
}

func (x *Contact) GetAvatarColor() AvatarColor {
	if x != nil && x.AvatarColor != nil {
		return *x.AvatarColor
	}
	return AvatarColor_A100
}

func (x *Contact) GetKeyTransparencyData() []byte {
	if x != nil {
		return x.KeyTransparencyData
	}
	return nil
}

type isContact_Registration interface {
	isContact_Registration()
}

type Contact_Registered_ struct {
	Registered *Contact_Registered `protobuf:"bytes,7,opt,name=registered,proto3,oneof"`
}

type Contact_NotRegistered_ struct {
	NotRegistered *Contact_NotRegistered `protobuf:"bytes,8,opt,name=notRegistered,proto3,oneof"`
}

func (*Contact_Registered_) isContact_Registration() {}

func (*Contact_NotRegistered_) isContact_Registration() {}

type Group struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MasterKey     []byte                 `protobuf:"bytes,1,opt,name=masterKey,proto3" json:"masterKey,omitempty"`
	Whitelisted   bool                   `protobuf:"varint,2,opt,name=whitelisted,proto3" json:"whitelisted,omitempty"`
	HideStory     bool                   `protobuf:"varint,3,opt,name=hideStory,proto3" json:"hideStory,omitempty"`
	StorySendMode Group_StorySendMode    `protobuf:"varint,4,opt,name=storySendMode,proto3,enum=signal.backup.Group_StorySendMode" json:"storySendMode,omitempty"`
	Snapshot      *Group_GroupSnapshot   `protobuf:"bytes,5,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
	Blocked       bool                   `protobuf:"varint,6,opt,name=blocked,proto3" json:"blocked,omitempty"`
	AvatarColor   *AvatarColor           `protobuf:"varint,7,opt,name=avatarColor,proto3,enum=signal.backup.AvatarColor,oneof" json:"avatarColor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Group) Reset() {
	*x = Group{}
	mi := &file_backuppb_Backup_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group) ProtoMessage() {}

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

// Deprecated: Use Group.ProtoReflect.Descriptor instead.
func (*Group) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5}
}

func (x *Group) GetMasterKey() []byte {
	if x != nil {
		return x.MasterKey
	}
	return nil
}

func (x *Group) GetWhitelisted() bool {
	if x != nil {
		return x.Whitelisted
	}
	return false
}

func (x *Group) GetHideStory() bool {
	if x != nil {
		return x.HideStory
	}
	return false
}

func (x *Group) GetStorySendMode() Group_StorySendMode {
	if x != nil {
		return x.StorySendMode
	}
	return Group_DEFAULT
}

func (x *Group) GetSnapshot() *Group_GroupSnapshot {
	if x != nil {
		return x.Snapshot
	}
	return nil
}

func (x *Group) GetBlocked() bool {
	if x != nil {
		return x.Blocked
	}
	return false
}

func (x *Group) GetAvatarColor() AvatarColor {
	if x != nil && x.AvatarColor != nil {
		return *x.AvatarColor
	}
	return AvatarColor_A100
}

type Self struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AvatarColor   *AvatarColor           `protobuf:"varint,1,opt,name=avatarColor,proto3,enum=signal.backup.AvatarColor,oneof" json:"avatarColor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Self) Reset() {
	*x = Self{}
	mi := &file_backuppb_Backup_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Self) ProtoMessage() {}

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

// Deprecated: Use Self.ProtoReflect.Descriptor instead.
func (*Self) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{6}
}

func (x *Self) GetAvatarColor() AvatarColor {
	if x != nil && x.AvatarColor != nil {
		return *x.AvatarColor
	}
	return AvatarColor_A100
}

type ReleaseNotes struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReleaseNotes) Reset() {
	*x = ReleaseNotes{}
	mi := &file_backuppb_Backup_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReleaseNotes) ProtoMessage() {}

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

// Deprecated: Use ReleaseNotes.ProtoReflect.Descriptor instead.
func (*ReleaseNotes) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{7}
}

type Chat struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	Id                           uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // generated id for reference only within this file
	RecipientId                  uint64                 `protobuf:"varint,2,opt,name=recipientId,proto3" json:"recipientId,omitempty"`
	Archived                     bool                   `protobuf:"varint,3,opt,name=archived,proto3" json:"archived,omitempty"`
	PinnedOrder                  *uint32                `protobuf:"varint,4,opt,name=pinnedOrder,proto3,oneof" json:"pinnedOrder,omitempty"` // will be displayed in ascending order
	ExpirationTimerMs            *uint64                `protobuf:"varint,5,opt,name=expirationTimerMs,proto3,oneof" json:"expirationTimerMs,omitempty"`
	MuteUntilMs                  *uint64                `protobuf:"varint,6,opt,name=muteUntilMs,proto3,oneof" json:"muteUntilMs,omitempty"` // INT64_MAX (2^63 - 1) = "always muted".
	MarkedUnread                 bool                   `protobuf:"varint,7,opt,name=markedUnread,proto3" json:"markedUnread,omitempty"`
	DontNotifyForMentionsIfMuted bool                   `protobuf:"varint,8,opt,name=dontNotifyForMentionsIfMuted,proto3" json:"dontNotifyForMentionsIfMuted,omitempty"`
	Style                        *ChatStyle             `protobuf:"bytes,9,opt,name=style,proto3" json:"style,omitempty"`
	ExpireTimerVersion           uint32                 `protobuf:"varint,10,opt,name=expireTimerVersion,proto3" json:"expireTimerVersion,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *Chat) Reset() {
	*x = Chat{}
	mi := &file_backuppb_Backup_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Chat) ProtoMessage() {}

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

// Deprecated: Use Chat.ProtoReflect.Descriptor instead.
func (*Chat) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{8}
}

func (x *Chat) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Chat) GetRecipientId() uint64 {
	if x != nil {
		return x.RecipientId
	}
	return 0
}

func (x *Chat) GetArchived() bool {
	if x != nil {
		return x.Archived
	}
	return false
}

func (x *Chat) GetPinnedOrder() uint32 {
	if x != nil && x.PinnedOrder != nil {
		return *x.PinnedOrder
	}
	return 0
}

func (x *Chat) GetExpirationTimerMs() uint64 {
	if x != nil && x.ExpirationTimerMs != nil {
		return *x.ExpirationTimerMs
	}
	return 0
}

func (x *Chat) GetMuteUntilMs() uint64 {
	if x != nil && x.MuteUntilMs != nil {
		return *x.MuteUntilMs
	}
	return 0
}

func (x *Chat) GetMarkedUnread() bool {
	if x != nil {
		return x.MarkedUnread
	}
	return false
}

func (x *Chat) GetDontNotifyForMentionsIfMuted() bool {
	if x != nil {
		return x.DontNotifyForMentionsIfMuted
	}
	return false
}

func (x *Chat) GetStyle() *ChatStyle {
	if x != nil {
		return x.Style
	}
	return nil
}

func (x *Chat) GetExpireTimerVersion() uint32 {
	if x != nil {
		return x.ExpireTimerVersion
	}
	return 0
}

// *
// Call Links have some associated data including a call, but unlike other recipients
// are not tied to threads because they do not have messages associated with them.
//
// note:
// - room id can be derived from the root key
// - the presence of an admin key means this user is a call admin
type CallLink struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RootKey       []byte                 `protobuf:"bytes,1,opt,name=rootKey,proto3" json:"rootKey,omitempty"`
	AdminKey      []byte                 `protobuf:"bytes,2,opt,name=adminKey,proto3,oneof" json:"adminKey,omitempty"` // Only present if the user is an admin
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Restrictions  CallLink_Restrictions  `protobuf:"varint,4,opt,name=restrictions,proto3,enum=signal.backup.CallLink_Restrictions" json:"restrictions,omitempty"`
	ExpirationMs  uint64                 `protobuf:"varint,5,opt,name=expirationMs,proto3" json:"expirationMs,omitempty"`
	Epoch         []byte                 `protobuf:"bytes,6,opt,name=epoch,proto3,oneof" json:"epoch,omitempty"` // May be absent/empty for older links
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CallLink) Reset() {
	*x = CallLink{}
	mi := &file_backuppb_Backup_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CallLink) ProtoMessage() {}

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

// Deprecated: Use CallLink.ProtoReflect.Descriptor instead.
func (*CallLink) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{9}
}

func (x *CallLink) GetRootKey() []byte {
	if x != nil {
		return x.RootKey
	}
	return nil
}

func (x *CallLink) GetAdminKey() []byte {
	if x != nil {
		return x.AdminKey
	}
	return nil
}

func (x *CallLink) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CallLink) GetRestrictions() CallLink_Restrictions {
	if x != nil {
		return x.Restrictions
	}
	return CallLink_UNKNOWN
}

func (x *CallLink) GetExpirationMs() uint64 {
	if x != nil {
		return x.ExpirationMs
	}
	return 0
}

func (x *CallLink) GetEpoch() []byte {
	if x != nil {
		return x.Epoch
	}
	return nil
}

type AdHocCall struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	CallId uint64                 `protobuf:"varint,1,opt,name=callId,proto3" json:"callId,omitempty"`
	// Refers to a `CallLink` recipient.
	RecipientId   uint64          `protobuf:"varint,2,opt,name=recipientId,proto3" json:"recipientId,omitempty"`
	State         AdHocCall_State `protobuf:"varint,3,opt,name=state,proto3,enum=signal.backup.AdHocCall_State" json:"state,omitempty"`
	CallTimestamp uint64          `protobuf:"varint,4,opt,name=callTimestamp,proto3" json:"callTimestamp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdHocCall) Reset() {
	*x = AdHocCall{}
	mi := &file_backuppb_Backup_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdHocCall) ProtoMessage() {}

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

// Deprecated: Use AdHocCall.ProtoReflect.Descriptor instead.
func (*AdHocCall) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{10}
}

func (x *AdHocCall) GetCallId() uint64 {
	if x != nil {
		return x.CallId
	}
	return 0
}

func (x *AdHocCall) GetRecipientId() uint64 {
	if x != nil {
		return x.RecipientId
	}
	return 0
}

func (x *AdHocCall) GetState() AdHocCall_State {
	if x != nil {
		return x.State
	}
	return AdHocCall_UNKNOWN_STATE
}

func (x *AdHocCall) GetCallTimestamp() uint64 {
	if x != nil {
		return x.CallTimestamp
	}
	return 0
}

type DistributionListItem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// distribution ids are UUIDv4s. "My Story" is represented
	// by an all-0 UUID (00000000-0000-0000-0000-000000000000).
	DistributionId []byte `protobuf:"bytes,1,opt,name=distributionId,proto3" json:"distributionId,omitempty"` // distribution list ids are uuids
	// If unset, importers should skip the item entirely without showing an error.
	//
	// Types that are valid to be assigned to Item:
	//
	//	*DistributionListItem_DeletionTimestamp
	//	*DistributionListItem_DistributionList
	Item          isDistributionListItem_Item `protobuf_oneof:"item"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DistributionListItem) Reset() {
	*x = DistributionListItem{}
	mi := &file_backuppb_Backup_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DistributionListItem) ProtoMessage() {}

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

// Deprecated: Use DistributionListItem.ProtoReflect.Descriptor instead.
func (*DistributionListItem) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{11}
}

func (x *DistributionListItem) GetDistributionId() []byte {
	if x != nil {
		return x.DistributionId
	}
	return nil
}

func (x *DistributionListItem) GetItem() isDistributionListItem_Item {
	if x != nil {
		return x.Item
	}
	return nil
}

func (x *DistributionListItem) GetDeletionTimestamp() uint64 {
	if x != nil {
		if x, ok := x.Item.(*DistributionListItem_DeletionTimestamp); ok {
			return x.DeletionTimestamp
		}
	}
	return 0
}

func (x *DistributionListItem) GetDistributionList() *DistributionList {
	if x != nil {
		if x, ok := x.Item.(*DistributionListItem_DistributionList); ok {
			return x.DistributionList
		}
	}
	return nil
}

type isDistributionListItem_Item interface {
	isDistributionListItem_Item()
}

type DistributionListItem_DeletionTimestamp struct {
	DeletionTimestamp uint64 `protobuf:"varint,2,opt,name=deletionTimestamp,proto3,oneof"`
}

type DistributionListItem_DistributionList struct {
	DistributionList *DistributionList `protobuf:"bytes,3,opt,name=distributionList,proto3,oneof"`
}

func (*DistributionListItem_DeletionTimestamp) isDistributionListItem_Item() {}

func (*DistributionListItem_DistributionList) isDistributionListItem_Item() {}

type DistributionList struct {
	state              protoimpl.MessageState       `protogen:"open.v1"`
	Name               string                       `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	AllowReplies       bool                         `protobuf:"varint,2,opt,name=allowReplies,proto3" json:"allowReplies,omitempty"`
	PrivacyMode        DistributionList_PrivacyMode `protobuf:"varint,3,opt,name=privacyMode,proto3,enum=signal.backup.DistributionList_PrivacyMode" json:"privacyMode,omitempty"`
	MemberRecipientIds []uint64                     `protobuf:"varint,4,rep,packed,name=memberRecipientIds,proto3" json:"memberRecipientIds,omitempty"` // generated recipient id
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *DistributionList) Reset() {
	*x = DistributionList{}
	mi := &file_backuppb_Backup_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DistributionList) ProtoMessage() {}

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

// Deprecated: Use DistributionList.ProtoReflect.Descriptor instead.
func (*DistributionList) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{12}
}

func (x *DistributionList) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DistributionList) GetAllowReplies() bool {
	if x != nil {
		return x.AllowReplies
	}
	return false
}

func (x *DistributionList) GetPrivacyMode() DistributionList_PrivacyMode {
	if x != nil {
		return x.PrivacyMode
	}
	return DistributionList_UNKNOWN
}

func (x *DistributionList) GetMemberRecipientIds() []uint64 {
	if x != nil {
		return x.MemberRecipientIds
	}
	return nil
}

type ChatItem struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ChatId          uint64                 `protobuf:"varint,1,opt,name=chatId,proto3" json:"chatId,omitempty"`     // conversation id
	AuthorId        uint64                 `protobuf:"varint,2,opt,name=authorId,proto3" json:"authorId,omitempty"` // recipient id
	DateSent        uint64                 `protobuf:"varint,3,opt,name=dateSent,proto3" json:"dateSent,omitempty"`
	ExpireStartDate *uint64                `protobuf:"varint,4,opt,name=expireStartDate,proto3,oneof" json:"expireStartDate,omitempty"` // timestamp of when expiration timer started ticking down
	ExpiresInMs     *uint64                `protobuf:"varint,5,opt,name=expiresInMs,proto3,oneof" json:"expiresInMs,omitempty"`         // how long timer of message is (ms)
	Revisions       []*ChatItem            `protobuf:"bytes,6,rep,name=revisions,proto3" json:"revisions,omitempty"`                    // ordered from oldest to newest
	Sms             bool                   `protobuf:"varint,7,opt,name=sms,proto3" json:"sms,omitempty"`
	// If unset, importers should skip this item without throwing an error.
	//
	// Types that are valid to be assigned to DirectionalDetails:
	//
	//	*ChatItem_Incoming
	//	*ChatItem_Outgoing
	//	*ChatItem_Directionless
	DirectionalDetails isChatItem_DirectionalDetails `protobuf_oneof:"directionalDetails"`
	// If unset, importers should skip this item without throwing an error.
	//
	// Types that are valid to be assigned to Item:
	//
	//	*ChatItem_StandardMessage
	//	*ChatItem_ContactMessage
	//	*ChatItem_StickerMessage
	//	*ChatItem_RemoteDeletedMessage
	//	*ChatItem_UpdateMessage
	//	*ChatItem_PaymentNotification
	//	*ChatItem_GiftBadge
	//	*ChatItem_ViewOnceMessage
	//	*ChatItem_DirectStoryReplyMessage
	//	*ChatItem_Poll
	Item          isChatItem_Item      `protobuf_oneof:"item"`
	PinDetails    *ChatItem_PinDetails `protobuf:"bytes,21,opt,name=pinDetails,proto3" json:"pinDetails,omitempty"` // only set if message is pinned
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatItem) Reset() {
	*x = ChatItem{}
	mi := &file_backuppb_Backup_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatItem) ProtoMessage() {}

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

// Deprecated: Use ChatItem.ProtoReflect.Descriptor instead.
func (*ChatItem) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{13}
}

func (x *ChatItem) GetChatId() uint64 {
	if x != nil {
		return x.ChatId
	}
	return 0
}

func (x *ChatItem) GetAuthorId() uint64 {
	if x != nil {
		return x.AuthorId
	}
	return 0
}

func (x *ChatItem) GetDateSent() uint64 {
	if x != nil {
		return x.DateSent
	}
	return 0
}

func (x *ChatItem) GetExpireStartDate() uint64 {
	if x != nil && x.ExpireStartDate != nil {
		return *x.ExpireStartDate
	}
	return 0
}

func (x *ChatItem) GetExpiresInMs() uint64 {
	if x != nil && x.ExpiresInMs != nil {
		return *x.ExpiresInMs
	}
	return 0
}

func (x *ChatItem) GetRevisions() []*ChatItem {
	if x != nil {
		return x.Revisions
	}
	return nil
}

func (x *ChatItem) GetSms() bool {
	if x != nil {
		return x.Sms
	}
	return false
}

func (x *ChatItem) GetDirectionalDetails() isChatItem_DirectionalDetails {
	if x != nil {
		return x.DirectionalDetails
	}
	return nil
}

func (x *ChatItem) GetIncoming() *ChatItem_IncomingMessageDetails {
	if x != nil {
		if x, ok := x.DirectionalDetails.(*ChatItem_Incoming); ok {
			return x.Incoming
		}
	}
	return nil
}

func (x *ChatItem) GetOutgoing() *ChatItem_OutgoingMessageDetails {
	if x != nil {
		if x, ok := x.DirectionalDetails.(*ChatItem_Outgoing); ok {
			return x.Outgoing
		}
	}
	return nil
}

func (x *ChatItem) GetDirectionless() *ChatItem_DirectionlessMessageDetails {
	if x != nil {
		if x, ok := x.DirectionalDetails.(*ChatItem_Directionless); ok {
			return x.Directionless
		}
	}
	return nil
}

func (x *ChatItem) GetItem() isChatItem_Item {
	if x != nil {
		return x.Item
	}
	return nil
}

func (x *ChatItem) GetStandardMessage() *StandardMessage {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_StandardMessage); ok {
			return x.StandardMessage
		}
	}
	return nil
}

func (x *ChatItem) GetContactMessage() *ContactMessage {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_ContactMessage); ok {
			return x.ContactMessage
		}
	}
	return nil
}

func (x *ChatItem) GetStickerMessage() *StickerMessage {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_StickerMessage); ok {
			return x.StickerMessage
		}
	}
	return nil
}

func (x *ChatItem) GetRemoteDeletedMessage() *RemoteDeletedMessage {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_RemoteDeletedMessage); ok {
			return x.RemoteDeletedMessage
		}
	}
	return nil
}

func (x *ChatItem) GetUpdateMessage() *ChatUpdateMessage {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_UpdateMessage); ok {
			return x.UpdateMessage
		}
	}
	return nil
}

func (x *ChatItem) GetPaymentNotification() *PaymentNotification {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_PaymentNotification); ok {
			return x.PaymentNotification
		}
	}
	return nil
}

func (x *ChatItem) GetGiftBadge() *GiftBadge {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_GiftBadge); ok {
			return x.GiftBadge
		}
	}
	return nil
}

func (x *ChatItem) GetViewOnceMessage() *ViewOnceMessage {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_ViewOnceMessage); ok {
			return x.ViewOnceMessage
		}
	}
	return nil
}

func (x *ChatItem) GetDirectStoryReplyMessage() *DirectStoryReplyMessage {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_DirectStoryReplyMessage); ok {
			return x.DirectStoryReplyMessage
		}
	}
	return nil
}

func (x *ChatItem) GetPoll() *Poll {
	if x != nil {
		if x, ok := x.Item.(*ChatItem_Poll); ok {
			return x.Poll
		}
	}
	return nil
}

func (x *ChatItem) GetPinDetails() *ChatItem_PinDetails {
	if x != nil {
		return x.PinDetails
	}
	return nil
}

type isChatItem_DirectionalDetails interface {
	isChatItem_DirectionalDetails()
}

type ChatItem_Incoming struct {
	Incoming *ChatItem_IncomingMessageDetails `protobuf:"bytes,8,opt,name=incoming,proto3,oneof"`
}

type ChatItem_Outgoing struct {
	Outgoing *ChatItem_OutgoingMessageDetails `protobuf:"bytes,9,opt,name=outgoing,proto3,oneof"`
}

type ChatItem_Directionless struct {
	Directionless *ChatItem_DirectionlessMessageDetails `protobuf:"bytes,10,opt,name=directionless,proto3,oneof"`
}

func (*ChatItem_Incoming) isChatItem_DirectionalDetails() {}

func (*ChatItem_Outgoing) isChatItem_DirectionalDetails() {}

func (*ChatItem_Directionless) isChatItem_DirectionalDetails() {}

type isChatItem_Item interface {
	isChatItem_Item()
}

type ChatItem_StandardMessage struct {
	StandardMessage *StandardMessage `protobuf:"bytes,11,opt,name=standardMessage,proto3,oneof"`
}

type ChatItem_ContactMessage struct {
	ContactMessage *ContactMessage `protobuf:"bytes,12,opt,name=contactMessage,proto3,oneof"`
}

type ChatItem_StickerMessage struct {
	StickerMessage *StickerMessage `protobuf:"bytes,13,opt,name=stickerMessage,proto3,oneof"`
}

type ChatItem_RemoteDeletedMessage struct {
	RemoteDeletedMessage *RemoteDeletedMessage `protobuf:"bytes,14,opt,name=remoteDeletedMessage,proto3,oneof"`
}

type ChatItem_UpdateMessage struct {
	UpdateMessage *ChatUpdateMessage `protobuf:"bytes,15,opt,name=updateMessage,proto3,oneof"`
}

type ChatItem_PaymentNotification struct {
	PaymentNotification *PaymentNotification `protobuf:"bytes,16,opt,name=paymentNotification,proto3,oneof"`
}

type ChatItem_GiftBadge struct {
	GiftBadge *GiftBadge `protobuf:"bytes,17,opt,name=giftBadge,proto3,oneof"`
}

type ChatItem_ViewOnceMessage struct {
	ViewOnceMessage *ViewOnceMessage `protobuf:"bytes,18,opt,name=viewOnceMessage,proto3,oneof"`
}

type ChatItem_DirectStoryReplyMessage struct {
	DirectStoryReplyMessage *DirectStoryReplyMessage `protobuf:"bytes,19,opt,name=directStoryReplyMessage,proto3,oneof"` // group story reply messages are not backed up
}

type ChatItem_Poll struct {
	Poll *Poll `protobuf:"bytes,20,opt,name=poll,proto3,oneof"`
}

func (*ChatItem_StandardMessage) isChatItem_Item() {}

func (*ChatItem_ContactMessage) isChatItem_Item() {}

func (*ChatItem_StickerMessage) isChatItem_Item() {}

func (*ChatItem_RemoteDeletedMessage) isChatItem_Item() {}

func (*ChatItem_UpdateMessage) isChatItem_Item() {}

func (*ChatItem_PaymentNotification) isChatItem_Item() {}

func (*ChatItem_GiftBadge) isChatItem_Item() {}

func (*ChatItem_ViewOnceMessage) isChatItem_Item() {}

func (*ChatItem_DirectStoryReplyMessage) isChatItem_Item() {}

func (*ChatItem_Poll) isChatItem_Item() {}

type SendStatus struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	RecipientId uint64                 `protobuf:"varint,1,opt,name=recipientId,proto3" json:"recipientId,omitempty"`
	Timestamp   uint64                 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // the time the status was last updated -- if from a receipt, it should be the sentTime of the receipt
	// If unset, importers should consider the status to be "pending"
	//
	// Types that are valid to be assigned to DeliveryStatus:
	//
	//	*SendStatus_Pending_
	//	*SendStatus_Sent_
	//	*SendStatus_Delivered_
	//	*SendStatus_Read_
	//	*SendStatus_Viewed_
	//	*SendStatus_Skipped_
	//	*SendStatus_Failed_
	DeliveryStatus isSendStatus_DeliveryStatus `protobuf_oneof:"deliveryStatus"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *SendStatus) Reset() {
	*x = SendStatus{}
	mi := &file_backuppb_Backup_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus) ProtoMessage() {}

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

// Deprecated: Use SendStatus.ProtoReflect.Descriptor instead.
func (*SendStatus) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14}
}

func (x *SendStatus) GetRecipientId() uint64 {
	if x != nil {
		return x.RecipientId
	}
	return 0
}

func (x *SendStatus) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *SendStatus) GetDeliveryStatus() isSendStatus_DeliveryStatus {
	if x != nil {
		return x.DeliveryStatus
	}
	return nil
}

func (x *SendStatus) GetPending() *SendStatus_Pending {
	if x != nil {
		if x, ok := x.DeliveryStatus.(*SendStatus_Pending_); ok {
			return x.Pending
		}
	}
	return nil
}

func (x *SendStatus) GetSent() *SendStatus_Sent {
	if x != nil {
		if x, ok := x.DeliveryStatus.(*SendStatus_Sent_); ok {
			return x.Sent
		}
	}
	return nil
}

func (x *SendStatus) GetDelivered() *SendStatus_Delivered {
	if x != nil {
		if x, ok := x.DeliveryStatus.(*SendStatus_Delivered_); ok {
			return x.Delivered
		}
	}
	return nil
}

func (x *SendStatus) GetRead() *SendStatus_Read {
	if x != nil {
		if x, ok := x.DeliveryStatus.(*SendStatus_Read_); ok {
			return x.Read
		}
	}
	return nil
}

func (x *SendStatus) GetViewed() *SendStatus_Viewed {
	if x != nil {
		if x, ok := x.DeliveryStatus.(*SendStatus_Viewed_); ok {
			return x.Viewed
		}
	}
	return nil
}

func (x *SendStatus) GetSkipped() *SendStatus_Skipped {
	if x != nil {
		if x, ok := x.DeliveryStatus.(*SendStatus_Skipped_); ok {
			return x.Skipped
		}
	}
	return nil
}

func (x *SendStatus) GetFailed() *SendStatus_Failed {
	if x != nil {
		if x, ok := x.DeliveryStatus.(*SendStatus_Failed_); ok {
			return x.Failed
		}
	}
	return nil
}

type isSendStatus_DeliveryStatus interface {
	isSendStatus_DeliveryStatus()
}

type SendStatus_Pending_ struct {
	Pending *SendStatus_Pending `protobuf:"bytes,3,opt,name=pending,proto3,oneof"`
}

type SendStatus_Sent_ struct {
	Sent *SendStatus_Sent `protobuf:"bytes,4,opt,name=sent,proto3,oneof"`
}

type SendStatus_Delivered_ struct {
	Delivered *SendStatus_Delivered `protobuf:"bytes,5,opt,name=delivered,proto3,oneof"`
}

type SendStatus_Read_ struct {
	Read *SendStatus_Read `protobuf:"bytes,6,opt,name=read,proto3,oneof"`
}

type SendStatus_Viewed_ struct {
	Viewed *SendStatus_Viewed `protobuf:"bytes,7,opt,name=viewed,proto3,oneof"`
}

type SendStatus_Skipped_ struct {
	Skipped *SendStatus_Skipped `protobuf:"bytes,8,opt,name=skipped,proto3,oneof"`
}

type SendStatus_Failed_ struct {
	Failed *SendStatus_Failed `protobuf:"bytes,9,opt,name=failed,proto3,oneof"`
}

func (*SendStatus_Pending_) isSendStatus_DeliveryStatus() {}

func (*SendStatus_Sent_) isSendStatus_DeliveryStatus() {}

func (*SendStatus_Delivered_) isSendStatus_DeliveryStatus() {}

func (*SendStatus_Read_) isSendStatus_DeliveryStatus() {}

func (*SendStatus_Viewed_) isSendStatus_DeliveryStatus() {}

func (*SendStatus_Skipped_) isSendStatus_DeliveryStatus() {}

func (*SendStatus_Failed_) isSendStatus_DeliveryStatus() {}

type Text struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Body          string                 `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
	BodyRanges    []*BodyRange           `protobuf:"bytes,2,rep,name=bodyRanges,proto3" json:"bodyRanges,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Text) Reset() {
	*x = Text{}
	mi := &file_backuppb_Backup_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Text) ProtoMessage() {}

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

// Deprecated: Use Text.ProtoReflect.Descriptor instead.
func (*Text) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{15}
}

func (x *Text) GetBody() string {
	if x != nil {
		return x.Body
	}
	return ""
}

func (x *Text) GetBodyRanges() []*BodyRange {
	if x != nil {
		return x.BodyRanges
	}
	return nil
}

type StandardMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Quote         *Quote                 `protobuf:"bytes,1,opt,name=quote,proto3,oneof" json:"quote,omitempty"`
	Text          *Text                  `protobuf:"bytes,2,opt,name=text,proto3,oneof" json:"text,omitempty"`
	Attachments   []*MessageAttachment   `protobuf:"bytes,3,rep,name=attachments,proto3" json:"attachments,omitempty"`
	LinkPreview   []*LinkPreview         `protobuf:"bytes,4,rep,name=linkPreview,proto3" json:"linkPreview,omitempty"`
	LongText      *FilePointer           `protobuf:"bytes,5,opt,name=longText,proto3,oneof" json:"longText,omitempty"`
	Reactions     []*Reaction            `protobuf:"bytes,6,rep,name=reactions,proto3" json:"reactions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StandardMessage) Reset() {
	*x = StandardMessage{}
	mi := &file_backuppb_Backup_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StandardMessage) ProtoMessage() {}

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

// Deprecated: Use StandardMessage.ProtoReflect.Descriptor instead.
func (*StandardMessage) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{16}
}

func (x *StandardMessage) GetQuote() *Quote {
	if x != nil {
		return x.Quote
	}
	return nil
}

func (x *StandardMessage) GetText() *Text {
	if x != nil {
		return x.Text
	}
	return nil
}

func (x *StandardMessage) GetAttachments() []*MessageAttachment {
	if x != nil {
		return x.Attachments
	}
	return nil
}

func (x *StandardMessage) GetLinkPreview() []*LinkPreview {
	if x != nil {
		return x.LinkPreview
	}
	return nil
}

func (x *StandardMessage) GetLongText() *FilePointer {
	if x != nil {
		return x.LongText
	}
	return nil
}

func (x *StandardMessage) GetReactions() []*Reaction {
	if x != nil {
		return x.Reactions
	}
	return nil
}

type ContactMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Contact       *ContactAttachment     `protobuf:"bytes,1,opt,name=contact,proto3" json:"contact,omitempty"`
	Reactions     []*Reaction            `protobuf:"bytes,2,rep,name=reactions,proto3" json:"reactions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContactMessage) Reset() {
	*x = ContactMessage{}
	mi := &file_backuppb_Backup_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ContactMessage) ProtoMessage() {}

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

// Deprecated: Use ContactMessage.ProtoReflect.Descriptor instead.
func (*ContactMessage) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{17}
}

func (x *ContactMessage) GetContact() *ContactAttachment {
	if x != nil {
		return x.Contact
	}
	return nil
}

func (x *ContactMessage) GetReactions() []*Reaction {
	if x != nil {
		return x.Reactions
	}
	return nil
}

type DirectStoryReplyMessage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, importers should ignore the message without throwing an error.
	//
	// Types that are valid to be assigned to Reply:
	//
	//	*DirectStoryReplyMessage_TextReply_
	//	*DirectStoryReplyMessage_Emoji
	Reply         isDirectStoryReplyMessage_Reply `protobuf_oneof:"reply"`
	Reactions     []*Reaction                     `protobuf:"bytes,3,rep,name=reactions,proto3" json:"reactions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DirectStoryReplyMessage) Reset() {
	*x = DirectStoryReplyMessage{}
	mi := &file_backuppb_Backup_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DirectStoryReplyMessage) ProtoMessage() {}

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

// Deprecated: Use DirectStoryReplyMessage.ProtoReflect.Descriptor instead.
func (*DirectStoryReplyMessage) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{18}
}

func (x *DirectStoryReplyMessage) GetReply() isDirectStoryReplyMessage_Reply {
	if x != nil {
		return x.Reply
	}
	return nil
}

func (x *DirectStoryReplyMessage) GetTextReply() *DirectStoryReplyMessage_TextReply {
	if x != nil {
		if x, ok := x.Reply.(*DirectStoryReplyMessage_TextReply_); ok {
			return x.TextReply
		}
	}
	return nil
}

func (x *DirectStoryReplyMessage) GetEmoji() string {
	if x != nil {
		if x, ok := x.Reply.(*DirectStoryReplyMessage_Emoji); ok {
			return x.Emoji
		}
	}
	return ""
}

func (x *DirectStoryReplyMessage) GetReactions() []*Reaction {
	if x != nil {
		return x.Reactions
	}
	return nil
}

type isDirectStoryReplyMessage_Reply interface {
	isDirectStoryReplyMessage_Reply()
}

type DirectStoryReplyMessage_TextReply_ struct {
	TextReply *DirectStoryReplyMessage_TextReply `protobuf:"bytes,1,opt,name=textReply,proto3,oneof"`
}

type DirectStoryReplyMessage_Emoji struct {
	Emoji string `protobuf:"bytes,2,opt,name=emoji,proto3,oneof"`
}

func (*DirectStoryReplyMessage_TextReply_) isDirectStoryReplyMessage_Reply() {}

func (*DirectStoryReplyMessage_Emoji) isDirectStoryReplyMessage_Reply() {}

type PaymentNotification struct {
	state              protoimpl.MessageState                  `protogen:"open.v1"`
	AmountMob          *string                                 `protobuf:"bytes,1,opt,name=amountMob,proto3,oneof" json:"amountMob,omitempty"` // stored as a decimal string, e.g. 1.00001
	FeeMob             *string                                 `protobuf:"bytes,2,opt,name=feeMob,proto3,oneof" json:"feeMob,omitempty"`       // stored as a decimal string, e.g. 1.00001
	Note               *string                                 `protobuf:"bytes,3,opt,name=note,proto3,oneof" json:"note,omitempty"`
	TransactionDetails *PaymentNotification_TransactionDetails `protobuf:"bytes,4,opt,name=transactionDetails,proto3" json:"transactionDetails,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *PaymentNotification) Reset() {
	*x = PaymentNotification{}
	mi := &file_backuppb_Backup_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PaymentNotification) ProtoMessage() {}

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

// Deprecated: Use PaymentNotification.ProtoReflect.Descriptor instead.
func (*PaymentNotification) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{19}
}

func (x *PaymentNotification) GetAmountMob() string {
	if x != nil && x.AmountMob != nil {
		return *x.AmountMob
	}
	return ""
}

func (x *PaymentNotification) GetFeeMob() string {
	if x != nil && x.FeeMob != nil {
		return *x.FeeMob
	}
	return ""
}

func (x *PaymentNotification) GetNote() string {
	if x != nil && x.Note != nil {
		return *x.Note
	}
	return ""
}

func (x *PaymentNotification) GetTransactionDetails() *PaymentNotification_TransactionDetails {
	if x != nil {
		return x.TransactionDetails
	}
	return nil
}

type GiftBadge struct {
	state                         protoimpl.MessageState `protogen:"open.v1"`
	ReceiptCredentialPresentation []byte                 `protobuf:"bytes,1,opt,name=receiptCredentialPresentation,proto3" json:"receiptCredentialPresentation,omitempty"`
	State                         GiftBadge_State        `protobuf:"varint,2,opt,name=state,proto3,enum=signal.backup.GiftBadge_State" json:"state,omitempty"`
	unknownFields                 protoimpl.UnknownFields
	sizeCache                     protoimpl.SizeCache
}

func (x *GiftBadge) Reset() {
	*x = GiftBadge{}
	mi := &file_backuppb_Backup_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GiftBadge) ProtoMessage() {}

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

// Deprecated: Use GiftBadge.ProtoReflect.Descriptor instead.
func (*GiftBadge) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{20}
}

func (x *GiftBadge) GetReceiptCredentialPresentation() []byte {
	if x != nil {
		return x.ReceiptCredentialPresentation
	}
	return nil
}

func (x *GiftBadge) GetState() GiftBadge_State {
	if x != nil {
		return x.State
	}
	return GiftBadge_UNOPENED
}

type ViewOnceMessage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Will be null for viewed messages
	Attachment    *MessageAttachment `protobuf:"bytes,1,opt,name=attachment,proto3" json:"attachment,omitempty"`
	Reactions     []*Reaction        `protobuf:"bytes,2,rep,name=reactions,proto3" json:"reactions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ViewOnceMessage) Reset() {
	*x = ViewOnceMessage{}
	mi := &file_backuppb_Backup_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ViewOnceMessage) ProtoMessage() {}

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

// Deprecated: Use ViewOnceMessage.ProtoReflect.Descriptor instead.
func (*ViewOnceMessage) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{21}
}

func (x *ViewOnceMessage) GetAttachment() *MessageAttachment {
	if x != nil {
		return x.Attachment
	}
	return nil
}

func (x *ViewOnceMessage) GetReactions() []*Reaction {
	if x != nil {
		return x.Reactions
	}
	return nil
}

type ContactAttachment struct {
	state         protoimpl.MessageState             `protogen:"open.v1"`
	Name          *ContactAttachment_Name            `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"`
	Number        []*ContactAttachment_Phone         `protobuf:"bytes,3,rep,name=number,proto3" json:"number,omitempty"`
	Email         []*ContactAttachment_Email         `protobuf:"bytes,4,rep,name=email,proto3" json:"email,omitempty"`
	Address       []*ContactAttachment_PostalAddress `protobuf:"bytes,5,rep,name=address,proto3" json:"address,omitempty"`
	Avatar        *FilePointer                       `protobuf:"bytes,6,opt,name=avatar,proto3,oneof" json:"avatar,omitempty"`
	Organization  string                             `protobuf:"bytes,7,opt,name=organization,proto3" json:"organization,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContactAttachment) Reset() {
	*x = ContactAttachment{}
	mi := &file_backuppb_Backup_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ContactAttachment) ProtoMessage() {}

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

// Deprecated: Use ContactAttachment.ProtoReflect.Descriptor instead.
func (*ContactAttachment) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{22}
}

func (x *ContactAttachment) GetName() *ContactAttachment_Name {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *ContactAttachment) GetNumber() []*ContactAttachment_Phone {
	if x != nil {
		return x.Number
	}
	return nil
}

func (x *ContactAttachment) GetEmail() []*ContactAttachment_Email {
	if x != nil {
		return x.Email
	}
	return nil
}

func (x *ContactAttachment) GetAddress() []*ContactAttachment_PostalAddress {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *ContactAttachment) GetAvatar() *FilePointer {
	if x != nil {
		return x.Avatar
	}
	return nil
}

func (x *ContactAttachment) GetOrganization() string {
	if x != nil {
		return x.Organization
	}
	return ""
}

type StickerMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Sticker       *Sticker               `protobuf:"bytes,1,opt,name=sticker,proto3" json:"sticker,omitempty"`
	Reactions     []*Reaction            `protobuf:"bytes,2,rep,name=reactions,proto3" json:"reactions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StickerMessage) Reset() {
	*x = StickerMessage{}
	mi := &file_backuppb_Backup_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StickerMessage) ProtoMessage() {}

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

// Deprecated: Use StickerMessage.ProtoReflect.Descriptor instead.
func (*StickerMessage) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{23}
}

func (x *StickerMessage) GetSticker() *Sticker {
	if x != nil {
		return x.Sticker
	}
	return nil
}

func (x *StickerMessage) GetReactions() []*Reaction {
	if x != nil {
		return x.Reactions
	}
	return nil
}

// Tombstone for remote delete
type RemoteDeletedMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoteDeletedMessage) Reset() {
	*x = RemoteDeletedMessage{}
	mi := &file_backuppb_Backup_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemoteDeletedMessage) ProtoMessage() {}

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

// Deprecated: Use RemoteDeletedMessage.ProtoReflect.Descriptor instead.
func (*RemoteDeletedMessage) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{24}
}

type Sticker struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	PackId    []byte                 `protobuf:"bytes,1,opt,name=packId,proto3" json:"packId,omitempty"`
	PackKey   []byte                 `protobuf:"bytes,2,opt,name=packKey,proto3" json:"packKey,omitempty"`
	StickerId uint32                 `protobuf:"varint,3,opt,name=stickerId,proto3" json:"stickerId,omitempty"`
	Emoji     *string                `protobuf:"bytes,4,opt,name=emoji,proto3,oneof" json:"emoji,omitempty"`
	// Stickers are uploaded to be sent as attachments; we also
	// back them up as normal attachments when they are in messages.
	// DO NOT treat this as the definitive source of a sticker in
	// an installed StickerPack that shares the same packId.
	Data          *FilePointer `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Sticker) Reset() {
	*x = Sticker{}
	mi := &file_backuppb_Backup_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Sticker) ProtoMessage() {}

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

// Deprecated: Use Sticker.ProtoReflect.Descriptor instead.
func (*Sticker) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{25}
}

func (x *Sticker) GetPackId() []byte {
	if x != nil {
		return x.PackId
	}
	return nil
}

func (x *Sticker) GetPackKey() []byte {
	if x != nil {
		return x.PackKey
	}
	return nil
}

func (x *Sticker) GetStickerId() uint32 {
	if x != nil {
		return x.StickerId
	}
	return 0
}

func (x *Sticker) GetEmoji() string {
	if x != nil && x.Emoji != nil {
		return *x.Emoji
	}
	return ""
}

func (x *Sticker) GetData() *FilePointer {
	if x != nil {
		return x.Data
	}
	return nil
}

type LinkPreview struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	Title         *string                `protobuf:"bytes,2,opt,name=title,proto3,oneof" json:"title,omitempty"`
	Image         *FilePointer           `protobuf:"bytes,3,opt,name=image,proto3,oneof" json:"image,omitempty"`
	Description   *string                `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"`
	Date          *uint64                `protobuf:"varint,5,opt,name=date,proto3,oneof" json:"date,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkPreview) Reset() {
	*x = LinkPreview{}
	mi := &file_backuppb_Backup_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LinkPreview) ProtoMessage() {}

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

// Deprecated: Use LinkPreview.ProtoReflect.Descriptor instead.
func (*LinkPreview) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{26}
}

func (x *LinkPreview) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *LinkPreview) GetTitle() string {
	if x != nil && x.Title != nil {
		return *x.Title
	}
	return ""
}

func (x *LinkPreview) GetImage() *FilePointer {
	if x != nil {
		return x.Image
	}
	return nil
}

func (x *LinkPreview) GetDescription() string {
	if x != nil && x.Description != nil {
		return *x.Description
	}
	return ""
}

func (x *LinkPreview) GetDate() uint64 {
	if x != nil && x.Date != nil {
		return *x.Date
	}
	return 0
}

// A FilePointer on a message that has additional
// metadata that applies only to message attachments.
type MessageAttachment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Pointer       *FilePointer           `protobuf:"bytes,1,opt,name=pointer,proto3" json:"pointer,omitempty"`
	Flag          MessageAttachment_Flag `protobuf:"varint,2,opt,name=flag,proto3,enum=signal.backup.MessageAttachment_Flag" json:"flag,omitempty"`
	WasDownloaded bool                   `protobuf:"varint,3,opt,name=wasDownloaded,proto3" json:"wasDownloaded,omitempty"`
	// Cross-client identifier for this attachment among all attachments on the
	// owning message. See: SignalService.AttachmentPointer.clientUuid.
	ClientUuid    []byte `protobuf:"bytes,4,opt,name=clientUuid,proto3,oneof" json:"clientUuid,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageAttachment) Reset() {
	*x = MessageAttachment{}
	mi := &file_backuppb_Backup_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MessageAttachment) ProtoMessage() {}

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

// Deprecated: Use MessageAttachment.ProtoReflect.Descriptor instead.
func (*MessageAttachment) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{27}
}

func (x *MessageAttachment) GetPointer() *FilePointer {
	if x != nil {
		return x.Pointer
	}
	return nil
}

func (x *MessageAttachment) GetFlag() MessageAttachment_Flag {
	if x != nil {
		return x.Flag
	}
	return MessageAttachment_NONE
}

func (x *MessageAttachment) GetWasDownloaded() bool {
	if x != nil {
		return x.WasDownloaded
	}
	return false
}

func (x *MessageAttachment) GetClientUuid() []byte {
	if x != nil {
		return x.ClientUuid
	}
	return nil
}

type FilePointer struct {
	state                   protoimpl.MessageState   `protogen:"open.v1"`
	ContentType             *string                  `protobuf:"bytes,4,opt,name=contentType,proto3,oneof" json:"contentType,omitempty"`
	IncrementalMac          []byte                   `protobuf:"bytes,5,opt,name=incrementalMac,proto3,oneof" json:"incrementalMac,omitempty"`
	IncrementalMacChunkSize *uint32                  `protobuf:"varint,6,opt,name=incrementalMacChunkSize,proto3,oneof" json:"incrementalMacChunkSize,omitempty"`
	FileName                *string                  `protobuf:"bytes,7,opt,name=fileName,proto3,oneof" json:"fileName,omitempty"`
	Width                   *uint32                  `protobuf:"varint,8,opt,name=width,proto3,oneof" json:"width,omitempty"`
	Height                  *uint32                  `protobuf:"varint,9,opt,name=height,proto3,oneof" json:"height,omitempty"`
	Caption                 *string                  `protobuf:"bytes,10,opt,name=caption,proto3,oneof" json:"caption,omitempty"`
	BlurHash                *string                  `protobuf:"bytes,11,opt,name=blurHash,proto3,oneof" json:"blurHash,omitempty"`
	LocatorInfo             *FilePointer_LocatorInfo `protobuf:"bytes,13,opt,name=locatorInfo,proto3" json:"locatorInfo,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *FilePointer) Reset() {
	*x = FilePointer{}
	mi := &file_backuppb_Backup_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FilePointer) ProtoMessage() {}

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

// Deprecated: Use FilePointer.ProtoReflect.Descriptor instead.
func (*FilePointer) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{28}
}

func (x *FilePointer) GetContentType() string {
	if x != nil && x.ContentType != nil {
		return *x.ContentType
	}
	return ""
}

func (x *FilePointer) GetIncrementalMac() []byte {
	if x != nil {
		return x.IncrementalMac
	}
	return nil
}

func (x *FilePointer) GetIncrementalMacChunkSize() uint32 {
	if x != nil && x.IncrementalMacChunkSize != nil {
		return *x.IncrementalMacChunkSize
	}
	return 0
}

func (x *FilePointer) GetFileName() string {
	if x != nil && x.FileName != nil {
		return *x.FileName
	}
	return ""
}

func (x *FilePointer) GetWidth() uint32 {
	if x != nil && x.Width != nil {
		return *x.Width
	}
	return 0
}

func (x *FilePointer) GetHeight() uint32 {
	if x != nil && x.Height != nil {
		return *x.Height
	}
	return 0
}

func (x *FilePointer) GetCaption() string {
	if x != nil && x.Caption != nil {
		return *x.Caption
	}
	return ""
}

func (x *FilePointer) GetBlurHash() string {
	if x != nil && x.BlurHash != nil {
		return *x.BlurHash
	}
	return ""
}

func (x *FilePointer) GetLocatorInfo() *FilePointer_LocatorInfo {
	if x != nil {
		return x.LocatorInfo
	}
	return nil
}

type Quote struct {
	state               protoimpl.MessageState    `protogen:"open.v1"`
	TargetSentTimestamp *uint64                   `protobuf:"varint,1,opt,name=targetSentTimestamp,proto3,oneof" json:"targetSentTimestamp,omitempty"` // null if the target message could not be found at time of quote insert
	AuthorId            uint64                    `protobuf:"varint,2,opt,name=authorId,proto3" json:"authorId,omitempty"`
	Text                *Text                     `protobuf:"bytes,3,opt,name=text,proto3,oneof" json:"text,omitempty"`
	Attachments         []*Quote_QuotedAttachment `protobuf:"bytes,4,rep,name=attachments,proto3" json:"attachments,omitempty"`
	Type                Quote_Type                `protobuf:"varint,5,opt,name=type,proto3,enum=signal.backup.Quote_Type" json:"type,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *Quote) Reset() {
	*x = Quote{}
	mi := &file_backuppb_Backup_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Quote) ProtoMessage() {}

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

// Deprecated: Use Quote.ProtoReflect.Descriptor instead.
func (*Quote) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{29}
}

func (x *Quote) GetTargetSentTimestamp() uint64 {
	if x != nil && x.TargetSentTimestamp != nil {
		return *x.TargetSentTimestamp
	}
	return 0
}

func (x *Quote) GetAuthorId() uint64 {
	if x != nil {
		return x.AuthorId
	}
	return 0
}

func (x *Quote) GetText() *Text {
	if x != nil {
		return x.Text
	}
	return nil
}

func (x *Quote) GetAttachments() []*Quote_QuotedAttachment {
	if x != nil {
		return x.Attachments
	}
	return nil
}

func (x *Quote) GetType() Quote_Type {
	if x != nil {
		return x.Type
	}
	return Quote_UNKNOWN
}

type BodyRange struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// 'start' and 'length' are measured in UTF-16 code units.
	// They may refer to offsets in a longText attachment.
	Start  uint32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
	Length uint32 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"`
	// If unset, importers should ignore the body range without throwing an error.
	//
	// Types that are valid to be assigned to AssociatedValue:
	//
	//	*BodyRange_MentionAci
	//	*BodyRange_Style_
	AssociatedValue isBodyRange_AssociatedValue `protobuf_oneof:"associatedValue"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *BodyRange) Reset() {
	*x = BodyRange{}
	mi := &file_backuppb_Backup_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BodyRange) ProtoMessage() {}

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

// Deprecated: Use BodyRange.ProtoReflect.Descriptor instead.
func (*BodyRange) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{30}
}

func (x *BodyRange) GetStart() uint32 {
	if x != nil {
		return x.Start
	}
	return 0
}

func (x *BodyRange) GetLength() uint32 {
	if x != nil {
		return x.Length
	}
	return 0
}

func (x *BodyRange) GetAssociatedValue() isBodyRange_AssociatedValue {
	if x != nil {
		return x.AssociatedValue
	}
	return nil
}

func (x *BodyRange) GetMentionAci() []byte {
	if x != nil {
		if x, ok := x.AssociatedValue.(*BodyRange_MentionAci); ok {
			return x.MentionAci
		}
	}
	return nil
}

func (x *BodyRange) GetStyle() BodyRange_Style {
	if x != nil {
		if x, ok := x.AssociatedValue.(*BodyRange_Style_); ok {
			return x.Style
		}
	}
	return BodyRange_NONE
}

type isBodyRange_AssociatedValue interface {
	isBodyRange_AssociatedValue()
}

type BodyRange_MentionAci struct {
	MentionAci []byte `protobuf:"bytes,3,opt,name=mentionAci,proto3,oneof"`
}

type BodyRange_Style_ struct {
	Style BodyRange_Style `protobuf:"varint,4,opt,name=style,proto3,enum=signal.backup.BodyRange_Style,oneof"`
}

func (*BodyRange_MentionAci) isBodyRange_AssociatedValue() {}

func (*BodyRange_Style_) isBodyRange_AssociatedValue() {}

type Reaction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Emoji         string                 `protobuf:"bytes,1,opt,name=emoji,proto3" json:"emoji,omitempty"`
	AuthorId      uint64                 `protobuf:"varint,2,opt,name=authorId,proto3" json:"authorId,omitempty"`
	SentTimestamp uint64                 `protobuf:"varint,3,opt,name=sentTimestamp,proto3" json:"sentTimestamp,omitempty"`
	// A higher sort order means that a reaction is more recent. Some clients may export this as
	// incrementing numbers (e.g. 1, 2, 3), others as timestamps.
	SortOrder     uint64 `protobuf:"varint,4,opt,name=sortOrder,proto3" json:"sortOrder,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Reaction) Reset() {
	*x = Reaction{}
	mi := &file_backuppb_Backup_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Reaction) ProtoMessage() {}

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

// Deprecated: Use Reaction.ProtoReflect.Descriptor instead.
func (*Reaction) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{31}
}

func (x *Reaction) GetEmoji() string {
	if x != nil {
		return x.Emoji
	}
	return ""
}

func (x *Reaction) GetAuthorId() uint64 {
	if x != nil {
		return x.AuthorId
	}
	return 0
}

func (x *Reaction) GetSentTimestamp() uint64 {
	if x != nil {
		return x.SentTimestamp
	}
	return 0
}

func (x *Reaction) GetSortOrder() uint64 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

type Poll struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Question      string                 `protobuf:"bytes,1,opt,name=question,proto3" json:"question,omitempty"` // Between 1-100 characters
	AllowMultiple bool                   `protobuf:"varint,2,opt,name=allowMultiple,proto3" json:"allowMultiple,omitempty"`
	Options       []*Poll_PollOption     `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` // At least two
	HasEnded      bool                   `protobuf:"varint,4,opt,name=hasEnded,proto3" json:"hasEnded,omitempty"`
	Reactions     []*Reaction            `protobuf:"bytes,5,rep,name=reactions,proto3" json:"reactions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Poll) Reset() {
	*x = Poll{}
	mi := &file_backuppb_Backup_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Poll) ProtoMessage() {}

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

// Deprecated: Use Poll.ProtoReflect.Descriptor instead.
func (*Poll) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{32}
}

func (x *Poll) GetQuestion() string {
	if x != nil {
		return x.Question
	}
	return ""
}

func (x *Poll) GetAllowMultiple() bool {
	if x != nil {
		return x.AllowMultiple
	}
	return false
}

func (x *Poll) GetOptions() []*Poll_PollOption {
	if x != nil {
		return x.Options
	}
	return nil
}

func (x *Poll) GetHasEnded() bool {
	if x != nil {
		return x.HasEnded
	}
	return false
}

func (x *Poll) GetReactions() []*Reaction {
	if x != nil {
		return x.Reactions
	}
	return nil
}

type ChatUpdateMessage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, importers should ignore the update message without throwing an error.
	//
	// Types that are valid to be assigned to Update:
	//
	//	*ChatUpdateMessage_SimpleUpdate
	//	*ChatUpdateMessage_GroupChange
	//	*ChatUpdateMessage_ExpirationTimerChange
	//	*ChatUpdateMessage_ProfileChange
	//	*ChatUpdateMessage_ThreadMerge
	//	*ChatUpdateMessage_SessionSwitchover
	//	*ChatUpdateMessage_IndividualCall
	//	*ChatUpdateMessage_GroupCall
	//	*ChatUpdateMessage_LearnedProfileChange
	//	*ChatUpdateMessage_PollTerminate
	//	*ChatUpdateMessage_PinMessage
	Update        isChatUpdateMessage_Update `protobuf_oneof:"update"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatUpdateMessage) Reset() {
	*x = ChatUpdateMessage{}
	mi := &file_backuppb_Backup_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatUpdateMessage) ProtoMessage() {}

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

// Deprecated: Use ChatUpdateMessage.ProtoReflect.Descriptor instead.
func (*ChatUpdateMessage) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{33}
}

func (x *ChatUpdateMessage) GetUpdate() isChatUpdateMessage_Update {
	if x != nil {
		return x.Update
	}
	return nil
}

func (x *ChatUpdateMessage) GetSimpleUpdate() *SimpleChatUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_SimpleUpdate); ok {
			return x.SimpleUpdate
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetGroupChange() *GroupChangeChatUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_GroupChange); ok {
			return x.GroupChange
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetExpirationTimerChange() *ExpirationTimerChatUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_ExpirationTimerChange); ok {
			return x.ExpirationTimerChange
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetProfileChange() *ProfileChangeChatUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_ProfileChange); ok {
			return x.ProfileChange
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetThreadMerge() *ThreadMergeChatUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_ThreadMerge); ok {
			return x.ThreadMerge
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetSessionSwitchover() *SessionSwitchoverChatUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_SessionSwitchover); ok {
			return x.SessionSwitchover
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetIndividualCall() *IndividualCall {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_IndividualCall); ok {
			return x.IndividualCall
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetGroupCall() *GroupCall {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_GroupCall); ok {
			return x.GroupCall
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetLearnedProfileChange() *LearnedProfileChatUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_LearnedProfileChange); ok {
			return x.LearnedProfileChange
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetPollTerminate() *PollTerminateUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_PollTerminate); ok {
			return x.PollTerminate
		}
	}
	return nil
}

func (x *ChatUpdateMessage) GetPinMessage() *PinMessageUpdate {
	if x != nil {
		if x, ok := x.Update.(*ChatUpdateMessage_PinMessage); ok {
			return x.PinMessage
		}
	}
	return nil
}

type isChatUpdateMessage_Update interface {
	isChatUpdateMessage_Update()
}

type ChatUpdateMessage_SimpleUpdate struct {
	SimpleUpdate *SimpleChatUpdate `protobuf:"bytes,1,opt,name=simpleUpdate,proto3,oneof"`
}

type ChatUpdateMessage_GroupChange struct {
	GroupChange *GroupChangeChatUpdate `protobuf:"bytes,2,opt,name=groupChange,proto3,oneof"`
}

type ChatUpdateMessage_ExpirationTimerChange struct {
	ExpirationTimerChange *ExpirationTimerChatUpdate `protobuf:"bytes,3,opt,name=expirationTimerChange,proto3,oneof"`
}

type ChatUpdateMessage_ProfileChange struct {
	ProfileChange *ProfileChangeChatUpdate `protobuf:"bytes,4,opt,name=profileChange,proto3,oneof"`
}

type ChatUpdateMessage_ThreadMerge struct {
	ThreadMerge *ThreadMergeChatUpdate `protobuf:"bytes,5,opt,name=threadMerge,proto3,oneof"`
}

type ChatUpdateMessage_SessionSwitchover struct {
	SessionSwitchover *SessionSwitchoverChatUpdate `protobuf:"bytes,6,opt,name=sessionSwitchover,proto3,oneof"`
}

type ChatUpdateMessage_IndividualCall struct {
	IndividualCall *IndividualCall `protobuf:"bytes,7,opt,name=individualCall,proto3,oneof"`
}

type ChatUpdateMessage_GroupCall struct {
	GroupCall *GroupCall `protobuf:"bytes,8,opt,name=groupCall,proto3,oneof"`
}

type ChatUpdateMessage_LearnedProfileChange struct {
	LearnedProfileChange *LearnedProfileChatUpdate `protobuf:"bytes,9,opt,name=learnedProfileChange,proto3,oneof"`
}

type ChatUpdateMessage_PollTerminate struct {
	PollTerminate *PollTerminateUpdate `protobuf:"bytes,10,opt,name=pollTerminate,proto3,oneof"`
}

type ChatUpdateMessage_PinMessage struct {
	PinMessage *PinMessageUpdate `protobuf:"bytes,11,opt,name=pinMessage,proto3,oneof"`
}

func (*ChatUpdateMessage_SimpleUpdate) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_GroupChange) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_ExpirationTimerChange) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_ProfileChange) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_ThreadMerge) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_SessionSwitchover) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_IndividualCall) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_GroupCall) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_LearnedProfileChange) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_PollTerminate) isChatUpdateMessage_Update() {}

func (*ChatUpdateMessage_PinMessage) isChatUpdateMessage_Update() {}

type IndividualCall struct {
	state                protoimpl.MessageState   `protogen:"open.v1"`
	CallId               *uint64                  `protobuf:"varint,1,opt,name=callId,proto3,oneof" json:"callId,omitempty"`
	Type                 IndividualCall_Type      `protobuf:"varint,2,opt,name=type,proto3,enum=signal.backup.IndividualCall_Type" json:"type,omitempty"`
	Direction            IndividualCall_Direction `protobuf:"varint,3,opt,name=direction,proto3,enum=signal.backup.IndividualCall_Direction" json:"direction,omitempty"`
	State                IndividualCall_State     `protobuf:"varint,4,opt,name=state,proto3,enum=signal.backup.IndividualCall_State" json:"state,omitempty"`
	StartedCallTimestamp uint64                   `protobuf:"varint,5,opt,name=startedCallTimestamp,proto3" json:"startedCallTimestamp,omitempty"`
	Read                 bool                     `protobuf:"varint,6,opt,name=read,proto3" json:"read,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *IndividualCall) Reset() {
	*x = IndividualCall{}
	mi := &file_backuppb_Backup_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*IndividualCall) ProtoMessage() {}

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

// Deprecated: Use IndividualCall.ProtoReflect.Descriptor instead.
func (*IndividualCall) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{34}
}

func (x *IndividualCall) GetCallId() uint64 {
	if x != nil && x.CallId != nil {
		return *x.CallId
	}
	return 0
}

func (x *IndividualCall) GetType() IndividualCall_Type {
	if x != nil {
		return x.Type
	}
	return IndividualCall_UNKNOWN_TYPE
}

func (x *IndividualCall) GetDirection() IndividualCall_Direction {
	if x != nil {
		return x.Direction
	}
	return IndividualCall_UNKNOWN_DIRECTION
}

func (x *IndividualCall) GetState() IndividualCall_State {
	if x != nil {
		return x.State
	}
	return IndividualCall_UNKNOWN_STATE
}

func (x *IndividualCall) GetStartedCallTimestamp() uint64 {
	if x != nil {
		return x.StartedCallTimestamp
	}
	return 0
}

func (x *IndividualCall) GetRead() bool {
	if x != nil {
		return x.Read
	}
	return false
}

type GroupCall struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	CallId                 *uint64                `protobuf:"varint,1,opt,name=callId,proto3,oneof" json:"callId,omitempty"`
	State                  GroupCall_State        `protobuf:"varint,2,opt,name=state,proto3,enum=signal.backup.GroupCall_State" json:"state,omitempty"`
	RingerRecipientId      *uint64                `protobuf:"varint,3,opt,name=ringerRecipientId,proto3,oneof" json:"ringerRecipientId,omitempty"`
	StartedCallRecipientId *uint64                `protobuf:"varint,4,opt,name=startedCallRecipientId,proto3,oneof" json:"startedCallRecipientId,omitempty"`
	StartedCallTimestamp   uint64                 `protobuf:"varint,5,opt,name=startedCallTimestamp,proto3" json:"startedCallTimestamp,omitempty"`
	EndedCallTimestamp     *uint64                `protobuf:"varint,6,opt,name=endedCallTimestamp,proto3,oneof" json:"endedCallTimestamp,omitempty"` // The time the call ended.
	Read                   bool                   `protobuf:"varint,7,opt,name=read,proto3" json:"read,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *GroupCall) Reset() {
	*x = GroupCall{}
	mi := &file_backuppb_Backup_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupCall) ProtoMessage() {}

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

// Deprecated: Use GroupCall.ProtoReflect.Descriptor instead.
func (*GroupCall) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{35}
}

func (x *GroupCall) GetCallId() uint64 {
	if x != nil && x.CallId != nil {
		return *x.CallId
	}
	return 0
}

func (x *GroupCall) GetState() GroupCall_State {
	if x != nil {
		return x.State
	}
	return GroupCall_UNKNOWN_STATE
}

func (x *GroupCall) GetRingerRecipientId() uint64 {
	if x != nil && x.RingerRecipientId != nil {
		return *x.RingerRecipientId
	}
	return 0
}

func (x *GroupCall) GetStartedCallRecipientId() uint64 {
	if x != nil && x.StartedCallRecipientId != nil {
		return *x.StartedCallRecipientId
	}
	return 0
}

func (x *GroupCall) GetStartedCallTimestamp() uint64 {
	if x != nil {
		return x.StartedCallTimestamp
	}
	return 0
}

func (x *GroupCall) GetEndedCallTimestamp() uint64 {
	if x != nil && x.EndedCallTimestamp != nil {
		return *x.EndedCallTimestamp
	}
	return 0
}

func (x *GroupCall) GetRead() bool {
	if x != nil {
		return x.Read
	}
	return false
}

type SimpleChatUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          SimpleChatUpdate_Type  `protobuf:"varint,1,opt,name=type,proto3,enum=signal.backup.SimpleChatUpdate_Type" json:"type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SimpleChatUpdate) Reset() {
	*x = SimpleChatUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SimpleChatUpdate) ProtoMessage() {}

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

// Deprecated: Use SimpleChatUpdate.ProtoReflect.Descriptor instead.
func (*SimpleChatUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{36}
}

func (x *SimpleChatUpdate) GetType() SimpleChatUpdate_Type {
	if x != nil {
		return x.Type
	}
	return SimpleChatUpdate_UNKNOWN
}

// For 1:1 chat updates only.
// For group thread updates use GroupExpirationTimerUpdate.
type ExpirationTimerChatUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ExpiresInMs   uint64                 `protobuf:"varint,1,opt,name=expiresInMs,proto3" json:"expiresInMs,omitempty"` // 0 means the expiration timer was disabled
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExpirationTimerChatUpdate) Reset() {
	*x = ExpirationTimerChatUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExpirationTimerChatUpdate) ProtoMessage() {}

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

// Deprecated: Use ExpirationTimerChatUpdate.ProtoReflect.Descriptor instead.
func (*ExpirationTimerChatUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{37}
}

func (x *ExpirationTimerChatUpdate) GetExpiresInMs() uint64 {
	if x != nil {
		return x.ExpiresInMs
	}
	return 0
}

type ProfileChangeChatUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PreviousName  string                 `protobuf:"bytes,1,opt,name=previousName,proto3" json:"previousName,omitempty"`
	NewName       string                 `protobuf:"bytes,2,opt,name=newName,proto3" json:"newName,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProfileChangeChatUpdate) Reset() {
	*x = ProfileChangeChatUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProfileChangeChatUpdate) ProtoMessage() {}

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

// Deprecated: Use ProfileChangeChatUpdate.ProtoReflect.Descriptor instead.
func (*ProfileChangeChatUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{38}
}

func (x *ProfileChangeChatUpdate) GetPreviousName() string {
	if x != nil {
		return x.PreviousName
	}
	return ""
}

func (x *ProfileChangeChatUpdate) GetNewName() string {
	if x != nil {
		return x.NewName
	}
	return ""
}

type LearnedProfileChatUpdate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, importers should consider the previous name to be an empty string.
	//
	// Types that are valid to be assigned to PreviousName:
	//
	//	*LearnedProfileChatUpdate_E164
	//	*LearnedProfileChatUpdate_Username
	PreviousName  isLearnedProfileChatUpdate_PreviousName `protobuf_oneof:"previousName"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LearnedProfileChatUpdate) Reset() {
	*x = LearnedProfileChatUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LearnedProfileChatUpdate) ProtoMessage() {}

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

// Deprecated: Use LearnedProfileChatUpdate.ProtoReflect.Descriptor instead.
func (*LearnedProfileChatUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{39}
}

func (x *LearnedProfileChatUpdate) GetPreviousName() isLearnedProfileChatUpdate_PreviousName {
	if x != nil {
		return x.PreviousName
	}
	return nil
}

func (x *LearnedProfileChatUpdate) GetE164() uint64 {
	if x != nil {
		if x, ok := x.PreviousName.(*LearnedProfileChatUpdate_E164); ok {
			return x.E164
		}
	}
	return 0
}

func (x *LearnedProfileChatUpdate) GetUsername() string {
	if x != nil {
		if x, ok := x.PreviousName.(*LearnedProfileChatUpdate_Username); ok {
			return x.Username
		}
	}
	return ""
}

type isLearnedProfileChatUpdate_PreviousName interface {
	isLearnedProfileChatUpdate_PreviousName()
}

type LearnedProfileChatUpdate_E164 struct {
	E164 uint64 `protobuf:"varint,1,opt,name=e164,proto3,oneof"`
}

type LearnedProfileChatUpdate_Username struct {
	Username string `protobuf:"bytes,2,opt,name=username,proto3,oneof"`
}

func (*LearnedProfileChatUpdate_E164) isLearnedProfileChatUpdate_PreviousName() {}

func (*LearnedProfileChatUpdate_Username) isLearnedProfileChatUpdate_PreviousName() {}

type ThreadMergeChatUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PreviousE164  uint64                 `protobuf:"varint,1,opt,name=previousE164,proto3" json:"previousE164,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ThreadMergeChatUpdate) Reset() {
	*x = ThreadMergeChatUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ThreadMergeChatUpdate) ProtoMessage() {}

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

// Deprecated: Use ThreadMergeChatUpdate.ProtoReflect.Descriptor instead.
func (*ThreadMergeChatUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{40}
}

func (x *ThreadMergeChatUpdate) GetPreviousE164() uint64 {
	if x != nil {
		return x.PreviousE164
	}
	return 0
}

type SessionSwitchoverChatUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	E164          uint64                 `protobuf:"varint,1,opt,name=e164,proto3" json:"e164,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SessionSwitchoverChatUpdate) Reset() {
	*x = SessionSwitchoverChatUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SessionSwitchoverChatUpdate) ProtoMessage() {}

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

// Deprecated: Use SessionSwitchoverChatUpdate.ProtoReflect.Descriptor instead.
func (*SessionSwitchoverChatUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{41}
}

func (x *SessionSwitchoverChatUpdate) GetE164() uint64 {
	if x != nil {
		return x.E164
	}
	return 0
}

type GroupChangeChatUpdate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Must be one or more; all updates batched together came from
	// a single batched group state update.
	Updates       []*GroupChangeChatUpdate_Update `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupChangeChatUpdate) Reset() {
	*x = GroupChangeChatUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupChangeChatUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupChangeChatUpdate.ProtoReflect.Descriptor instead.
func (*GroupChangeChatUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{42}
}

func (x *GroupChangeChatUpdate) GetUpdates() []*GroupChangeChatUpdate_Update {
	if x != nil {
		return x.Updates
	}
	return nil
}

type GenericGroupUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci    []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenericGroupUpdate) Reset() {
	*x = GenericGroupUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GenericGroupUpdate) ProtoMessage() {}

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

// Deprecated: Use GenericGroupUpdate.ProtoReflect.Descriptor instead.
func (*GenericGroupUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{43}
}

func (x *GenericGroupUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

type GroupCreationUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci    []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupCreationUpdate) Reset() {
	*x = GroupCreationUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupCreationUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupCreationUpdate.ProtoReflect.Descriptor instead.
func (*GroupCreationUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{44}
}

func (x *GroupCreationUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

type GroupNameUpdate struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	// Null value means the group name was removed.
	NewGroupName  *string `protobuf:"bytes,2,opt,name=newGroupName,proto3,oneof" json:"newGroupName,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupNameUpdate) Reset() {
	*x = GroupNameUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupNameUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupNameUpdate.ProtoReflect.Descriptor instead.
func (*GroupNameUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{45}
}

func (x *GroupNameUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupNameUpdate) GetNewGroupName() string {
	if x != nil && x.NewGroupName != nil {
		return *x.NewGroupName
	}
	return ""
}

type GroupAvatarUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci    []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	WasRemoved    bool                   `protobuf:"varint,2,opt,name=wasRemoved,proto3" json:"wasRemoved,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupAvatarUpdate) Reset() {
	*x = GroupAvatarUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupAvatarUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupAvatarUpdate.ProtoReflect.Descriptor instead.
func (*GroupAvatarUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{46}
}

func (x *GroupAvatarUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupAvatarUpdate) GetWasRemoved() bool {
	if x != nil {
		return x.WasRemoved
	}
	return false
}

type GroupDescriptionUpdate struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	// Null value means the group description was removed.
	NewDescription *string `protobuf:"bytes,2,opt,name=newDescription,proto3,oneof" json:"newDescription,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GroupDescriptionUpdate) Reset() {
	*x = GroupDescriptionUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupDescriptionUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupDescriptionUpdate.ProtoReflect.Descriptor instead.
func (*GroupDescriptionUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{47}
}

func (x *GroupDescriptionUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupDescriptionUpdate) GetNewDescription() string {
	if x != nil && x.NewDescription != nil {
		return *x.NewDescription
	}
	return ""
}

type GroupMembershipAccessLevelChangeUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci    []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	AccessLevel   GroupV2AccessLevel     `protobuf:"varint,2,opt,name=accessLevel,proto3,enum=signal.backup.GroupV2AccessLevel" json:"accessLevel,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupMembershipAccessLevelChangeUpdate) Reset() {
	*x = GroupMembershipAccessLevelChangeUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupMembershipAccessLevelChangeUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupMembershipAccessLevelChangeUpdate.ProtoReflect.Descriptor instead.
func (*GroupMembershipAccessLevelChangeUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{48}
}

func (x *GroupMembershipAccessLevelChangeUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupMembershipAccessLevelChangeUpdate) GetAccessLevel() GroupV2AccessLevel {
	if x != nil {
		return x.AccessLevel
	}
	return GroupV2AccessLevel_UNKNOWN
}

type GroupAttributesAccessLevelChangeUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci    []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	AccessLevel   GroupV2AccessLevel     `protobuf:"varint,2,opt,name=accessLevel,proto3,enum=signal.backup.GroupV2AccessLevel" json:"accessLevel,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupAttributesAccessLevelChangeUpdate) Reset() {
	*x = GroupAttributesAccessLevelChangeUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupAttributesAccessLevelChangeUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupAttributesAccessLevelChangeUpdate.ProtoReflect.Descriptor instead.
func (*GroupAttributesAccessLevelChangeUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{49}
}

func (x *GroupAttributesAccessLevelChangeUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupAttributesAccessLevelChangeUpdate) GetAccessLevel() GroupV2AccessLevel {
	if x != nil {
		return x.AccessLevel
	}
	return GroupV2AccessLevel_UNKNOWN
}

type GroupAnnouncementOnlyChangeUpdate struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci         []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	IsAnnouncementOnly bool                   `protobuf:"varint,2,opt,name=isAnnouncementOnly,proto3" json:"isAnnouncementOnly,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *GroupAnnouncementOnlyChangeUpdate) Reset() {
	*x = GroupAnnouncementOnlyChangeUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupAnnouncementOnlyChangeUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupAnnouncementOnlyChangeUpdate.ProtoReflect.Descriptor instead.
func (*GroupAnnouncementOnlyChangeUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{50}
}

func (x *GroupAnnouncementOnlyChangeUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupAnnouncementOnlyChangeUpdate) GetIsAnnouncementOnly() bool {
	if x != nil {
		return x.IsAnnouncementOnly
	}
	return false
}

type GroupAdminStatusUpdate struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	// The aci who had admin status granted or revoked.
	MemberAci             []byte `protobuf:"bytes,2,opt,name=memberAci,proto3" json:"memberAci,omitempty"`
	WasAdminStatusGranted bool   `protobuf:"varint,3,opt,name=wasAdminStatusGranted,proto3" json:"wasAdminStatusGranted,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *GroupAdminStatusUpdate) Reset() {
	*x = GroupAdminStatusUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupAdminStatusUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupAdminStatusUpdate.ProtoReflect.Descriptor instead.
func (*GroupAdminStatusUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{51}
}

func (x *GroupAdminStatusUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupAdminStatusUpdate) GetMemberAci() []byte {
	if x != nil {
		return x.MemberAci
	}
	return nil
}

func (x *GroupAdminStatusUpdate) GetWasAdminStatusGranted() bool {
	if x != nil {
		return x.WasAdminStatusGranted
	}
	return false
}

type GroupMemberLeftUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Aci           []byte                 `protobuf:"bytes,1,opt,name=aci,proto3" json:"aci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupMemberLeftUpdate) Reset() {
	*x = GroupMemberLeftUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupMemberLeftUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupMemberLeftUpdate.ProtoReflect.Descriptor instead.
func (*GroupMemberLeftUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{52}
}

func (x *GroupMemberLeftUpdate) GetAci() []byte {
	if x != nil {
		return x.Aci
	}
	return nil
}

type GroupMemberRemovedUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RemoverAci    []byte                 `protobuf:"bytes,1,opt,name=removerAci,proto3,oneof" json:"removerAci,omitempty"`
	RemovedAci    []byte                 `protobuf:"bytes,2,opt,name=removedAci,proto3" json:"removedAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupMemberRemovedUpdate) Reset() {
	*x = GroupMemberRemovedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupMemberRemovedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupMemberRemovedUpdate.ProtoReflect.Descriptor instead.
func (*GroupMemberRemovedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{53}
}

func (x *GroupMemberRemovedUpdate) GetRemoverAci() []byte {
	if x != nil {
		return x.RemoverAci
	}
	return nil
}

func (x *GroupMemberRemovedUpdate) GetRemovedAci() []byte {
	if x != nil {
		return x.RemovedAci
	}
	return nil
}

type SelfInvitedToGroupUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	InviterAci    []byte                 `protobuf:"bytes,1,opt,name=inviterAci,proto3,oneof" json:"inviterAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SelfInvitedToGroupUpdate) Reset() {
	*x = SelfInvitedToGroupUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SelfInvitedToGroupUpdate) ProtoMessage() {}

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

// Deprecated: Use SelfInvitedToGroupUpdate.ProtoReflect.Descriptor instead.
func (*SelfInvitedToGroupUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{54}
}

func (x *SelfInvitedToGroupUpdate) GetInviterAci() []byte {
	if x != nil {
		return x.InviterAci
	}
	return nil
}

type SelfInvitedOtherUserToGroupUpdate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If no invitee id available, use GroupUnknownInviteeUpdate
	InviteeServiceId []byte `protobuf:"bytes,1,opt,name=inviteeServiceId,proto3" json:"inviteeServiceId,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *SelfInvitedOtherUserToGroupUpdate) Reset() {
	*x = SelfInvitedOtherUserToGroupUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SelfInvitedOtherUserToGroupUpdate) ProtoMessage() {}

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

// Deprecated: Use SelfInvitedOtherUserToGroupUpdate.ProtoReflect.Descriptor instead.
func (*SelfInvitedOtherUserToGroupUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{55}
}

func (x *SelfInvitedOtherUserToGroupUpdate) GetInviteeServiceId() []byte {
	if x != nil {
		return x.InviteeServiceId
	}
	return nil
}

type GroupUnknownInviteeUpdate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Can be the self user.
	InviterAci    []byte `protobuf:"bytes,1,opt,name=inviterAci,proto3,oneof" json:"inviterAci,omitempty"`
	InviteeCount  uint32 `protobuf:"varint,2,opt,name=inviteeCount,proto3" json:"inviteeCount,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupUnknownInviteeUpdate) Reset() {
	*x = GroupUnknownInviteeUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupUnknownInviteeUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupUnknownInviteeUpdate.ProtoReflect.Descriptor instead.
func (*GroupUnknownInviteeUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{56}
}

func (x *GroupUnknownInviteeUpdate) GetInviterAci() []byte {
	if x != nil {
		return x.InviterAci
	}
	return nil
}

func (x *GroupUnknownInviteeUpdate) GetInviteeCount() uint32 {
	if x != nil {
		return x.InviteeCount
	}
	return 0
}

type GroupInvitationAcceptedUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	InviterAci    []byte                 `protobuf:"bytes,1,opt,name=inviterAci,proto3,oneof" json:"inviterAci,omitempty"`
	NewMemberAci  []byte                 `protobuf:"bytes,2,opt,name=newMemberAci,proto3" json:"newMemberAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupInvitationAcceptedUpdate) Reset() {
	*x = GroupInvitationAcceptedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInvitationAcceptedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupInvitationAcceptedUpdate.ProtoReflect.Descriptor instead.
func (*GroupInvitationAcceptedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{57}
}

func (x *GroupInvitationAcceptedUpdate) GetInviterAci() []byte {
	if x != nil {
		return x.InviterAci
	}
	return nil
}

func (x *GroupInvitationAcceptedUpdate) GetNewMemberAci() []byte {
	if x != nil {
		return x.NewMemberAci
	}
	return nil
}

type GroupInvitationDeclinedUpdate struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	InviterAci []byte                 `protobuf:"bytes,1,opt,name=inviterAci,proto3,oneof" json:"inviterAci,omitempty"`
	// Note: if invited by pni, just set inviteeAci to nil.
	InviteeAci    []byte `protobuf:"bytes,2,opt,name=inviteeAci,proto3,oneof" json:"inviteeAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupInvitationDeclinedUpdate) Reset() {
	*x = GroupInvitationDeclinedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInvitationDeclinedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupInvitationDeclinedUpdate.ProtoReflect.Descriptor instead.
func (*GroupInvitationDeclinedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{58}
}

func (x *GroupInvitationDeclinedUpdate) GetInviterAci() []byte {
	if x != nil {
		return x.InviterAci
	}
	return nil
}

func (x *GroupInvitationDeclinedUpdate) GetInviteeAci() []byte {
	if x != nil {
		return x.InviteeAci
	}
	return nil
}

type GroupMemberJoinedUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NewMemberAci  []byte                 `protobuf:"bytes,1,opt,name=newMemberAci,proto3" json:"newMemberAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupMemberJoinedUpdate) Reset() {
	*x = GroupMemberJoinedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupMemberJoinedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupMemberJoinedUpdate.ProtoReflect.Descriptor instead.
func (*GroupMemberJoinedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{59}
}

func (x *GroupMemberJoinedUpdate) GetNewMemberAci() []byte {
	if x != nil {
		return x.NewMemberAci
	}
	return nil
}

type GroupMemberAddedUpdate struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci        []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	NewMemberAci      []byte                 `protobuf:"bytes,2,opt,name=newMemberAci,proto3" json:"newMemberAci,omitempty"`
	HadOpenInvitation bool                   `protobuf:"varint,3,opt,name=hadOpenInvitation,proto3" json:"hadOpenInvitation,omitempty"`
	// If hadOpenInvitation is true, optionally include aci of the inviter.
	InviterAci    []byte `protobuf:"bytes,4,opt,name=inviterAci,proto3,oneof" json:"inviterAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupMemberAddedUpdate) Reset() {
	*x = GroupMemberAddedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupMemberAddedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupMemberAddedUpdate.ProtoReflect.Descriptor instead.
func (*GroupMemberAddedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{60}
}

func (x *GroupMemberAddedUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupMemberAddedUpdate) GetNewMemberAci() []byte {
	if x != nil {
		return x.NewMemberAci
	}
	return nil
}

func (x *GroupMemberAddedUpdate) GetHadOpenInvitation() bool {
	if x != nil {
		return x.HadOpenInvitation
	}
	return false
}

func (x *GroupMemberAddedUpdate) GetInviterAci() []byte {
	if x != nil {
		return x.InviterAci
	}
	return nil
}

// An invitation to self was revoked.
type GroupSelfInvitationRevokedUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RevokerAci    []byte                 `protobuf:"bytes,1,opt,name=revokerAci,proto3,oneof" json:"revokerAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupSelfInvitationRevokedUpdate) Reset() {
	*x = GroupSelfInvitationRevokedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupSelfInvitationRevokedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupSelfInvitationRevokedUpdate.ProtoReflect.Descriptor instead.
func (*GroupSelfInvitationRevokedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{61}
}

func (x *GroupSelfInvitationRevokedUpdate) GetRevokerAci() []byte {
	if x != nil {
		return x.RevokerAci
	}
	return nil
}

// These invitees should never be the local user.
// Use GroupSelfInvitationRevokedUpdate in those cases.
// The inviter or updater can be the local user.
type GroupInvitationRevokedUpdate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The member that revoked the invite(s), not the inviter!
	// Assumed to be an admin (at the time, may no longer be an
	// admin or even a member).
	UpdaterAci    []byte                                  `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	Invitees      []*GroupInvitationRevokedUpdate_Invitee `protobuf:"bytes,2,rep,name=invitees,proto3" json:"invitees,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupInvitationRevokedUpdate) Reset() {
	*x = GroupInvitationRevokedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInvitationRevokedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupInvitationRevokedUpdate.ProtoReflect.Descriptor instead.
func (*GroupInvitationRevokedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{62}
}

func (x *GroupInvitationRevokedUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupInvitationRevokedUpdate) GetInvitees() []*GroupInvitationRevokedUpdate_Invitee {
	if x != nil {
		return x.Invitees
	}
	return nil
}

type GroupJoinRequestUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RequestorAci  []byte                 `protobuf:"bytes,1,opt,name=requestorAci,proto3" json:"requestorAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupJoinRequestUpdate) Reset() {
	*x = GroupJoinRequestUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupJoinRequestUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupJoinRequestUpdate.ProtoReflect.Descriptor instead.
func (*GroupJoinRequestUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{63}
}

func (x *GroupJoinRequestUpdate) GetRequestorAci() []byte {
	if x != nil {
		return x.RequestorAci
	}
	return nil
}

type GroupJoinRequestApprovalUpdate struct {
	state        protoimpl.MessageState `protogen:"open.v1"`
	RequestorAci []byte                 `protobuf:"bytes,1,opt,name=requestorAci,proto3" json:"requestorAci,omitempty"`
	// The aci that approved or rejected the request.
	UpdaterAci    []byte `protobuf:"bytes,2,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	WasApproved   bool   `protobuf:"varint,3,opt,name=wasApproved,proto3" json:"wasApproved,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupJoinRequestApprovalUpdate) Reset() {
	*x = GroupJoinRequestApprovalUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupJoinRequestApprovalUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupJoinRequestApprovalUpdate.ProtoReflect.Descriptor instead.
func (*GroupJoinRequestApprovalUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{64}
}

func (x *GroupJoinRequestApprovalUpdate) GetRequestorAci() []byte {
	if x != nil {
		return x.RequestorAci
	}
	return nil
}

func (x *GroupJoinRequestApprovalUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupJoinRequestApprovalUpdate) GetWasApproved() bool {
	if x != nil {
		return x.WasApproved
	}
	return false
}

type GroupJoinRequestCanceledUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RequestorAci  []byte                 `protobuf:"bytes,1,opt,name=requestorAci,proto3" json:"requestorAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupJoinRequestCanceledUpdate) Reset() {
	*x = GroupJoinRequestCanceledUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupJoinRequestCanceledUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupJoinRequestCanceledUpdate.ProtoReflect.Descriptor instead.
func (*GroupJoinRequestCanceledUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{65}
}

func (x *GroupJoinRequestCanceledUpdate) GetRequestorAci() []byte {
	if x != nil {
		return x.RequestorAci
	}
	return nil
}

// A single requestor has requested to join and cancelled
// their request repeatedly with no other updates in between.
// The last action encompassed by this update is always a
// cancellation; if there was another open request immediately
// after, it will be a separate GroupJoinRequestUpdate, either
// in the same frame or in a subsequent frame.
type GroupSequenceOfRequestsAndCancelsUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RequestorAci  []byte                 `protobuf:"bytes,1,opt,name=requestorAci,proto3" json:"requestorAci,omitempty"`
	Count         uint32                 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupSequenceOfRequestsAndCancelsUpdate) Reset() {
	*x = GroupSequenceOfRequestsAndCancelsUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupSequenceOfRequestsAndCancelsUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupSequenceOfRequestsAndCancelsUpdate.ProtoReflect.Descriptor instead.
func (*GroupSequenceOfRequestsAndCancelsUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{66}
}

func (x *GroupSequenceOfRequestsAndCancelsUpdate) GetRequestorAci() []byte {
	if x != nil {
		return x.RequestorAci
	}
	return nil
}

func (x *GroupSequenceOfRequestsAndCancelsUpdate) GetCount() uint32 {
	if x != nil {
		return x.Count
	}
	return 0
}

type GroupInviteLinkResetUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci    []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupInviteLinkResetUpdate) Reset() {
	*x = GroupInviteLinkResetUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInviteLinkResetUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupInviteLinkResetUpdate.ProtoReflect.Descriptor instead.
func (*GroupInviteLinkResetUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{67}
}

func (x *GroupInviteLinkResetUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

type GroupInviteLinkEnabledUpdate struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci                []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	LinkRequiresAdminApproval bool                   `protobuf:"varint,2,opt,name=linkRequiresAdminApproval,proto3" json:"linkRequiresAdminApproval,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *GroupInviteLinkEnabledUpdate) Reset() {
	*x = GroupInviteLinkEnabledUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInviteLinkEnabledUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupInviteLinkEnabledUpdate.ProtoReflect.Descriptor instead.
func (*GroupInviteLinkEnabledUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{68}
}

func (x *GroupInviteLinkEnabledUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupInviteLinkEnabledUpdate) GetLinkRequiresAdminApproval() bool {
	if x != nil {
		return x.LinkRequiresAdminApproval
	}
	return false
}

type GroupInviteLinkAdminApprovalUpdate struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci                []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	LinkRequiresAdminApproval bool                   `protobuf:"varint,2,opt,name=linkRequiresAdminApproval,proto3" json:"linkRequiresAdminApproval,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *GroupInviteLinkAdminApprovalUpdate) Reset() {
	*x = GroupInviteLinkAdminApprovalUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInviteLinkAdminApprovalUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupInviteLinkAdminApprovalUpdate.ProtoReflect.Descriptor instead.
func (*GroupInviteLinkAdminApprovalUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{69}
}

func (x *GroupInviteLinkAdminApprovalUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

func (x *GroupInviteLinkAdminApprovalUpdate) GetLinkRequiresAdminApproval() bool {
	if x != nil {
		return x.LinkRequiresAdminApproval
	}
	return false
}

type GroupInviteLinkDisabledUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UpdaterAci    []byte                 `protobuf:"bytes,1,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupInviteLinkDisabledUpdate) Reset() {
	*x = GroupInviteLinkDisabledUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInviteLinkDisabledUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupInviteLinkDisabledUpdate.ProtoReflect.Descriptor instead.
func (*GroupInviteLinkDisabledUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{70}
}

func (x *GroupInviteLinkDisabledUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

type GroupMemberJoinedByLinkUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NewMemberAci  []byte                 `protobuf:"bytes,1,opt,name=newMemberAci,proto3" json:"newMemberAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupMemberJoinedByLinkUpdate) Reset() {
	*x = GroupMemberJoinedByLinkUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupMemberJoinedByLinkUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupMemberJoinedByLinkUpdate.ProtoReflect.Descriptor instead.
func (*GroupMemberJoinedByLinkUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{71}
}

func (x *GroupMemberJoinedByLinkUpdate) GetNewMemberAci() []byte {
	if x != nil {
		return x.NewMemberAci
	}
	return nil
}

// A gv1->gv2 migration occurred.
type GroupV2MigrationUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupV2MigrationUpdate) Reset() {
	*x = GroupV2MigrationUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupV2MigrationUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupV2MigrationUpdate.ProtoReflect.Descriptor instead.
func (*GroupV2MigrationUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{72}
}

// Another user migrated gv1->gv2 but was unable to add
// the local user and invited them instead.
type GroupV2MigrationSelfInvitedUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupV2MigrationSelfInvitedUpdate) Reset() {
	*x = GroupV2MigrationSelfInvitedUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupV2MigrationSelfInvitedUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupV2MigrationSelfInvitedUpdate.ProtoReflect.Descriptor instead.
func (*GroupV2MigrationSelfInvitedUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{73}
}

// The local user migrated gv1->gv2 but was unable to
// add some members and invited them instead.
// (Happens if we don't have the invitee's profile key)
type GroupV2MigrationInvitedMembersUpdate struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	InvitedMembersCount uint32                 `protobuf:"varint,1,opt,name=invitedMembersCount,proto3" json:"invitedMembersCount,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *GroupV2MigrationInvitedMembersUpdate) Reset() {
	*x = GroupV2MigrationInvitedMembersUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupV2MigrationInvitedMembersUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupV2MigrationInvitedMembersUpdate.ProtoReflect.Descriptor instead.
func (*GroupV2MigrationInvitedMembersUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{74}
}

func (x *GroupV2MigrationInvitedMembersUpdate) GetInvitedMembersCount() uint32 {
	if x != nil {
		return x.InvitedMembersCount
	}
	return 0
}

// The local user migrated gv1->gv2 but was unable to
// add or invite some members and dropped them instead.
// (Happens for e164 members where we don't have an aci).
type GroupV2MigrationDroppedMembersUpdate struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	DroppedMembersCount uint32                 `protobuf:"varint,1,opt,name=droppedMembersCount,proto3" json:"droppedMembersCount,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *GroupV2MigrationDroppedMembersUpdate) Reset() {
	*x = GroupV2MigrationDroppedMembersUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupV2MigrationDroppedMembersUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupV2MigrationDroppedMembersUpdate.ProtoReflect.Descriptor instead.
func (*GroupV2MigrationDroppedMembersUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{75}
}

func (x *GroupV2MigrationDroppedMembersUpdate) GetDroppedMembersCount() uint32 {
	if x != nil {
		return x.DroppedMembersCount
	}
	return 0
}

// For 1:1 timer updates, use ExpirationTimerChatUpdate.
type GroupExpirationTimerUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ExpiresInMs   uint64                 `protobuf:"varint,1,opt,name=expiresInMs,proto3" json:"expiresInMs,omitempty"` // 0 means the expiration timer was disabled
	UpdaterAci    []byte                 `protobuf:"bytes,2,opt,name=updaterAci,proto3,oneof" json:"updaterAci,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupExpirationTimerUpdate) Reset() {
	*x = GroupExpirationTimerUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupExpirationTimerUpdate) ProtoMessage() {}

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

// Deprecated: Use GroupExpirationTimerUpdate.ProtoReflect.Descriptor instead.
func (*GroupExpirationTimerUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{76}
}

func (x *GroupExpirationTimerUpdate) GetExpiresInMs() uint64 {
	if x != nil {
		return x.ExpiresInMs
	}
	return 0
}

func (x *GroupExpirationTimerUpdate) GetUpdaterAci() []byte {
	if x != nil {
		return x.UpdaterAci
	}
	return nil
}

type PollTerminateUpdate struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	TargetSentTimestamp uint64                 `protobuf:"varint,1,opt,name=targetSentTimestamp,proto3" json:"targetSentTimestamp,omitempty"`
	Question            string                 `protobuf:"bytes,2,opt,name=question,proto3" json:"question,omitempty"` // Between 1-100 characters
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *PollTerminateUpdate) Reset() {
	*x = PollTerminateUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PollTerminateUpdate) ProtoMessage() {}

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

// Deprecated: Use PollTerminateUpdate.ProtoReflect.Descriptor instead.
func (*PollTerminateUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{77}
}

func (x *PollTerminateUpdate) GetTargetSentTimestamp() uint64 {
	if x != nil {
		return x.TargetSentTimestamp
	}
	return 0
}

func (x *PollTerminateUpdate) GetQuestion() string {
	if x != nil {
		return x.Question
	}
	return ""
}

type PinMessageUpdate struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	TargetSentTimestamp uint64                 `protobuf:"varint,1,opt,name=targetSentTimestamp,proto3" json:"targetSentTimestamp,omitempty"`
	AuthorId            uint64                 `protobuf:"varint,2,opt,name=authorId,proto3" json:"authorId,omitempty"` // recipient id
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *PinMessageUpdate) Reset() {
	*x = PinMessageUpdate{}
	mi := &file_backuppb_Backup_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PinMessageUpdate) ProtoMessage() {}

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

// Deprecated: Use PinMessageUpdate.ProtoReflect.Descriptor instead.
func (*PinMessageUpdate) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{78}
}

func (x *PinMessageUpdate) GetTargetSentTimestamp() uint64 {
	if x != nil {
		return x.TargetSentTimestamp
	}
	return 0
}

func (x *PinMessageUpdate) GetAuthorId() uint64 {
	if x != nil {
		return x.AuthorId
	}
	return 0
}

type StickerPack struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PackId        []byte                 `protobuf:"bytes,1,opt,name=packId,proto3" json:"packId,omitempty"`
	PackKey       []byte                 `protobuf:"bytes,2,opt,name=packKey,proto3" json:"packKey,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StickerPack) Reset() {
	*x = StickerPack{}
	mi := &file_backuppb_Backup_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*StickerPack) ProtoMessage() {}

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

// Deprecated: Use StickerPack.ProtoReflect.Descriptor instead.
func (*StickerPack) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{79}
}

func (x *StickerPack) GetPackId() []byte {
	if x != nil {
		return x.PackId
	}
	return nil
}

func (x *StickerPack) GetPackKey() []byte {
	if x != nil {
		return x.PackKey
	}
	return nil
}

type ChatStyle struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, importers should consider there to be no wallpaper.
	//
	// Types that are valid to be assigned to Wallpaper:
	//
	//	*ChatStyle_WallpaperPreset_
	//	*ChatStyle_WallpaperPhoto
	Wallpaper isChatStyle_Wallpaper `protobuf_oneof:"wallpaper"`
	// If unset, importers should consider it to be AutomaticBubbleColor
	//
	// Types that are valid to be assigned to BubbleColor:
	//
	//	*ChatStyle_AutoBubbleColor
	//	*ChatStyle_BubbleColorPreset_
	//	*ChatStyle_CustomColorId
	BubbleColor            isChatStyle_BubbleColor `protobuf_oneof:"bubbleColor"`
	DimWallpaperInDarkMode bool                    `protobuf:"varint,7,opt,name=dimWallpaperInDarkMode,proto3" json:"dimWallpaperInDarkMode,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ChatStyle) Reset() {
	*x = ChatStyle{}
	mi := &file_backuppb_Backup_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatStyle) ProtoMessage() {}

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

// Deprecated: Use ChatStyle.ProtoReflect.Descriptor instead.
func (*ChatStyle) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{80}
}

func (x *ChatStyle) GetWallpaper() isChatStyle_Wallpaper {
	if x != nil {
		return x.Wallpaper
	}
	return nil
}

func (x *ChatStyle) GetWallpaperPreset() ChatStyle_WallpaperPreset {
	if x != nil {
		if x, ok := x.Wallpaper.(*ChatStyle_WallpaperPreset_); ok {
			return x.WallpaperPreset
		}
	}
	return ChatStyle_UNKNOWN_WALLPAPER_PRESET
}

func (x *ChatStyle) GetWallpaperPhoto() *FilePointer {
	if x != nil {
		if x, ok := x.Wallpaper.(*ChatStyle_WallpaperPhoto); ok {
			return x.WallpaperPhoto
		}
	}
	return nil
}

func (x *ChatStyle) GetBubbleColor() isChatStyle_BubbleColor {
	if x != nil {
		return x.BubbleColor
	}
	return nil
}

func (x *ChatStyle) GetAutoBubbleColor() *ChatStyle_AutomaticBubbleColor {
	if x != nil {
		if x, ok := x.BubbleColor.(*ChatStyle_AutoBubbleColor); ok {
			return x.AutoBubbleColor
		}
	}
	return nil
}

func (x *ChatStyle) GetBubbleColorPreset() ChatStyle_BubbleColorPreset {
	if x != nil {
		if x, ok := x.BubbleColor.(*ChatStyle_BubbleColorPreset_); ok {
			return x.BubbleColorPreset
		}
	}
	return ChatStyle_UNKNOWN_BUBBLE_COLOR_PRESET
}

func (x *ChatStyle) GetCustomColorId() uint64 {
	if x != nil {
		if x, ok := x.BubbleColor.(*ChatStyle_CustomColorId); ok {
			return x.CustomColorId
		}
	}
	return 0
}

func (x *ChatStyle) GetDimWallpaperInDarkMode() bool {
	if x != nil {
		return x.DimWallpaperInDarkMode
	}
	return false
}

type isChatStyle_Wallpaper interface {
	isChatStyle_Wallpaper()
}

type ChatStyle_WallpaperPreset_ struct {
	WallpaperPreset ChatStyle_WallpaperPreset `protobuf:"varint,1,opt,name=wallpaperPreset,proto3,enum=signal.backup.ChatStyle_WallpaperPreset,oneof"`
}

type ChatStyle_WallpaperPhoto struct {
	// This `FilePointer` is expected not to contain a `fileName`, `width`,
	// `height`, or `caption`.
	WallpaperPhoto *FilePointer `protobuf:"bytes,2,opt,name=wallpaperPhoto,proto3,oneof"`
}

func (*ChatStyle_WallpaperPreset_) isChatStyle_Wallpaper() {}

func (*ChatStyle_WallpaperPhoto) isChatStyle_Wallpaper() {}

type isChatStyle_BubbleColor interface {
	isChatStyle_BubbleColor()
}

type ChatStyle_AutoBubbleColor struct {
	// Bubble setting is automatically determined based on the wallpaper setting,
	// or `SOLID_ULTRAMARINE` for `noWallpaper`
	AutoBubbleColor *ChatStyle_AutomaticBubbleColor `protobuf:"bytes,3,opt,name=autoBubbleColor,proto3,oneof"`
}

type ChatStyle_BubbleColorPreset_ struct {
	BubbleColorPreset ChatStyle_BubbleColorPreset `protobuf:"varint,4,opt,name=bubbleColorPreset,proto3,enum=signal.backup.ChatStyle_BubbleColorPreset,oneof"`
}

type ChatStyle_CustomColorId struct {
	// See AccountSettings.customChatColors
	CustomColorId uint64 `protobuf:"varint,5,opt,name=customColorId,proto3,oneof"`
}

func (*ChatStyle_AutoBubbleColor) isChatStyle_BubbleColor() {}

func (*ChatStyle_BubbleColorPreset_) isChatStyle_BubbleColor() {}

func (*ChatStyle_CustomColorId) isChatStyle_BubbleColor() {}

type NotificationProfile struct {
	state               protoimpl.MessageState          `protogen:"open.v1"`
	Name                string                          `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Emoji               *string                         `protobuf:"bytes,2,opt,name=emoji,proto3,oneof" json:"emoji,omitempty"`
	Color               uint32                          `protobuf:"fixed32,3,opt,name=color,proto3" json:"color,omitempty"` // 0xAARRGGBB
	CreatedAtMs         uint64                          `protobuf:"varint,4,opt,name=createdAtMs,proto3" json:"createdAtMs,omitempty"`
	AllowAllCalls       bool                            `protobuf:"varint,5,opt,name=allowAllCalls,proto3" json:"allowAllCalls,omitempty"`
	AllowAllMentions    bool                            `protobuf:"varint,6,opt,name=allowAllMentions,proto3" json:"allowAllMentions,omitempty"`
	AllowedMembers      []uint64                        `protobuf:"varint,7,rep,packed,name=allowedMembers,proto3" json:"allowedMembers,omitempty"` // generated recipient id for allowed groups and contacts
	ScheduleEnabled     bool                            `protobuf:"varint,8,opt,name=scheduleEnabled,proto3" json:"scheduleEnabled,omitempty"`
	ScheduleStartTime   uint32                          `protobuf:"varint,9,opt,name=scheduleStartTime,proto3" json:"scheduleStartTime,omitempty"` // 24-hour clock int, 0000-2359 (e.g., 15, 900, 1130, 2345)
	ScheduleEndTime     uint32                          `protobuf:"varint,10,opt,name=scheduleEndTime,proto3" json:"scheduleEndTime,omitempty"`    // 24-hour clock int, 0000-2359 (e.g., 15, 900, 1130, 2345)
	ScheduleDaysEnabled []NotificationProfile_DayOfWeek `protobuf:"varint,11,rep,packed,name=scheduleDaysEnabled,proto3,enum=signal.backup.NotificationProfile_DayOfWeek" json:"scheduleDaysEnabled,omitempty"`
	Id                  []byte                          `protobuf:"bytes,12,opt,name=id,proto3" json:"id,omitempty"` // should be 16 bytes
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *NotificationProfile) Reset() {
	*x = NotificationProfile{}
	mi := &file_backuppb_Backup_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*NotificationProfile) ProtoMessage() {}

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

// Deprecated: Use NotificationProfile.ProtoReflect.Descriptor instead.
func (*NotificationProfile) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{81}
}

func (x *NotificationProfile) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *NotificationProfile) GetEmoji() string {
	if x != nil && x.Emoji != nil {
		return *x.Emoji
	}
	return ""
}

func (x *NotificationProfile) GetColor() uint32 {
	if x != nil {
		return x.Color
	}
	return 0
}

func (x *NotificationProfile) GetCreatedAtMs() uint64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *NotificationProfile) GetAllowAllCalls() bool {
	if x != nil {
		return x.AllowAllCalls
	}
	return false
}

func (x *NotificationProfile) GetAllowAllMentions() bool {
	if x != nil {
		return x.AllowAllMentions
	}
	return false
}

func (x *NotificationProfile) GetAllowedMembers() []uint64 {
	if x != nil {
		return x.AllowedMembers
	}
	return nil
}

func (x *NotificationProfile) GetScheduleEnabled() bool {
	if x != nil {
		return x.ScheduleEnabled
	}
	return false
}

func (x *NotificationProfile) GetScheduleStartTime() uint32 {
	if x != nil {
		return x.ScheduleStartTime
	}
	return 0
}

func (x *NotificationProfile) GetScheduleEndTime() uint32 {
	if x != nil {
		return x.ScheduleEndTime
	}
	return 0
}

func (x *NotificationProfile) GetScheduleDaysEnabled() []NotificationProfile_DayOfWeek {
	if x != nil {
		return x.ScheduleDaysEnabled
	}
	return nil
}

func (x *NotificationProfile) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

type ChatFolder struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Name           string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	ShowOnlyUnread bool                   `protobuf:"varint,2,opt,name=showOnlyUnread,proto3" json:"showOnlyUnread,omitempty"`
	ShowMutedChats bool                   `protobuf:"varint,3,opt,name=showMutedChats,proto3" json:"showMutedChats,omitempty"`
	// Folder includes all 1:1 chats, unless excluded
	IncludeAllIndividualChats bool `protobuf:"varint,4,opt,name=includeAllIndividualChats,proto3" json:"includeAllIndividualChats,omitempty"`
	// Folder includes all group chats, unless excluded
	IncludeAllGroupChats bool                  `protobuf:"varint,5,opt,name=includeAllGroupChats,proto3" json:"includeAllGroupChats,omitempty"`
	FolderType           ChatFolder_FolderType `protobuf:"varint,6,opt,name=folderType,proto3,enum=signal.backup.ChatFolder_FolderType" json:"folderType,omitempty"`
	IncludedRecipientIds []uint64              `protobuf:"varint,7,rep,packed,name=includedRecipientIds,proto3" json:"includedRecipientIds,omitempty"` // generated recipient id of groups, contacts, and/or note to self
	ExcludedRecipientIds []uint64              `protobuf:"varint,8,rep,packed,name=excludedRecipientIds,proto3" json:"excludedRecipientIds,omitempty"` // generated recipient id of groups, contacts, and/or note to self
	Id                   []byte                `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"`                                             // should be 16 bytes
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *ChatFolder) Reset() {
	*x = ChatFolder{}
	mi := &file_backuppb_Backup_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatFolder) ProtoMessage() {}

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

// Deprecated: Use ChatFolder.ProtoReflect.Descriptor instead.
func (*ChatFolder) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{82}
}

func (x *ChatFolder) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ChatFolder) GetShowOnlyUnread() bool {
	if x != nil {
		return x.ShowOnlyUnread
	}
	return false
}

func (x *ChatFolder) GetShowMutedChats() bool {
	if x != nil {
		return x.ShowMutedChats
	}
	return false
}

func (x *ChatFolder) GetIncludeAllIndividualChats() bool {
	if x != nil {
		return x.IncludeAllIndividualChats
	}
	return false
}

func (x *ChatFolder) GetIncludeAllGroupChats() bool {
	if x != nil {
		return x.IncludeAllGroupChats
	}
	return false
}

func (x *ChatFolder) GetFolderType() ChatFolder_FolderType {
	if x != nil {
		return x.FolderType
	}
	return ChatFolder_UNKNOWN
}

func (x *ChatFolder) GetIncludedRecipientIds() []uint64 {
	if x != nil {
		return x.IncludedRecipientIds
	}
	return nil
}

func (x *ChatFolder) GetExcludedRecipientIds() []uint64 {
	if x != nil {
		return x.ExcludedRecipientIds
	}
	return nil
}

func (x *ChatFolder) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

type AccountData_UsernameLink struct {
	state         protoimpl.MessageState         `protogen:"open.v1"`
	Entropy       []byte                         `protobuf:"bytes,1,opt,name=entropy,proto3" json:"entropy,omitempty"`   // 32 bytes of entropy used for encryption
	ServerId      []byte                         `protobuf:"bytes,2,opt,name=serverId,proto3" json:"serverId,omitempty"` // 16 bytes of encoded UUID provided by the server
	Color         AccountData_UsernameLink_Color `protobuf:"varint,3,opt,name=color,proto3,enum=signal.backup.AccountData_UsernameLink_Color" json:"color,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AccountData_UsernameLink) Reset() {
	*x = AccountData_UsernameLink{}
	mi := &file_backuppb_Backup_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AccountData_UsernameLink) ProtoMessage() {}

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

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

func (x *AccountData_UsernameLink) GetEntropy() []byte {
	if x != nil {
		return x.Entropy
	}
	return nil
}

func (x *AccountData_UsernameLink) GetServerId() []byte {
	if x != nil {
		return x.ServerId
	}
	return nil
}

func (x *AccountData_UsernameLink) GetColor() AccountData_UsernameLink_Color {
	if x != nil {
		return x.Color
	}
	return AccountData_UsernameLink_UNKNOWN
}

type AccountData_AutoDownloadSettings struct {
	state         protoimpl.MessageState                              `protogen:"open.v1"`
	Images        AccountData_AutoDownloadSettings_AutoDownloadOption `protobuf:"varint,1,opt,name=images,proto3,enum=signal.backup.AccountData_AutoDownloadSettings_AutoDownloadOption" json:"images,omitempty"`
	Audio         AccountData_AutoDownloadSettings_AutoDownloadOption `protobuf:"varint,2,opt,name=audio,proto3,enum=signal.backup.AccountData_AutoDownloadSettings_AutoDownloadOption" json:"audio,omitempty"`
	Video         AccountData_AutoDownloadSettings_AutoDownloadOption `protobuf:"varint,3,opt,name=video,proto3,enum=signal.backup.AccountData_AutoDownloadSettings_AutoDownloadOption" json:"video,omitempty"`
	Documents     AccountData_AutoDownloadSettings_AutoDownloadOption `protobuf:"varint,4,opt,name=documents,proto3,enum=signal.backup.AccountData_AutoDownloadSettings_AutoDownloadOption" json:"documents,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AccountData_AutoDownloadSettings) Reset() {
	*x = AccountData_AutoDownloadSettings{}
	mi := &file_backuppb_Backup_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AccountData_AutoDownloadSettings) ProtoMessage() {}

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

// Deprecated: Use AccountData_AutoDownloadSettings.ProtoReflect.Descriptor instead.
func (*AccountData_AutoDownloadSettings) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 1}
}

func (x *AccountData_AutoDownloadSettings) GetImages() AccountData_AutoDownloadSettings_AutoDownloadOption {
	if x != nil {
		return x.Images
	}
	return AccountData_AutoDownloadSettings_UNKNOWN
}

func (x *AccountData_AutoDownloadSettings) GetAudio() AccountData_AutoDownloadSettings_AutoDownloadOption {
	if x != nil {
		return x.Audio
	}
	return AccountData_AutoDownloadSettings_UNKNOWN
}

func (x *AccountData_AutoDownloadSettings) GetVideo() AccountData_AutoDownloadSettings_AutoDownloadOption {
	if x != nil {
		return x.Video
	}
	return AccountData_AutoDownloadSettings_UNKNOWN
}

func (x *AccountData_AutoDownloadSettings) GetDocuments() AccountData_AutoDownloadSettings_AutoDownloadOption {
	if x != nil {
		return x.Documents
	}
	return AccountData_AutoDownloadSettings_UNKNOWN
}

type AccountData_AccountSettings struct {
	state                           protoimpl.MessageState             `protogen:"open.v1"`
	ReadReceipts                    bool                               `protobuf:"varint,1,opt,name=readReceipts,proto3" json:"readReceipts,omitempty"`
	SealedSenderIndicators          bool                               `protobuf:"varint,2,opt,name=sealedSenderIndicators,proto3" json:"sealedSenderIndicators,omitempty"`
	TypingIndicators                bool                               `protobuf:"varint,3,opt,name=typingIndicators,proto3" json:"typingIndicators,omitempty"`
	LinkPreviews                    bool                               `protobuf:"varint,4,opt,name=linkPreviews,proto3" json:"linkPreviews,omitempty"`
	NotDiscoverableByPhoneNumber    bool                               `protobuf:"varint,5,opt,name=notDiscoverableByPhoneNumber,proto3" json:"notDiscoverableByPhoneNumber,omitempty"`
	PreferContactAvatars            bool                               `protobuf:"varint,6,opt,name=preferContactAvatars,proto3" json:"preferContactAvatars,omitempty"`
	UniversalExpireTimerSeconds     uint32                             `protobuf:"varint,7,opt,name=universalExpireTimerSeconds,proto3" json:"universalExpireTimerSeconds,omitempty"` // 0 means no universal expire timer.
	PreferredReactionEmoji          []string                           `protobuf:"bytes,8,rep,name=preferredReactionEmoji,proto3" json:"preferredReactionEmoji,omitempty"`
	DisplayBadgesOnProfile          bool                               `protobuf:"varint,9,opt,name=displayBadgesOnProfile,proto3" json:"displayBadgesOnProfile,omitempty"`
	KeepMutedChatsArchived          bool                               `protobuf:"varint,10,opt,name=keepMutedChatsArchived,proto3" json:"keepMutedChatsArchived,omitempty"`
	HasSetMyStoriesPrivacy          bool                               `protobuf:"varint,11,opt,name=hasSetMyStoriesPrivacy,proto3" json:"hasSetMyStoriesPrivacy,omitempty"`
	HasViewedOnboardingStory        bool                               `protobuf:"varint,12,opt,name=hasViewedOnboardingStory,proto3" json:"hasViewedOnboardingStory,omitempty"`
	StoriesDisabled                 bool                               `protobuf:"varint,13,opt,name=storiesDisabled,proto3" json:"storiesDisabled,omitempty"`
	StoryViewReceiptsEnabled        *bool                              `protobuf:"varint,14,opt,name=storyViewReceiptsEnabled,proto3,oneof" json:"storyViewReceiptsEnabled,omitempty"`
	HasSeenGroupStoryEducationSheet bool                               `protobuf:"varint,15,opt,name=hasSeenGroupStoryEducationSheet,proto3" json:"hasSeenGroupStoryEducationSheet,omitempty"`
	HasCompletedUsernameOnboarding  bool                               `protobuf:"varint,16,opt,name=hasCompletedUsernameOnboarding,proto3" json:"hasCompletedUsernameOnboarding,omitempty"`
	PhoneNumberSharingMode          AccountData_PhoneNumberSharingMode `protobuf:"varint,17,opt,name=phoneNumberSharingMode,proto3,enum=signal.backup.AccountData_PhoneNumberSharingMode" json:"phoneNumberSharingMode,omitempty"`
	DefaultChatStyle                *ChatStyle                         `protobuf:"bytes,18,opt,name=defaultChatStyle,proto3" json:"defaultChatStyle,omitempty"`
	CustomChatColors                []*ChatStyle_CustomChatColor       `protobuf:"bytes,19,rep,name=customChatColors,proto3" json:"customChatColors,omitempty"`
	OptimizeOnDeviceStorage         bool                               `protobuf:"varint,20,opt,name=optimizeOnDeviceStorage,proto3" json:"optimizeOnDeviceStorage,omitempty"`
	// See zkgroup for integer particular values. Unset if backups are not enabled.
	BackupTier                    *uint64                             `protobuf:"varint,21,opt,name=backupTier,proto3,oneof" json:"backupTier,omitempty"`
	DefaultSentMediaQuality       AccountData_SentMediaQuality        `protobuf:"varint,23,opt,name=defaultSentMediaQuality,proto3,enum=signal.backup.AccountData_SentMediaQuality" json:"defaultSentMediaQuality,omitempty"`
	AutoDownloadSettings          *AccountData_AutoDownloadSettings   `protobuf:"bytes,24,opt,name=autoDownloadSettings,proto3" json:"autoDownloadSettings,omitempty"`
	ScreenLockTimeoutMinutes      *uint32                             `protobuf:"varint,26,opt,name=screenLockTimeoutMinutes,proto3,oneof" json:"screenLockTimeoutMinutes,omitempty"`                                                // If unset, consider screen lock to be disabled.
	PinReminders                  *bool                               `protobuf:"varint,27,opt,name=pinReminders,proto3,oneof" json:"pinReminders,omitempty"`                                                                        // If unset, consider pin reminders to be enabled.
	AppTheme                      AccountData_AppTheme                `protobuf:"varint,28,opt,name=appTheme,proto3,enum=signal.backup.AccountData_AppTheme" json:"appTheme,omitempty"`                                              // If unset, treat the same as "Unknown" case
	CallsUseLessDataSetting       AccountData_CallsUseLessDataSetting `protobuf:"varint,29,opt,name=callsUseLessDataSetting,proto3,enum=signal.backup.AccountData_CallsUseLessDataSetting" json:"callsUseLessDataSetting,omitempty"` // If unset, treat the same as "Unknown" case
	AllowSealedSenderFromAnyone   bool                                `protobuf:"varint,30,opt,name=allowSealedSenderFromAnyone,proto3" json:"allowSealedSenderFromAnyone,omitempty"`
	AllowAutomaticKeyVerification bool                                `protobuf:"varint,31,opt,name=allowAutomaticKeyVerification,proto3" json:"allowAutomaticKeyVerification,omitempty"`
	unknownFields                 protoimpl.UnknownFields
	sizeCache                     protoimpl.SizeCache
}

func (x *AccountData_AccountSettings) Reset() {
	*x = AccountData_AccountSettings{}
	mi := &file_backuppb_Backup_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AccountData_AccountSettings) ProtoMessage() {}

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

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

func (x *AccountData_AccountSettings) GetReadReceipts() bool {
	if x != nil {
		return x.ReadReceipts
	}
	return false
}

func (x *AccountData_AccountSettings) GetSealedSenderIndicators() bool {
	if x != nil {
		return x.SealedSenderIndicators
	}
	return false
}

func (x *AccountData_AccountSettings) GetTypingIndicators() bool {
	if x != nil {
		return x.TypingIndicators
	}
	return false
}

func (x *AccountData_AccountSettings) GetLinkPreviews() bool {
	if x != nil {
		return x.LinkPreviews
	}
	return false
}

func (x *AccountData_AccountSettings) GetNotDiscoverableByPhoneNumber() bool {
	if x != nil {
		return x.NotDiscoverableByPhoneNumber
	}
	return false
}

func (x *AccountData_AccountSettings) GetPreferContactAvatars() bool {
	if x != nil {
		return x.PreferContactAvatars
	}
	return false
}

func (x *AccountData_AccountSettings) GetUniversalExpireTimerSeconds() uint32 {
	if x != nil {
		return x.UniversalExpireTimerSeconds
	}
	return 0
}

func (x *AccountData_AccountSettings) GetPreferredReactionEmoji() []string {
	if x != nil {
		return x.PreferredReactionEmoji
	}
	return nil
}

func (x *AccountData_AccountSettings) GetDisplayBadgesOnProfile() bool {
	if x != nil {
		return x.DisplayBadgesOnProfile
	}
	return false
}

func (x *AccountData_AccountSettings) GetKeepMutedChatsArchived() bool {
	if x != nil {
		return x.KeepMutedChatsArchived
	}
	return false
}

func (x *AccountData_AccountSettings) GetHasSetMyStoriesPrivacy() bool {
	if x != nil {
		return x.HasSetMyStoriesPrivacy
	}
	return false
}

func (x *AccountData_AccountSettings) GetHasViewedOnboardingStory() bool {
	if x != nil {
		return x.HasViewedOnboardingStory
	}
	return false
}

func (x *AccountData_AccountSettings) GetStoriesDisabled() bool {
	if x != nil {
		return x.StoriesDisabled
	}
	return false
}

func (x *AccountData_AccountSettings) GetStoryViewReceiptsEnabled() bool {
	if x != nil && x.StoryViewReceiptsEnabled != nil {
		return *x.StoryViewReceiptsEnabled
	}
	return false
}

func (x *AccountData_AccountSettings) GetHasSeenGroupStoryEducationSheet() bool {
	if x != nil {
		return x.HasSeenGroupStoryEducationSheet
	}
	return false
}

func (x *AccountData_AccountSettings) GetHasCompletedUsernameOnboarding() bool {
	if x != nil {
		return x.HasCompletedUsernameOnboarding
	}
	return false
}

func (x *AccountData_AccountSettings) GetPhoneNumberSharingMode() AccountData_PhoneNumberSharingMode {
	if x != nil {
		return x.PhoneNumberSharingMode
	}
	return AccountData_UNKNOWN
}

func (x *AccountData_AccountSettings) GetDefaultChatStyle() *ChatStyle {
	if x != nil {
		return x.DefaultChatStyle
	}
	return nil
}

func (x *AccountData_AccountSettings) GetCustomChatColors() []*ChatStyle_CustomChatColor {
	if x != nil {
		return x.CustomChatColors
	}
	return nil
}

func (x *AccountData_AccountSettings) GetOptimizeOnDeviceStorage() bool {
	if x != nil {
		return x.OptimizeOnDeviceStorage
	}
	return false
}

func (x *AccountData_AccountSettings) GetBackupTier() uint64 {
	if x != nil && x.BackupTier != nil {
		return *x.BackupTier
	}
	return 0
}

func (x *AccountData_AccountSettings) GetDefaultSentMediaQuality() AccountData_SentMediaQuality {
	if x != nil {
		return x.DefaultSentMediaQuality
	}
	return AccountData_UNKNOWN_QUALITY
}

func (x *AccountData_AccountSettings) GetAutoDownloadSettings() *AccountData_AutoDownloadSettings {
	if x != nil {
		return x.AutoDownloadSettings
	}
	return nil
}

func (x *AccountData_AccountSettings) GetScreenLockTimeoutMinutes() uint32 {
	if x != nil && x.ScreenLockTimeoutMinutes != nil {
		return *x.ScreenLockTimeoutMinutes
	}
	return 0
}

func (x *AccountData_AccountSettings) GetPinReminders() bool {
	if x != nil && x.PinReminders != nil {
		return *x.PinReminders
	}
	return false
}

func (x *AccountData_AccountSettings) GetAppTheme() AccountData_AppTheme {
	if x != nil {
		return x.AppTheme
	}
	return AccountData_UNKNOWN_APP_THEME
}

func (x *AccountData_AccountSettings) GetCallsUseLessDataSetting() AccountData_CallsUseLessDataSetting {
	if x != nil {
		return x.CallsUseLessDataSetting
	}
	return AccountData_UNKNOWN_CALL_DATA_SETTING
}

func (x *AccountData_AccountSettings) GetAllowSealedSenderFromAnyone() bool {
	if x != nil {
		return x.AllowSealedSenderFromAnyone
	}
	return false
}

func (x *AccountData_AccountSettings) GetAllowAutomaticKeyVerification() bool {
	if x != nil {
		return x.AllowAutomaticKeyVerification
	}
	return false
}

type AccountData_SubscriberData struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	SubscriberId      []byte                 `protobuf:"bytes,1,opt,name=subscriberId,proto3" json:"subscriberId,omitempty"`
	CurrencyCode      string                 `protobuf:"bytes,2,opt,name=currencyCode,proto3" json:"currencyCode,omitempty"`
	ManuallyCancelled bool                   `protobuf:"varint,3,opt,name=manuallyCancelled,proto3" json:"manuallyCancelled,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AccountData_SubscriberData) Reset() {
	*x = AccountData_SubscriberData{}
	mi := &file_backuppb_Backup_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AccountData_SubscriberData) ProtoMessage() {}

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

// Deprecated: Use AccountData_SubscriberData.ProtoReflect.Descriptor instead.
func (*AccountData_SubscriberData) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 3}
}

func (x *AccountData_SubscriberData) GetSubscriberId() []byte {
	if x != nil {
		return x.SubscriberId
	}
	return nil
}

func (x *AccountData_SubscriberData) GetCurrencyCode() string {
	if x != nil {
		return x.CurrencyCode
	}
	return ""
}

func (x *AccountData_SubscriberData) GetManuallyCancelled() bool {
	if x != nil {
		return x.ManuallyCancelled
	}
	return false
}

type AccountData_IAPSubscriberData struct {
	state        protoimpl.MessageState `protogen:"open.v1"`
	SubscriberId []byte                 `protobuf:"bytes,1,opt,name=subscriberId,proto3" json:"subscriberId,omitempty"`
	// If unset, importers should ignore the subscriber data without throwing an error.
	//
	// Types that are valid to be assigned to IapSubscriptionId:
	//
	//	*AccountData_IAPSubscriberData_PurchaseToken
	//	*AccountData_IAPSubscriberData_OriginalTransactionId
	IapSubscriptionId isAccountData_IAPSubscriberData_IapSubscriptionId `protobuf_oneof:"iapSubscriptionId"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AccountData_IAPSubscriberData) Reset() {
	*x = AccountData_IAPSubscriberData{}
	mi := &file_backuppb_Backup_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AccountData_IAPSubscriberData) ProtoMessage() {}

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

// Deprecated: Use AccountData_IAPSubscriberData.ProtoReflect.Descriptor instead.
func (*AccountData_IAPSubscriberData) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 4}
}

func (x *AccountData_IAPSubscriberData) GetSubscriberId() []byte {
	if x != nil {
		return x.SubscriberId
	}
	return nil
}

func (x *AccountData_IAPSubscriberData) GetIapSubscriptionId() isAccountData_IAPSubscriberData_IapSubscriptionId {
	if x != nil {
		return x.IapSubscriptionId
	}
	return nil
}

func (x *AccountData_IAPSubscriberData) GetPurchaseToken() string {
	if x != nil {
		if x, ok := x.IapSubscriptionId.(*AccountData_IAPSubscriberData_PurchaseToken); ok {
			return x.PurchaseToken
		}
	}
	return ""
}

func (x *AccountData_IAPSubscriberData) GetOriginalTransactionId() uint64 {
	if x != nil {
		if x, ok := x.IapSubscriptionId.(*AccountData_IAPSubscriberData_OriginalTransactionId); ok {
			return x.OriginalTransactionId
		}
	}
	return 0
}

type isAccountData_IAPSubscriberData_IapSubscriptionId interface {
	isAccountData_IAPSubscriberData_IapSubscriptionId()
}

type AccountData_IAPSubscriberData_PurchaseToken struct {
	// Identifies an Android Play Store IAP subscription.
	PurchaseToken string `protobuf:"bytes,2,opt,name=purchaseToken,proto3,oneof"`
}

type AccountData_IAPSubscriberData_OriginalTransactionId struct {
	// Identifies an iOS App Store IAP subscription.
	OriginalTransactionId uint64 `protobuf:"varint,3,opt,name=originalTransactionId,proto3,oneof"`
}

func (*AccountData_IAPSubscriberData_PurchaseToken) isAccountData_IAPSubscriberData_IapSubscriptionId() {
}

func (*AccountData_IAPSubscriberData_OriginalTransactionId) isAccountData_IAPSubscriberData_IapSubscriptionId() {
}

type AccountData_AndroidSpecificSettings struct {
	state              protoimpl.MessageState                                `protogen:"open.v1"`
	UseSystemEmoji     bool                                                  `protobuf:"varint,1,opt,name=useSystemEmoji,proto3" json:"useSystemEmoji,omitempty"`
	ScreenshotSecurity bool                                                  `protobuf:"varint,2,opt,name=screenshotSecurity,proto3" json:"screenshotSecurity,omitempty"`
	NavigationBarSize  AccountData_AndroidSpecificSettings_NavigationBarSize `protobuf:"varint,3,opt,name=navigationBarSize,proto3,enum=signal.backup.AccountData_AndroidSpecificSettings_NavigationBarSize" json:"navigationBarSize,omitempty"` // If unset, treat the same as "Unknown" case
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *AccountData_AndroidSpecificSettings) Reset() {
	*x = AccountData_AndroidSpecificSettings{}
	mi := &file_backuppb_Backup_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AccountData_AndroidSpecificSettings) ProtoMessage() {}

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

// Deprecated: Use AccountData_AndroidSpecificSettings.ProtoReflect.Descriptor instead.
func (*AccountData_AndroidSpecificSettings) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{2, 5}
}

func (x *AccountData_AndroidSpecificSettings) GetUseSystemEmoji() bool {
	if x != nil {
		return x.UseSystemEmoji
	}
	return false
}

func (x *AccountData_AndroidSpecificSettings) GetScreenshotSecurity() bool {
	if x != nil {
		return x.ScreenshotSecurity
	}
	return false
}

func (x *AccountData_AndroidSpecificSettings) GetNavigationBarSize() AccountData_AndroidSpecificSettings_NavigationBarSize {
	if x != nil {
		return x.NavigationBarSize
	}
	return AccountData_AndroidSpecificSettings_UNKNOWN_BAR_SIZE
}

type Contact_Registered struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Contact_Registered) Reset() {
	*x = Contact_Registered{}
	mi := &file_backuppb_Backup_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Contact_Registered) ProtoMessage() {}

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

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

type Contact_NotRegistered struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	UnregisteredTimestamp uint64                 `protobuf:"varint,1,opt,name=unregisteredTimestamp,proto3" json:"unregisteredTimestamp,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *Contact_NotRegistered) Reset() {
	*x = Contact_NotRegistered{}
	mi := &file_backuppb_Backup_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Contact_NotRegistered) ProtoMessage() {}

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

// Deprecated: Use Contact_NotRegistered.ProtoReflect.Descriptor instead.
func (*Contact_NotRegistered) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{4, 1}
}

func (x *Contact_NotRegistered) GetUnregisteredTimestamp() uint64 {
	if x != nil {
		return x.UnregisteredTimestamp
	}
	return 0
}

type Contact_Name struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Given         string                 `protobuf:"bytes,1,opt,name=given,proto3" json:"given,omitempty"`
	Family        string                 `protobuf:"bytes,2,opt,name=family,proto3" json:"family,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Contact_Name) Reset() {
	*x = Contact_Name{}
	mi := &file_backuppb_Backup_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Contact_Name) ProtoMessage() {}

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

// Deprecated: Use Contact_Name.ProtoReflect.Descriptor instead.
func (*Contact_Name) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{4, 2}
}

func (x *Contact_Name) GetGiven() string {
	if x != nil {
		return x.Given
	}
	return ""
}

func (x *Contact_Name) GetFamily() string {
	if x != nil {
		return x.Family
	}
	return ""
}

// These are simply plaintext copies of the groups proto from Groups.proto.
// They should be kept completely in-sync with Groups.proto.
// These exist to allow us to have the latest snapshot of a group during restoration without having to hit the network.
// We would use Groups.proto if we could, but we want a plaintext version to improve export readability.
// For documentation, defer to Groups.proto. The only name change is Group -> GroupSnapshot to avoid the naming conflict.
type Group_GroupSnapshot struct {
	state                       protoimpl.MessageState              `protogen:"open.v1"`
	Title                       *Group_GroupAttributeBlob           `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Description                 *Group_GroupAttributeBlob           `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"`
	AvatarUrl                   string                              `protobuf:"bytes,3,opt,name=avatarUrl,proto3" json:"avatarUrl,omitempty"`
	DisappearingMessagesTimer   *Group_GroupAttributeBlob           `protobuf:"bytes,4,opt,name=disappearingMessagesTimer,proto3" json:"disappearingMessagesTimer,omitempty"`
	AccessControl               *Group_AccessControl                `protobuf:"bytes,5,opt,name=accessControl,proto3" json:"accessControl,omitempty"`
	Version                     uint32                              `protobuf:"varint,6,opt,name=version,proto3" json:"version,omitempty"`
	Members                     []*Group_Member                     `protobuf:"bytes,7,rep,name=members,proto3" json:"members,omitempty"`
	MembersPendingProfileKey    []*Group_MemberPendingProfileKey    `protobuf:"bytes,8,rep,name=membersPendingProfileKey,proto3" json:"membersPendingProfileKey,omitempty"`
	MembersPendingAdminApproval []*Group_MemberPendingAdminApproval `protobuf:"bytes,9,rep,name=membersPendingAdminApproval,proto3" json:"membersPendingAdminApproval,omitempty"`
	InviteLinkPassword          []byte                              `protobuf:"bytes,10,opt,name=inviteLinkPassword,proto3" json:"inviteLinkPassword,omitempty"`
	AnnouncementsOnly           bool                                `protobuf:"varint,12,opt,name=announcements_only,json=announcementsOnly,proto3" json:"announcements_only,omitempty"`
	MembersBanned               []*Group_MemberBanned               `protobuf:"bytes,13,rep,name=members_banned,json=membersBanned,proto3" json:"members_banned,omitempty"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

func (x *Group_GroupSnapshot) Reset() {
	*x = Group_GroupSnapshot{}
	mi := &file_backuppb_Backup_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group_GroupSnapshot) ProtoMessage() {}

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

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

func (x *Group_GroupSnapshot) GetTitle() *Group_GroupAttributeBlob {
	if x != nil {
		return x.Title
	}
	return nil
}

func (x *Group_GroupSnapshot) GetDescription() *Group_GroupAttributeBlob {
	if x != nil {
		return x.Description
	}
	return nil
}

func (x *Group_GroupSnapshot) GetAvatarUrl() string {
	if x != nil {
		return x.AvatarUrl
	}
	return ""
}

func (x *Group_GroupSnapshot) GetDisappearingMessagesTimer() *Group_GroupAttributeBlob {
	if x != nil {
		return x.DisappearingMessagesTimer
	}
	return nil
}

func (x *Group_GroupSnapshot) GetAccessControl() *Group_AccessControl {
	if x != nil {
		return x.AccessControl
	}
	return nil
}

func (x *Group_GroupSnapshot) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *Group_GroupSnapshot) GetMembers() []*Group_Member {
	if x != nil {
		return x.Members
	}
	return nil
}

func (x *Group_GroupSnapshot) GetMembersPendingProfileKey() []*Group_MemberPendingProfileKey {
	if x != nil {
		return x.MembersPendingProfileKey
	}
	return nil
}

func (x *Group_GroupSnapshot) GetMembersPendingAdminApproval() []*Group_MemberPendingAdminApproval {
	if x != nil {
		return x.MembersPendingAdminApproval
	}
	return nil
}

func (x *Group_GroupSnapshot) GetInviteLinkPassword() []byte {
	if x != nil {
		return x.InviteLinkPassword
	}
	return nil
}

func (x *Group_GroupSnapshot) GetAnnouncementsOnly() bool {
	if x != nil {
		return x.AnnouncementsOnly
	}
	return false
}

func (x *Group_GroupSnapshot) GetMembersBanned() []*Group_MemberBanned {
	if x != nil {
		return x.MembersBanned
	}
	return nil
}

type Group_GroupAttributeBlob struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, consider the field it represents to not be present
	//
	// Types that are valid to be assigned to Content:
	//
	//	*Group_GroupAttributeBlob_Title
	//	*Group_GroupAttributeBlob_Avatar
	//	*Group_GroupAttributeBlob_DisappearingMessagesDuration
	//	*Group_GroupAttributeBlob_DescriptionText
	Content       isGroup_GroupAttributeBlob_Content `protobuf_oneof:"content"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Group_GroupAttributeBlob) Reset() {
	*x = Group_GroupAttributeBlob{}
	mi := &file_backuppb_Backup_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group_GroupAttributeBlob) ProtoMessage() {}

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

// Deprecated: Use Group_GroupAttributeBlob.ProtoReflect.Descriptor instead.
func (*Group_GroupAttributeBlob) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 1}
}

func (x *Group_GroupAttributeBlob) GetContent() isGroup_GroupAttributeBlob_Content {
	if x != nil {
		return x.Content
	}
	return nil
}

func (x *Group_GroupAttributeBlob) GetTitle() string {
	if x != nil {
		if x, ok := x.Content.(*Group_GroupAttributeBlob_Title); ok {
			return x.Title
		}
	}
	return ""
}

func (x *Group_GroupAttributeBlob) GetAvatar() []byte {
	if x != nil {
		if x, ok := x.Content.(*Group_GroupAttributeBlob_Avatar); ok {
			return x.Avatar
		}
	}
	return nil
}

func (x *Group_GroupAttributeBlob) GetDisappearingMessagesDuration() uint32 {
	if x != nil {
		if x, ok := x.Content.(*Group_GroupAttributeBlob_DisappearingMessagesDuration); ok {
			return x.DisappearingMessagesDuration
		}
	}
	return 0
}

func (x *Group_GroupAttributeBlob) GetDescriptionText() string {
	if x != nil {
		if x, ok := x.Content.(*Group_GroupAttributeBlob_DescriptionText); ok {
			return x.DescriptionText
		}
	}
	return ""
}

type isGroup_GroupAttributeBlob_Content interface {
	isGroup_GroupAttributeBlob_Content()
}

type Group_GroupAttributeBlob_Title struct {
	Title string `protobuf:"bytes,1,opt,name=title,proto3,oneof"`
}

type Group_GroupAttributeBlob_Avatar struct {
	Avatar []byte `protobuf:"bytes,2,opt,name=avatar,proto3,oneof"`
}

type Group_GroupAttributeBlob_DisappearingMessagesDuration struct {
	DisappearingMessagesDuration uint32 `protobuf:"varint,3,opt,name=disappearingMessagesDuration,proto3,oneof"`
}

type Group_GroupAttributeBlob_DescriptionText struct {
	DescriptionText string `protobuf:"bytes,4,opt,name=descriptionText,proto3,oneof"`
}

func (*Group_GroupAttributeBlob_Title) isGroup_GroupAttributeBlob_Content() {}

func (*Group_GroupAttributeBlob_Avatar) isGroup_GroupAttributeBlob_Content() {}

func (*Group_GroupAttributeBlob_DisappearingMessagesDuration) isGroup_GroupAttributeBlob_Content() {}

func (*Group_GroupAttributeBlob_DescriptionText) isGroup_GroupAttributeBlob_Content() {}

type Group_Member struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	UserId          []byte                 `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
	Role            Group_Member_Role      `protobuf:"varint,2,opt,name=role,proto3,enum=signal.backup.Group_Member_Role" json:"role,omitempty"`
	JoinedAtVersion uint32                 `protobuf:"varint,5,opt,name=joinedAtVersion,proto3" json:"joinedAtVersion,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *Group_Member) Reset() {
	*x = Group_Member{}
	mi := &file_backuppb_Backup_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group_Member) ProtoMessage() {}

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

// Deprecated: Use Group_Member.ProtoReflect.Descriptor instead.
func (*Group_Member) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 2}
}

func (x *Group_Member) GetUserId() []byte {
	if x != nil {
		return x.UserId
	}
	return nil
}

func (x *Group_Member) GetRole() Group_Member_Role {
	if x != nil {
		return x.Role
	}
	return Group_Member_UNKNOWN
}

func (x *Group_Member) GetJoinedAtVersion() uint32 {
	if x != nil {
		return x.JoinedAtVersion
	}
	return 0
}

type Group_MemberPendingProfileKey struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Member        *Group_Member          `protobuf:"bytes,1,opt,name=member,proto3" json:"member,omitempty"`
	AddedByUserId []byte                 `protobuf:"bytes,2,opt,name=addedByUserId,proto3" json:"addedByUserId,omitempty"`
	Timestamp     uint64                 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Group_MemberPendingProfileKey) Reset() {
	*x = Group_MemberPendingProfileKey{}
	mi := &file_backuppb_Backup_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group_MemberPendingProfileKey) ProtoMessage() {}

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

// Deprecated: Use Group_MemberPendingProfileKey.ProtoReflect.Descriptor instead.
func (*Group_MemberPendingProfileKey) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 3}
}

func (x *Group_MemberPendingProfileKey) GetMember() *Group_Member {
	if x != nil {
		return x.Member
	}
	return nil
}

func (x *Group_MemberPendingProfileKey) GetAddedByUserId() []byte {
	if x != nil {
		return x.AddedByUserId
	}
	return nil
}

func (x *Group_MemberPendingProfileKey) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

type Group_MemberPendingAdminApproval struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        []byte                 `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
	Timestamp     uint64                 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Group_MemberPendingAdminApproval) Reset() {
	*x = Group_MemberPendingAdminApproval{}
	mi := &file_backuppb_Backup_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group_MemberPendingAdminApproval) ProtoMessage() {}

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

// Deprecated: Use Group_MemberPendingAdminApproval.ProtoReflect.Descriptor instead.
func (*Group_MemberPendingAdminApproval) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 4}
}

func (x *Group_MemberPendingAdminApproval) GetUserId() []byte {
	if x != nil {
		return x.UserId
	}
	return nil
}

func (x *Group_MemberPendingAdminApproval) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

type Group_MemberBanned struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        []byte                 `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
	Timestamp     uint64                 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Group_MemberBanned) Reset() {
	*x = Group_MemberBanned{}
	mi := &file_backuppb_Backup_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group_MemberBanned) ProtoMessage() {}

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

// Deprecated: Use Group_MemberBanned.ProtoReflect.Descriptor instead.
func (*Group_MemberBanned) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 5}
}

func (x *Group_MemberBanned) GetUserId() []byte {
	if x != nil {
		return x.UserId
	}
	return nil
}

func (x *Group_MemberBanned) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

type Group_AccessControl struct {
	state             protoimpl.MessageState             `protogen:"open.v1"`
	Attributes        Group_AccessControl_AccessRequired `protobuf:"varint,1,opt,name=attributes,proto3,enum=signal.backup.Group_AccessControl_AccessRequired" json:"attributes,omitempty"`
	Members           Group_AccessControl_AccessRequired `protobuf:"varint,2,opt,name=members,proto3,enum=signal.backup.Group_AccessControl_AccessRequired" json:"members,omitempty"`
	AddFromInviteLink Group_AccessControl_AccessRequired `protobuf:"varint,3,opt,name=addFromInviteLink,proto3,enum=signal.backup.Group_AccessControl_AccessRequired" json:"addFromInviteLink,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *Group_AccessControl) Reset() {
	*x = Group_AccessControl{}
	mi := &file_backuppb_Backup_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group_AccessControl) ProtoMessage() {}

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

// Deprecated: Use Group_AccessControl.ProtoReflect.Descriptor instead.
func (*Group_AccessControl) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{5, 6}
}

func (x *Group_AccessControl) GetAttributes() Group_AccessControl_AccessRequired {
	if x != nil {
		return x.Attributes
	}
	return Group_AccessControl_UNKNOWN
}

func (x *Group_AccessControl) GetMembers() Group_AccessControl_AccessRequired {
	if x != nil {
		return x.Members
	}
	return Group_AccessControl_UNKNOWN
}

func (x *Group_AccessControl) GetAddFromInviteLink() Group_AccessControl_AccessRequired {
	if x != nil {
		return x.AddFromInviteLink
	}
	return Group_AccessControl_UNKNOWN
}

type ChatItem_IncomingMessageDetails struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	DateReceived   uint64                 `protobuf:"varint,1,opt,name=dateReceived,proto3" json:"dateReceived,omitempty"`
	DateServerSent *uint64                `protobuf:"varint,2,opt,name=dateServerSent,proto3,oneof" json:"dateServerSent,omitempty"`
	Read           bool                   `protobuf:"varint,3,opt,name=read,proto3" json:"read,omitempty"`
	SealedSender   bool                   `protobuf:"varint,4,opt,name=sealedSender,proto3" json:"sealedSender,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ChatItem_IncomingMessageDetails) Reset() {
	*x = ChatItem_IncomingMessageDetails{}
	mi := &file_backuppb_Backup_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatItem_IncomingMessageDetails) ProtoMessage() {}

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

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

func (x *ChatItem_IncomingMessageDetails) GetDateReceived() uint64 {
	if x != nil {
		return x.DateReceived
	}
	return 0
}

func (x *ChatItem_IncomingMessageDetails) GetDateServerSent() uint64 {
	if x != nil && x.DateServerSent != nil {
		return *x.DateServerSent
	}
	return 0
}

func (x *ChatItem_IncomingMessageDetails) GetRead() bool {
	if x != nil {
		return x.Read
	}
	return false
}

func (x *ChatItem_IncomingMessageDetails) GetSealedSender() bool {
	if x != nil {
		return x.SealedSender
	}
	return false
}

type ChatItem_OutgoingMessageDetails struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SendStatus    []*SendStatus          `protobuf:"bytes,1,rep,name=sendStatus,proto3" json:"sendStatus,omitempty"`
	DateReceived  uint64                 `protobuf:"varint,2,opt,name=dateReceived,proto3" json:"dateReceived,omitempty"` // may be different from dateSent for sync messages
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatItem_OutgoingMessageDetails) Reset() {
	*x = ChatItem_OutgoingMessageDetails{}
	mi := &file_backuppb_Backup_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatItem_OutgoingMessageDetails) ProtoMessage() {}

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

// Deprecated: Use ChatItem_OutgoingMessageDetails.ProtoReflect.Descriptor instead.
func (*ChatItem_OutgoingMessageDetails) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{13, 1}
}

func (x *ChatItem_OutgoingMessageDetails) GetSendStatus() []*SendStatus {
	if x != nil {
		return x.SendStatus
	}
	return nil
}

func (x *ChatItem_OutgoingMessageDetails) GetDateReceived() uint64 {
	if x != nil {
		return x.DateReceived
	}
	return 0
}

type ChatItem_DirectionlessMessageDetails struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatItem_DirectionlessMessageDetails) Reset() {
	*x = ChatItem_DirectionlessMessageDetails{}
	mi := &file_backuppb_Backup_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatItem_DirectionlessMessageDetails) ProtoMessage() {}

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

// Deprecated: Use ChatItem_DirectionlessMessageDetails.ProtoReflect.Descriptor instead.
func (*ChatItem_DirectionlessMessageDetails) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{13, 2}
}

type ChatItem_PinDetails struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	PinnedAtTimestamp uint64                 `protobuf:"varint,1,opt,name=pinnedAtTimestamp,proto3" json:"pinnedAtTimestamp,omitempty"`
	// Types that are valid to be assigned to PinExpiry:
	//
	//	*ChatItem_PinDetails_PinExpiresAtTimestamp
	//	*ChatItem_PinDetails_PinNeverExpires
	PinExpiry     isChatItem_PinDetails_PinExpiry `protobuf_oneof:"pinExpiry"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatItem_PinDetails) Reset() {
	*x = ChatItem_PinDetails{}
	mi := &file_backuppb_Backup_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatItem_PinDetails) ProtoMessage() {}

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

// Deprecated: Use ChatItem_PinDetails.ProtoReflect.Descriptor instead.
func (*ChatItem_PinDetails) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{13, 3}
}

func (x *ChatItem_PinDetails) GetPinnedAtTimestamp() uint64 {
	if x != nil {
		return x.PinnedAtTimestamp
	}
	return 0
}

func (x *ChatItem_PinDetails) GetPinExpiry() isChatItem_PinDetails_PinExpiry {
	if x != nil {
		return x.PinExpiry
	}
	return nil
}

func (x *ChatItem_PinDetails) GetPinExpiresAtTimestamp() uint64 {
	if x != nil {
		if x, ok := x.PinExpiry.(*ChatItem_PinDetails_PinExpiresAtTimestamp); ok {
			return x.PinExpiresAtTimestamp
		}
	}
	return 0
}

func (x *ChatItem_PinDetails) GetPinNeverExpires() bool {
	if x != nil {
		if x, ok := x.PinExpiry.(*ChatItem_PinDetails_PinNeverExpires); ok {
			return x.PinNeverExpires
		}
	}
	return false
}

type isChatItem_PinDetails_PinExpiry interface {
	isChatItem_PinDetails_PinExpiry()
}

type ChatItem_PinDetails_PinExpiresAtTimestamp struct {
	PinExpiresAtTimestamp uint64 `protobuf:"varint,2,opt,name=pinExpiresAtTimestamp,proto3,oneof"` // timestamp when the pin should expire
}

type ChatItem_PinDetails_PinNeverExpires struct {
	PinNeverExpires bool `protobuf:"varint,3,opt,name=pinNeverExpires,proto3,oneof"`
}

func (*ChatItem_PinDetails_PinExpiresAtTimestamp) isChatItem_PinDetails_PinExpiry() {}

func (*ChatItem_PinDetails_PinNeverExpires) isChatItem_PinDetails_PinExpiry() {}

type SendStatus_Pending struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendStatus_Pending) Reset() {
	*x = SendStatus_Pending{}
	mi := &file_backuppb_Backup_proto_msgTypes[103]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus_Pending) ProtoMessage() {}

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

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

type SendStatus_Sent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SealedSender  bool                   `protobuf:"varint,1,opt,name=sealedSender,proto3" json:"sealedSender,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendStatus_Sent) Reset() {
	*x = SendStatus_Sent{}
	mi := &file_backuppb_Backup_proto_msgTypes[104]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus_Sent) ProtoMessage() {}

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

// Deprecated: Use SendStatus_Sent.ProtoReflect.Descriptor instead.
func (*SendStatus_Sent) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14, 1}
}

func (x *SendStatus_Sent) GetSealedSender() bool {
	if x != nil {
		return x.SealedSender
	}
	return false
}

type SendStatus_Delivered struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SealedSender  bool                   `protobuf:"varint,1,opt,name=sealedSender,proto3" json:"sealedSender,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendStatus_Delivered) Reset() {
	*x = SendStatus_Delivered{}
	mi := &file_backuppb_Backup_proto_msgTypes[105]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus_Delivered) ProtoMessage() {}

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

// Deprecated: Use SendStatus_Delivered.ProtoReflect.Descriptor instead.
func (*SendStatus_Delivered) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14, 2}
}

func (x *SendStatus_Delivered) GetSealedSender() bool {
	if x != nil {
		return x.SealedSender
	}
	return false
}

type SendStatus_Read struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SealedSender  bool                   `protobuf:"varint,1,opt,name=sealedSender,proto3" json:"sealedSender,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendStatus_Read) Reset() {
	*x = SendStatus_Read{}
	mi := &file_backuppb_Backup_proto_msgTypes[106]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus_Read) ProtoMessage() {}

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

// Deprecated: Use SendStatus_Read.ProtoReflect.Descriptor instead.
func (*SendStatus_Read) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14, 3}
}

func (x *SendStatus_Read) GetSealedSender() bool {
	if x != nil {
		return x.SealedSender
	}
	return false
}

type SendStatus_Viewed struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SealedSender  bool                   `protobuf:"varint,1,opt,name=sealedSender,proto3" json:"sealedSender,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendStatus_Viewed) Reset() {
	*x = SendStatus_Viewed{}
	mi := &file_backuppb_Backup_proto_msgTypes[107]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus_Viewed) ProtoMessage() {}

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

// Deprecated: Use SendStatus_Viewed.ProtoReflect.Descriptor instead.
func (*SendStatus_Viewed) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14, 4}
}

func (x *SendStatus_Viewed) GetSealedSender() bool {
	if x != nil {
		return x.SealedSender
	}
	return false
}

// e.g. user in group was blocked, so we skipped sending to them
type SendStatus_Skipped struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendStatus_Skipped) Reset() {
	*x = SendStatus_Skipped{}
	mi := &file_backuppb_Backup_proto_msgTypes[108]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus_Skipped) ProtoMessage() {}

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

// Deprecated: Use SendStatus_Skipped.ProtoReflect.Descriptor instead.
func (*SendStatus_Skipped) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14, 5}
}

type SendStatus_Failed struct {
	state         protoimpl.MessageState          `protogen:"open.v1"`
	Reason        SendStatus_Failed_FailureReason `protobuf:"varint,1,opt,name=reason,proto3,enum=signal.backup.SendStatus_Failed_FailureReason" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendStatus_Failed) Reset() {
	*x = SendStatus_Failed{}
	mi := &file_backuppb_Backup_proto_msgTypes[109]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SendStatus_Failed) ProtoMessage() {}

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

// Deprecated: Use SendStatus_Failed.ProtoReflect.Descriptor instead.
func (*SendStatus_Failed) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{14, 6}
}

func (x *SendStatus_Failed) GetReason() SendStatus_Failed_FailureReason {
	if x != nil {
		return x.Reason
	}
	return SendStatus_Failed_UNKNOWN
}

type DirectStoryReplyMessage_TextReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Text          *Text                  `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	LongText      *FilePointer           `protobuf:"bytes,2,opt,name=longText,proto3" json:"longText,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DirectStoryReplyMessage_TextReply) Reset() {
	*x = DirectStoryReplyMessage_TextReply{}
	mi := &file_backuppb_Backup_proto_msgTypes[110]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DirectStoryReplyMessage_TextReply) ProtoMessage() {}

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

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

func (x *DirectStoryReplyMessage_TextReply) GetText() *Text {
	if x != nil {
		return x.Text
	}
	return nil
}

func (x *DirectStoryReplyMessage_TextReply) GetLongText() *FilePointer {
	if x != nil {
		return x.LongText
	}
	return nil
}

type PaymentNotification_TransactionDetails struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, importers should treat the transaction as successful with no metadata.
	//
	// Types that are valid to be assigned to Payment:
	//
	//	*PaymentNotification_TransactionDetails_Transaction_
	//	*PaymentNotification_TransactionDetails_FailedTransaction_
	Payment       isPaymentNotification_TransactionDetails_Payment `protobuf_oneof:"payment"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PaymentNotification_TransactionDetails) Reset() {
	*x = PaymentNotification_TransactionDetails{}
	mi := &file_backuppb_Backup_proto_msgTypes[111]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PaymentNotification_TransactionDetails) ProtoMessage() {}

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

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

func (x *PaymentNotification_TransactionDetails) GetPayment() isPaymentNotification_TransactionDetails_Payment {
	if x != nil {
		return x.Payment
	}
	return nil
}

func (x *PaymentNotification_TransactionDetails) GetTransaction() *PaymentNotification_TransactionDetails_Transaction {
	if x != nil {
		if x, ok := x.Payment.(*PaymentNotification_TransactionDetails_Transaction_); ok {
			return x.Transaction
		}
	}
	return nil
}

func (x *PaymentNotification_TransactionDetails) GetFailedTransaction() *PaymentNotification_TransactionDetails_FailedTransaction {
	if x != nil {
		if x, ok := x.Payment.(*PaymentNotification_TransactionDetails_FailedTransaction_); ok {
			return x.FailedTransaction
		}
	}
	return nil
}

type isPaymentNotification_TransactionDetails_Payment interface {
	isPaymentNotification_TransactionDetails_Payment()
}

type PaymentNotification_TransactionDetails_Transaction_ struct {
	Transaction *PaymentNotification_TransactionDetails_Transaction `protobuf:"bytes,1,opt,name=transaction,proto3,oneof"`
}

type PaymentNotification_TransactionDetails_FailedTransaction_ struct {
	FailedTransaction *PaymentNotification_TransactionDetails_FailedTransaction `protobuf:"bytes,2,opt,name=failedTransaction,proto3,oneof"`
}

func (*PaymentNotification_TransactionDetails_Transaction_) isPaymentNotification_TransactionDetails_Payment() {
}

func (*PaymentNotification_TransactionDetails_FailedTransaction_) isPaymentNotification_TransactionDetails_Payment() {
}

type PaymentNotification_TransactionDetails_MobileCoinTxoIdentification struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PublicKey     [][]byte               `protobuf:"bytes,1,rep,name=publicKey,proto3" json:"publicKey,omitempty"` // for received transactions
	KeyImages     [][]byte               `protobuf:"bytes,2,rep,name=keyImages,proto3" json:"keyImages,omitempty"` // for sent transactions
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PaymentNotification_TransactionDetails_MobileCoinTxoIdentification) Reset() {
	*x = PaymentNotification_TransactionDetails_MobileCoinTxoIdentification{}
	mi := &file_backuppb_Backup_proto_msgTypes[112]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PaymentNotification_TransactionDetails_MobileCoinTxoIdentification) ProtoMessage() {}

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

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

func (x *PaymentNotification_TransactionDetails_MobileCoinTxoIdentification) GetPublicKey() [][]byte {
	if x != nil {
		return x.PublicKey
	}
	return nil
}

func (x *PaymentNotification_TransactionDetails_MobileCoinTxoIdentification) GetKeyImages() [][]byte {
	if x != nil {
		return x.KeyImages
	}
	return nil
}

type PaymentNotification_TransactionDetails_FailedTransaction struct {
	state         protoimpl.MessageState                                                 `protogen:"open.v1"`
	Reason        PaymentNotification_TransactionDetails_FailedTransaction_FailureReason `protobuf:"varint,1,opt,name=reason,proto3,enum=signal.backup.PaymentNotification_TransactionDetails_FailedTransaction_FailureReason" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PaymentNotification_TransactionDetails_FailedTransaction) Reset() {
	*x = PaymentNotification_TransactionDetails_FailedTransaction{}
	mi := &file_backuppb_Backup_proto_msgTypes[113]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PaymentNotification_TransactionDetails_FailedTransaction) ProtoMessage() {}

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

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

func (x *PaymentNotification_TransactionDetails_FailedTransaction) GetReason() PaymentNotification_TransactionDetails_FailedTransaction_FailureReason {
	if x != nil {
		return x.Reason
	}
	return PaymentNotification_TransactionDetails_FailedTransaction_GENERIC
}

type PaymentNotification_TransactionDetails_Transaction struct {
	state  protoimpl.MessageState                                    `protogen:"open.v1"`
	Status PaymentNotification_TransactionDetails_Transaction_Status `protobuf:"varint,1,opt,name=status,proto3,enum=signal.backup.PaymentNotification_TransactionDetails_Transaction_Status" json:"status,omitempty"`
	// This identification is used to map the payment table to the ledger
	// and is likely required otherwise we may have issues reconciling with
	// the ledger
	MobileCoinIdentification *PaymentNotification_TransactionDetails_MobileCoinTxoIdentification `protobuf:"bytes,2,opt,name=mobileCoinIdentification,proto3" json:"mobileCoinIdentification,omitempty"`
	Timestamp                *uint64                                                             `protobuf:"varint,3,opt,name=timestamp,proto3,oneof" json:"timestamp,omitempty"`
	BlockIndex               *uint64                                                             `protobuf:"varint,4,opt,name=blockIndex,proto3,oneof" json:"blockIndex,omitempty"`
	BlockTimestamp           *uint64                                                             `protobuf:"varint,5,opt,name=blockTimestamp,proto3,oneof" json:"blockTimestamp,omitempty"`
	Transaction              []byte                                                              `protobuf:"bytes,6,opt,name=transaction,proto3,oneof" json:"transaction,omitempty"` // mobile coin blobs
	Receipt                  []byte                                                              `protobuf:"bytes,7,opt,name=receipt,proto3,oneof" json:"receipt,omitempty"`         // mobile coin blobs
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *PaymentNotification_TransactionDetails_Transaction) Reset() {
	*x = PaymentNotification_TransactionDetails_Transaction{}
	mi := &file_backuppb_Backup_proto_msgTypes[114]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PaymentNotification_TransactionDetails_Transaction) ProtoMessage() {}

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

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

func (x *PaymentNotification_TransactionDetails_Transaction) GetStatus() PaymentNotification_TransactionDetails_Transaction_Status {
	if x != nil {
		return x.Status
	}
	return PaymentNotification_TransactionDetails_Transaction_INITIAL
}

func (x *PaymentNotification_TransactionDetails_Transaction) GetMobileCoinIdentification() *PaymentNotification_TransactionDetails_MobileCoinTxoIdentification {
	if x != nil {
		return x.MobileCoinIdentification
	}
	return nil
}

func (x *PaymentNotification_TransactionDetails_Transaction) GetTimestamp() uint64 {
	if x != nil && x.Timestamp != nil {
		return *x.Timestamp
	}
	return 0
}

func (x *PaymentNotification_TransactionDetails_Transaction) GetBlockIndex() uint64 {
	if x != nil && x.BlockIndex != nil {
		return *x.BlockIndex
	}
	return 0
}

func (x *PaymentNotification_TransactionDetails_Transaction) GetBlockTimestamp() uint64 {
	if x != nil && x.BlockTimestamp != nil {
		return *x.BlockTimestamp
	}
	return 0
}

func (x *PaymentNotification_TransactionDetails_Transaction) GetTransaction() []byte {
	if x != nil {
		return x.Transaction
	}
	return nil
}

func (x *PaymentNotification_TransactionDetails_Transaction) GetReceipt() []byte {
	if x != nil {
		return x.Receipt
	}
	return nil
}

type ContactAttachment_Name struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GivenName     string                 `protobuf:"bytes,1,opt,name=givenName,proto3" json:"givenName,omitempty"`
	FamilyName    string                 `protobuf:"bytes,2,opt,name=familyName,proto3" json:"familyName,omitempty"`
	Prefix        string                 `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Suffix        string                 `protobuf:"bytes,4,opt,name=suffix,proto3" json:"suffix,omitempty"`
	MiddleName    string                 `protobuf:"bytes,5,opt,name=middleName,proto3" json:"middleName,omitempty"`
	Nickname      string                 `protobuf:"bytes,6,opt,name=nickname,proto3" json:"nickname,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContactAttachment_Name) Reset() {
	*x = ContactAttachment_Name{}
	mi := &file_backuppb_Backup_proto_msgTypes[115]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ContactAttachment_Name) ProtoMessage() {}

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

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

func (x *ContactAttachment_Name) GetGivenName() string {
	if x != nil {
		return x.GivenName
	}
	return ""
}

func (x *ContactAttachment_Name) GetFamilyName() string {
	if x != nil {
		return x.FamilyName
	}
	return ""
}

func (x *ContactAttachment_Name) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *ContactAttachment_Name) GetSuffix() string {
	if x != nil {
		return x.Suffix
	}
	return ""
}

func (x *ContactAttachment_Name) GetMiddleName() string {
	if x != nil {
		return x.MiddleName
	}
	return ""
}

func (x *ContactAttachment_Name) GetNickname() string {
	if x != nil {
		return x.Nickname
	}
	return ""
}

type ContactAttachment_Phone struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Value         string                       `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	Type          ContactAttachment_Phone_Type `protobuf:"varint,2,opt,name=type,proto3,enum=signal.backup.ContactAttachment_Phone_Type" json:"type,omitempty"`
	Label         string                       `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContactAttachment_Phone) Reset() {
	*x = ContactAttachment_Phone{}
	mi := &file_backuppb_Backup_proto_msgTypes[116]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ContactAttachment_Phone) ProtoMessage() {}

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

// Deprecated: Use ContactAttachment_Phone.ProtoReflect.Descriptor instead.
func (*ContactAttachment_Phone) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{22, 1}
}

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

func (x *ContactAttachment_Phone) GetType() ContactAttachment_Phone_Type {
	if x != nil {
		return x.Type
	}
	return ContactAttachment_Phone_UNKNOWN
}

func (x *ContactAttachment_Phone) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

type ContactAttachment_Email struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Value         string                       `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	Type          ContactAttachment_Email_Type `protobuf:"varint,2,opt,name=type,proto3,enum=signal.backup.ContactAttachment_Email_Type" json:"type,omitempty"`
	Label         string                       `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContactAttachment_Email) Reset() {
	*x = ContactAttachment_Email{}
	mi := &file_backuppb_Backup_proto_msgTypes[117]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ContactAttachment_Email) ProtoMessage() {}

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

// Deprecated: Use ContactAttachment_Email.ProtoReflect.Descriptor instead.
func (*ContactAttachment_Email) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{22, 2}
}

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

func (x *ContactAttachment_Email) GetType() ContactAttachment_Email_Type {
	if x != nil {
		return x.Type
	}
	return ContactAttachment_Email_UNKNOWN
}

func (x *ContactAttachment_Email) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

type ContactAttachment_PostalAddress struct {
	state         protoimpl.MessageState               `protogen:"open.v1"`
	Type          ContactAttachment_PostalAddress_Type `protobuf:"varint,1,opt,name=type,proto3,enum=signal.backup.ContactAttachment_PostalAddress_Type" json:"type,omitempty"`
	Label         string                               `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
	Street        string                               `protobuf:"bytes,3,opt,name=street,proto3" json:"street,omitempty"`
	Pobox         string                               `protobuf:"bytes,4,opt,name=pobox,proto3" json:"pobox,omitempty"`
	Neighborhood  string                               `protobuf:"bytes,5,opt,name=neighborhood,proto3" json:"neighborhood,omitempty"`
	City          string                               `protobuf:"bytes,6,opt,name=city,proto3" json:"city,omitempty"`
	Region        string                               `protobuf:"bytes,7,opt,name=region,proto3" json:"region,omitempty"`
	Postcode      string                               `protobuf:"bytes,8,opt,name=postcode,proto3" json:"postcode,omitempty"`
	Country       string                               `protobuf:"bytes,9,opt,name=country,proto3" json:"country,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContactAttachment_PostalAddress) Reset() {
	*x = ContactAttachment_PostalAddress{}
	mi := &file_backuppb_Backup_proto_msgTypes[118]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ContactAttachment_PostalAddress) ProtoMessage() {}

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

// Deprecated: Use ContactAttachment_PostalAddress.ProtoReflect.Descriptor instead.
func (*ContactAttachment_PostalAddress) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{22, 3}
}

func (x *ContactAttachment_PostalAddress) GetType() ContactAttachment_PostalAddress_Type {
	if x != nil {
		return x.Type
	}
	return ContactAttachment_PostalAddress_UNKNOWN
}

func (x *ContactAttachment_PostalAddress) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *ContactAttachment_PostalAddress) GetStreet() string {
	if x != nil {
		return x.Street
	}
	return ""
}

func (x *ContactAttachment_PostalAddress) GetPobox() string {
	if x != nil {
		return x.Pobox
	}
	return ""
}

func (x *ContactAttachment_PostalAddress) GetNeighborhood() string {
	if x != nil {
		return x.Neighborhood
	}
	return ""
}

func (x *ContactAttachment_PostalAddress) GetCity() string {
	if x != nil {
		return x.City
	}
	return ""
}

func (x *ContactAttachment_PostalAddress) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *ContactAttachment_PostalAddress) GetPostcode() string {
	if x != nil {
		return x.Postcode
	}
	return ""
}

func (x *ContactAttachment_PostalAddress) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

type FilePointer_LocatorInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Must be non-empty if transitCdnKey or plaintextHash are set/nonempty.
	// Otherwise must be empty.
	Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Types that are valid to be assigned to IntegrityCheck:
	//
	//	*FilePointer_LocatorInfo_PlaintextHash
	//	*FilePointer_LocatorInfo_EncryptedDigest
	IntegrityCheck isFilePointer_LocatorInfo_IntegrityCheck `protobuf_oneof:"integrityCheck"`
	// NB: This is the plaintext size, and empty content attachments are legal, so this
	// may be zero even if transitCdnKey or mediaName are set/nonempty.
	Size uint32 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	// Either both transit cdn key and number are set or neither should be set.
	// Upload timestamp is optional but should only be set if key/number are set.
	TransitCdnKey              *string `protobuf:"bytes,4,opt,name=transitCdnKey,proto3,oneof" json:"transitCdnKey,omitempty"`
	TransitCdnNumber           *uint32 `protobuf:"varint,5,opt,name=transitCdnNumber,proto3,oneof" json:"transitCdnNumber,omitempty"`
	TransitTierUploadTimestamp *uint64 `protobuf:"varint,6,opt,name=transitTierUploadTimestamp,proto3,oneof" json:"transitTierUploadTimestamp,omitempty"`
	// If present, the cdn number of the succesful upload to media tier.
	// If unset, may still have been uploaded, and clients
	// can discover the cdn number via the list endpoint.
	// Exporting clients should set this as long as their subscription
	// has not rotated since last upload; even if currently free tier.
	MediaTierCdnNumber *uint32 `protobuf:"varint,7,opt,name=mediaTierCdnNumber,proto3,oneof" json:"mediaTierCdnNumber,omitempty"`
	// Separate key used to encrypt this file for the local backup.
	// Generally required for local backups.
	// Missing field indicates attachment was not available locally
	// when the backup was generated, but remote backup or transit
	// info was available.
	LocalKey      []byte `protobuf:"bytes,9,opt,name=localKey,proto3,oneof" json:"localKey,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FilePointer_LocatorInfo) Reset() {
	*x = FilePointer_LocatorInfo{}
	mi := &file_backuppb_Backup_proto_msgTypes[119]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FilePointer_LocatorInfo) ProtoMessage() {}

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

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

func (x *FilePointer_LocatorInfo) GetKey() []byte {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *FilePointer_LocatorInfo) GetIntegrityCheck() isFilePointer_LocatorInfo_IntegrityCheck {
	if x != nil {
		return x.IntegrityCheck
	}
	return nil
}

func (x *FilePointer_LocatorInfo) GetPlaintextHash() []byte {
	if x != nil {
		if x, ok := x.IntegrityCheck.(*FilePointer_LocatorInfo_PlaintextHash); ok {
			return x.PlaintextHash
		}
	}
	return nil
}

func (x *FilePointer_LocatorInfo) GetEncryptedDigest() []byte {
	if x != nil {
		if x, ok := x.IntegrityCheck.(*FilePointer_LocatorInfo_EncryptedDigest); ok {
			return x.EncryptedDigest
		}
	}
	return nil
}

func (x *FilePointer_LocatorInfo) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *FilePointer_LocatorInfo) GetTransitCdnKey() string {
	if x != nil && x.TransitCdnKey != nil {
		return *x.TransitCdnKey
	}
	return ""
}

func (x *FilePointer_LocatorInfo) GetTransitCdnNumber() uint32 {
	if x != nil && x.TransitCdnNumber != nil {
		return *x.TransitCdnNumber
	}
	return 0
}

func (x *FilePointer_LocatorInfo) GetTransitTierUploadTimestamp() uint64 {
	if x != nil && x.TransitTierUploadTimestamp != nil {
		return *x.TransitTierUploadTimestamp
	}
	return 0
}

func (x *FilePointer_LocatorInfo) GetMediaTierCdnNumber() uint32 {
	if x != nil && x.MediaTierCdnNumber != nil {
		return *x.MediaTierCdnNumber
	}
	return 0
}

func (x *FilePointer_LocatorInfo) GetLocalKey() []byte {
	if x != nil {
		return x.LocalKey
	}
	return nil
}

type isFilePointer_LocatorInfo_IntegrityCheck interface {
	isFilePointer_LocatorInfo_IntegrityCheck()
}

type FilePointer_LocatorInfo_PlaintextHash struct {
	// Set if file was at one point downloaded and its plaintextHash was calculated
	PlaintextHash []byte `protobuf:"bytes,10,opt,name=plaintextHash,proto3,oneof"`
}

type FilePointer_LocatorInfo_EncryptedDigest struct {
	// Set if file has not been downloaded so its integrity has not been verified
	// From the sender of the attachment
	EncryptedDigest []byte `protobuf:"bytes,11,opt,name=encryptedDigest,proto3,oneof"`
}

func (*FilePointer_LocatorInfo_PlaintextHash) isFilePointer_LocatorInfo_IntegrityCheck() {}

func (*FilePointer_LocatorInfo_EncryptedDigest) isFilePointer_LocatorInfo_IntegrityCheck() {}

type Quote_QuotedAttachment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ContentType   *string                `protobuf:"bytes,1,opt,name=contentType,proto3,oneof" json:"contentType,omitempty"`
	FileName      *string                `protobuf:"bytes,2,opt,name=fileName,proto3,oneof" json:"fileName,omitempty"`
	Thumbnail     *MessageAttachment     `protobuf:"bytes,3,opt,name=thumbnail,proto3,oneof" json:"thumbnail,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Quote_QuotedAttachment) Reset() {
	*x = Quote_QuotedAttachment{}
	mi := &file_backuppb_Backup_proto_msgTypes[120]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Quote_QuotedAttachment) ProtoMessage() {}

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

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

func (x *Quote_QuotedAttachment) GetContentType() string {
	if x != nil && x.ContentType != nil {
		return *x.ContentType
	}
	return ""
}

func (x *Quote_QuotedAttachment) GetFileName() string {
	if x != nil && x.FileName != nil {
		return *x.FileName
	}
	return ""
}

func (x *Quote_QuotedAttachment) GetThumbnail() *MessageAttachment {
	if x != nil {
		return x.Thumbnail
	}
	return nil
}

type Poll_PollOption struct {
	state         protoimpl.MessageState      `protogen:"open.v1"`
	Option        string                      `protobuf:"bytes,1,opt,name=option,proto3" json:"option,omitempty"` // Between 1-100 characters
	Votes         []*Poll_PollOption_PollVote `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Poll_PollOption) Reset() {
	*x = Poll_PollOption{}
	mi := &file_backuppb_Backup_proto_msgTypes[121]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Poll_PollOption) ProtoMessage() {}

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

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

func (x *Poll_PollOption) GetOption() string {
	if x != nil {
		return x.Option
	}
	return ""
}

func (x *Poll_PollOption) GetVotes() []*Poll_PollOption_PollVote {
	if x != nil {
		return x.Votes
	}
	return nil
}

type Poll_PollOption_PollVote struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VoterId       uint64                 `protobuf:"varint,1,opt,name=voterId,proto3" json:"voterId,omitempty"`     // A direct reference to Recipient proto id. Must be self or contact.
	VoteCount     uint32                 `protobuf:"varint,2,opt,name=voteCount,proto3" json:"voteCount,omitempty"` // Tracks how many times you voted.
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Poll_PollOption_PollVote) Reset() {
	*x = Poll_PollOption_PollVote{}
	mi := &file_backuppb_Backup_proto_msgTypes[122]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Poll_PollOption_PollVote) ProtoMessage() {}

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

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

func (x *Poll_PollOption_PollVote) GetVoterId() uint64 {
	if x != nil {
		return x.VoterId
	}
	return 0
}

func (x *Poll_PollOption_PollVote) GetVoteCount() uint32 {
	if x != nil {
		return x.VoteCount
	}
	return 0
}

type GroupChangeChatUpdate_Update struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If unset, importers should consider it to be a GenericGroupUpdate with unset updaterAci
	//
	// Types that are valid to be assigned to Update:
	//
	//	*GroupChangeChatUpdate_Update_GenericGroupUpdate
	//	*GroupChangeChatUpdate_Update_GroupCreationUpdate
	//	*GroupChangeChatUpdate_Update_GroupNameUpdate
	//	*GroupChangeChatUpdate_Update_GroupAvatarUpdate
	//	*GroupChangeChatUpdate_Update_GroupDescriptionUpdate
	//	*GroupChangeChatUpdate_Update_GroupMembershipAccessLevelChangeUpdate
	//	*GroupChangeChatUpdate_Update_GroupAttributesAccessLevelChangeUpdate
	//	*GroupChangeChatUpdate_Update_GroupAnnouncementOnlyChangeUpdate
	//	*GroupChangeChatUpdate_Update_GroupAdminStatusUpdate
	//	*GroupChangeChatUpdate_Update_GroupMemberLeftUpdate
	//	*GroupChangeChatUpdate_Update_GroupMemberRemovedUpdate
	//	*GroupChangeChatUpdate_Update_SelfInvitedToGroupUpdate
	//	*GroupChangeChatUpdate_Update_SelfInvitedOtherUserToGroupUpdate
	//	*GroupChangeChatUpdate_Update_GroupUnknownInviteeUpdate
	//	*GroupChangeChatUpdate_Update_GroupInvitationAcceptedUpdate
	//	*GroupChangeChatUpdate_Update_GroupInvitationDeclinedUpdate
	//	*GroupChangeChatUpdate_Update_GroupMemberJoinedUpdate
	//	*GroupChangeChatUpdate_Update_GroupMemberAddedUpdate
	//	*GroupChangeChatUpdate_Update_GroupSelfInvitationRevokedUpdate
	//	*GroupChangeChatUpdate_Update_GroupInvitationRevokedUpdate
	//	*GroupChangeChatUpdate_Update_GroupJoinRequestUpdate
	//	*GroupChangeChatUpdate_Update_GroupJoinRequestApprovalUpdate
	//	*GroupChangeChatUpdate_Update_GroupJoinRequestCanceledUpdate
	//	*GroupChangeChatUpdate_Update_GroupInviteLinkResetUpdate
	//	*GroupChangeChatUpdate_Update_GroupInviteLinkEnabledUpdate
	//	*GroupChangeChatUpdate_Update_GroupInviteLinkAdminApprovalUpdate
	//	*GroupChangeChatUpdate_Update_GroupInviteLinkDisabledUpdate
	//	*GroupChangeChatUpdate_Update_GroupMemberJoinedByLinkUpdate
	//	*GroupChangeChatUpdate_Update_GroupV2MigrationUpdate
	//	*GroupChangeChatUpdate_Update_GroupV2MigrationSelfInvitedUpdate
	//	*GroupChangeChatUpdate_Update_GroupV2MigrationInvitedMembersUpdate
	//	*GroupChangeChatUpdate_Update_GroupV2MigrationDroppedMembersUpdate
	//	*GroupChangeChatUpdate_Update_GroupSequenceOfRequestsAndCancelsUpdate
	//	*GroupChangeChatUpdate_Update_GroupExpirationTimerUpdate
	Update        isGroupChangeChatUpdate_Update_Update `protobuf_oneof:"update"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupChangeChatUpdate_Update) Reset() {
	*x = GroupChangeChatUpdate_Update{}
	mi := &file_backuppb_Backup_proto_msgTypes[123]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupChangeChatUpdate_Update) ProtoMessage() {}

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

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

func (x *GroupChangeChatUpdate_Update) GetUpdate() isGroupChangeChatUpdate_Update_Update {
	if x != nil {
		return x.Update
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGenericGroupUpdate() *GenericGroupUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GenericGroupUpdate); ok {
			return x.GenericGroupUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupCreationUpdate() *GroupCreationUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupCreationUpdate); ok {
			return x.GroupCreationUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupNameUpdate() *GroupNameUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupNameUpdate); ok {
			return x.GroupNameUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupAvatarUpdate() *GroupAvatarUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupAvatarUpdate); ok {
			return x.GroupAvatarUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupDescriptionUpdate() *GroupDescriptionUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupDescriptionUpdate); ok {
			return x.GroupDescriptionUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupMembershipAccessLevelChangeUpdate() *GroupMembershipAccessLevelChangeUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupMembershipAccessLevelChangeUpdate); ok {
			return x.GroupMembershipAccessLevelChangeUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupAttributesAccessLevelChangeUpdate() *GroupAttributesAccessLevelChangeUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupAttributesAccessLevelChangeUpdate); ok {
			return x.GroupAttributesAccessLevelChangeUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupAnnouncementOnlyChangeUpdate() *GroupAnnouncementOnlyChangeUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupAnnouncementOnlyChangeUpdate); ok {
			return x.GroupAnnouncementOnlyChangeUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupAdminStatusUpdate() *GroupAdminStatusUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupAdminStatusUpdate); ok {
			return x.GroupAdminStatusUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupMemberLeftUpdate() *GroupMemberLeftUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupMemberLeftUpdate); ok {
			return x.GroupMemberLeftUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupMemberRemovedUpdate() *GroupMemberRemovedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupMemberRemovedUpdate); ok {
			return x.GroupMemberRemovedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetSelfInvitedToGroupUpdate() *SelfInvitedToGroupUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_SelfInvitedToGroupUpdate); ok {
			return x.SelfInvitedToGroupUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetSelfInvitedOtherUserToGroupUpdate() *SelfInvitedOtherUserToGroupUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_SelfInvitedOtherUserToGroupUpdate); ok {
			return x.SelfInvitedOtherUserToGroupUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupUnknownInviteeUpdate() *GroupUnknownInviteeUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupUnknownInviteeUpdate); ok {
			return x.GroupUnknownInviteeUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupInvitationAcceptedUpdate() *GroupInvitationAcceptedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupInvitationAcceptedUpdate); ok {
			return x.GroupInvitationAcceptedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupInvitationDeclinedUpdate() *GroupInvitationDeclinedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupInvitationDeclinedUpdate); ok {
			return x.GroupInvitationDeclinedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupMemberJoinedUpdate() *GroupMemberJoinedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupMemberJoinedUpdate); ok {
			return x.GroupMemberJoinedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupMemberAddedUpdate() *GroupMemberAddedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupMemberAddedUpdate); ok {
			return x.GroupMemberAddedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupSelfInvitationRevokedUpdate() *GroupSelfInvitationRevokedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupSelfInvitationRevokedUpdate); ok {
			return x.GroupSelfInvitationRevokedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupInvitationRevokedUpdate() *GroupInvitationRevokedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupInvitationRevokedUpdate); ok {
			return x.GroupInvitationRevokedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupJoinRequestUpdate() *GroupJoinRequestUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupJoinRequestUpdate); ok {
			return x.GroupJoinRequestUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupJoinRequestApprovalUpdate() *GroupJoinRequestApprovalUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupJoinRequestApprovalUpdate); ok {
			return x.GroupJoinRequestApprovalUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupJoinRequestCanceledUpdate() *GroupJoinRequestCanceledUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupJoinRequestCanceledUpdate); ok {
			return x.GroupJoinRequestCanceledUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupInviteLinkResetUpdate() *GroupInviteLinkResetUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupInviteLinkResetUpdate); ok {
			return x.GroupInviteLinkResetUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupInviteLinkEnabledUpdate() *GroupInviteLinkEnabledUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupInviteLinkEnabledUpdate); ok {
			return x.GroupInviteLinkEnabledUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupInviteLinkAdminApprovalUpdate() *GroupInviteLinkAdminApprovalUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupInviteLinkAdminApprovalUpdate); ok {
			return x.GroupInviteLinkAdminApprovalUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupInviteLinkDisabledUpdate() *GroupInviteLinkDisabledUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupInviteLinkDisabledUpdate); ok {
			return x.GroupInviteLinkDisabledUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupMemberJoinedByLinkUpdate() *GroupMemberJoinedByLinkUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupMemberJoinedByLinkUpdate); ok {
			return x.GroupMemberJoinedByLinkUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupV2MigrationUpdate() *GroupV2MigrationUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupV2MigrationUpdate); ok {
			return x.GroupV2MigrationUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupV2MigrationSelfInvitedUpdate() *GroupV2MigrationSelfInvitedUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupV2MigrationSelfInvitedUpdate); ok {
			return x.GroupV2MigrationSelfInvitedUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupV2MigrationInvitedMembersUpdate() *GroupV2MigrationInvitedMembersUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupV2MigrationInvitedMembersUpdate); ok {
			return x.GroupV2MigrationInvitedMembersUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupV2MigrationDroppedMembersUpdate() *GroupV2MigrationDroppedMembersUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupV2MigrationDroppedMembersUpdate); ok {
			return x.GroupV2MigrationDroppedMembersUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupSequenceOfRequestsAndCancelsUpdate() *GroupSequenceOfRequestsAndCancelsUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupSequenceOfRequestsAndCancelsUpdate); ok {
			return x.GroupSequenceOfRequestsAndCancelsUpdate
		}
	}
	return nil
}

func (x *GroupChangeChatUpdate_Update) GetGroupExpirationTimerUpdate() *GroupExpirationTimerUpdate {
	if x != nil {
		if x, ok := x.Update.(*GroupChangeChatUpdate_Update_GroupExpirationTimerUpdate); ok {
			return x.GroupExpirationTimerUpdate
		}
	}
	return nil
}

type isGroupChangeChatUpdate_Update_Update interface {
	isGroupChangeChatUpdate_Update_Update()
}

type GroupChangeChatUpdate_Update_GenericGroupUpdate struct {
	GenericGroupUpdate *GenericGroupUpdate `protobuf:"bytes,1,opt,name=genericGroupUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupCreationUpdate struct {
	GroupCreationUpdate *GroupCreationUpdate `protobuf:"bytes,2,opt,name=groupCreationUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupNameUpdate struct {
	GroupNameUpdate *GroupNameUpdate `protobuf:"bytes,3,opt,name=groupNameUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupAvatarUpdate struct {
	GroupAvatarUpdate *GroupAvatarUpdate `protobuf:"bytes,4,opt,name=groupAvatarUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupDescriptionUpdate struct {
	GroupDescriptionUpdate *GroupDescriptionUpdate `protobuf:"bytes,5,opt,name=groupDescriptionUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupMembershipAccessLevelChangeUpdate struct {
	GroupMembershipAccessLevelChangeUpdate *GroupMembershipAccessLevelChangeUpdate `protobuf:"bytes,6,opt,name=groupMembershipAccessLevelChangeUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupAttributesAccessLevelChangeUpdate struct {
	GroupAttributesAccessLevelChangeUpdate *GroupAttributesAccessLevelChangeUpdate `protobuf:"bytes,7,opt,name=groupAttributesAccessLevelChangeUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupAnnouncementOnlyChangeUpdate struct {
	GroupAnnouncementOnlyChangeUpdate *GroupAnnouncementOnlyChangeUpdate `protobuf:"bytes,8,opt,name=groupAnnouncementOnlyChangeUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupAdminStatusUpdate struct {
	GroupAdminStatusUpdate *GroupAdminStatusUpdate `protobuf:"bytes,9,opt,name=groupAdminStatusUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupMemberLeftUpdate struct {
	GroupMemberLeftUpdate *GroupMemberLeftUpdate `protobuf:"bytes,10,opt,name=groupMemberLeftUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupMemberRemovedUpdate struct {
	GroupMemberRemovedUpdate *GroupMemberRemovedUpdate `protobuf:"bytes,11,opt,name=groupMemberRemovedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_SelfInvitedToGroupUpdate struct {
	SelfInvitedToGroupUpdate *SelfInvitedToGroupUpdate `protobuf:"bytes,12,opt,name=selfInvitedToGroupUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_SelfInvitedOtherUserToGroupUpdate struct {
	SelfInvitedOtherUserToGroupUpdate *SelfInvitedOtherUserToGroupUpdate `protobuf:"bytes,13,opt,name=selfInvitedOtherUserToGroupUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupUnknownInviteeUpdate struct {
	GroupUnknownInviteeUpdate *GroupUnknownInviteeUpdate `protobuf:"bytes,14,opt,name=groupUnknownInviteeUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupInvitationAcceptedUpdate struct {
	GroupInvitationAcceptedUpdate *GroupInvitationAcceptedUpdate `protobuf:"bytes,15,opt,name=groupInvitationAcceptedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupInvitationDeclinedUpdate struct {
	GroupInvitationDeclinedUpdate *GroupInvitationDeclinedUpdate `protobuf:"bytes,16,opt,name=groupInvitationDeclinedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupMemberJoinedUpdate struct {
	GroupMemberJoinedUpdate *GroupMemberJoinedUpdate `protobuf:"bytes,17,opt,name=groupMemberJoinedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupMemberAddedUpdate struct {
	GroupMemberAddedUpdate *GroupMemberAddedUpdate `protobuf:"bytes,18,opt,name=groupMemberAddedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupSelfInvitationRevokedUpdate struct {
	GroupSelfInvitationRevokedUpdate *GroupSelfInvitationRevokedUpdate `protobuf:"bytes,19,opt,name=groupSelfInvitationRevokedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupInvitationRevokedUpdate struct {
	GroupInvitationRevokedUpdate *GroupInvitationRevokedUpdate `protobuf:"bytes,20,opt,name=groupInvitationRevokedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupJoinRequestUpdate struct {
	GroupJoinRequestUpdate *GroupJoinRequestUpdate `protobuf:"bytes,21,opt,name=groupJoinRequestUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupJoinRequestApprovalUpdate struct {
	GroupJoinRequestApprovalUpdate *GroupJoinRequestApprovalUpdate `protobuf:"bytes,22,opt,name=groupJoinRequestApprovalUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupJoinRequestCanceledUpdate struct {
	GroupJoinRequestCanceledUpdate *GroupJoinRequestCanceledUpdate `protobuf:"bytes,23,opt,name=groupJoinRequestCanceledUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupInviteLinkResetUpdate struct {
	GroupInviteLinkResetUpdate *GroupInviteLinkResetUpdate `protobuf:"bytes,24,opt,name=groupInviteLinkResetUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupInviteLinkEnabledUpdate struct {
	GroupInviteLinkEnabledUpdate *GroupInviteLinkEnabledUpdate `protobuf:"bytes,25,opt,name=groupInviteLinkEnabledUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupInviteLinkAdminApprovalUpdate struct {
	GroupInviteLinkAdminApprovalUpdate *GroupInviteLinkAdminApprovalUpdate `protobuf:"bytes,26,opt,name=groupInviteLinkAdminApprovalUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupInviteLinkDisabledUpdate struct {
	GroupInviteLinkDisabledUpdate *GroupInviteLinkDisabledUpdate `protobuf:"bytes,27,opt,name=groupInviteLinkDisabledUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupMemberJoinedByLinkUpdate struct {
	GroupMemberJoinedByLinkUpdate *GroupMemberJoinedByLinkUpdate `protobuf:"bytes,28,opt,name=groupMemberJoinedByLinkUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupV2MigrationUpdate struct {
	GroupV2MigrationUpdate *GroupV2MigrationUpdate `protobuf:"bytes,29,opt,name=groupV2MigrationUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupV2MigrationSelfInvitedUpdate struct {
	GroupV2MigrationSelfInvitedUpdate *GroupV2MigrationSelfInvitedUpdate `protobuf:"bytes,30,opt,name=groupV2MigrationSelfInvitedUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupV2MigrationInvitedMembersUpdate struct {
	GroupV2MigrationInvitedMembersUpdate *GroupV2MigrationInvitedMembersUpdate `protobuf:"bytes,31,opt,name=groupV2MigrationInvitedMembersUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupV2MigrationDroppedMembersUpdate struct {
	GroupV2MigrationDroppedMembersUpdate *GroupV2MigrationDroppedMembersUpdate `protobuf:"bytes,32,opt,name=groupV2MigrationDroppedMembersUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupSequenceOfRequestsAndCancelsUpdate struct {
	GroupSequenceOfRequestsAndCancelsUpdate *GroupSequenceOfRequestsAndCancelsUpdate `protobuf:"bytes,33,opt,name=groupSequenceOfRequestsAndCancelsUpdate,proto3,oneof"`
}

type GroupChangeChatUpdate_Update_GroupExpirationTimerUpdate struct {
	GroupExpirationTimerUpdate *GroupExpirationTimerUpdate `protobuf:"bytes,34,opt,name=groupExpirationTimerUpdate,proto3,oneof"`
}

func (*GroupChangeChatUpdate_Update_GenericGroupUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupCreationUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupNameUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupAvatarUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupDescriptionUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupMembershipAccessLevelChangeUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupAttributesAccessLevelChangeUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupAnnouncementOnlyChangeUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupAdminStatusUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupMemberLeftUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupMemberRemovedUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_SelfInvitedToGroupUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_SelfInvitedOtherUserToGroupUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupUnknownInviteeUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupInvitationAcceptedUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupInvitationDeclinedUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupMemberJoinedUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupMemberAddedUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupSelfInvitationRevokedUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupInvitationRevokedUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupJoinRequestUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupJoinRequestApprovalUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupJoinRequestCanceledUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupInviteLinkResetUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupInviteLinkEnabledUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupInviteLinkAdminApprovalUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupInviteLinkDisabledUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupMemberJoinedByLinkUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupV2MigrationUpdate) isGroupChangeChatUpdate_Update_Update() {}

func (*GroupChangeChatUpdate_Update_GroupV2MigrationSelfInvitedUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupV2MigrationInvitedMembersUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupV2MigrationDroppedMembersUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupSequenceOfRequestsAndCancelsUpdate) isGroupChangeChatUpdate_Update_Update() {
}

func (*GroupChangeChatUpdate_Update_GroupExpirationTimerUpdate) isGroupChangeChatUpdate_Update_Update() {
}

type GroupInvitationRevokedUpdate_Invitee struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	InviterAci []byte                 `protobuf:"bytes,1,opt,name=inviterAci,proto3,oneof" json:"inviterAci,omitempty"`
	// Prefer to use aci over pni. No need to set
	// pni if aci is set. Both can be missing.
	InviteeAci    []byte `protobuf:"bytes,2,opt,name=inviteeAci,proto3,oneof" json:"inviteeAci,omitempty"`
	InviteePni    []byte `protobuf:"bytes,3,opt,name=inviteePni,proto3,oneof" json:"inviteePni,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GroupInvitationRevokedUpdate_Invitee) Reset() {
	*x = GroupInvitationRevokedUpdate_Invitee{}
	mi := &file_backuppb_Backup_proto_msgTypes[124]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GroupInvitationRevokedUpdate_Invitee) ProtoMessage() {}

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

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

func (x *GroupInvitationRevokedUpdate_Invitee) GetInviterAci() []byte {
	if x != nil {
		return x.InviterAci
	}
	return nil
}

func (x *GroupInvitationRevokedUpdate_Invitee) GetInviteeAci() []byte {
	if x != nil {
		return x.InviteeAci
	}
	return nil
}

func (x *GroupInvitationRevokedUpdate_Invitee) GetInviteePni() []byte {
	if x != nil {
		return x.InviteePni
	}
	return nil
}

type ChatStyle_Gradient struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Angle         uint32                 `protobuf:"varint,1,opt,name=angle,proto3" json:"angle,omitempty"`                 // degrees
	Colors        []uint32               `protobuf:"fixed32,2,rep,packed,name=colors,proto3" json:"colors,omitempty"`       // 0xAARRGGBB
	Positions     []float32              `protobuf:"fixed32,3,rep,packed,name=positions,proto3" json:"positions,omitempty"` // percent from 0 to 1
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatStyle_Gradient) Reset() {
	*x = ChatStyle_Gradient{}
	mi := &file_backuppb_Backup_proto_msgTypes[125]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatStyle_Gradient) ProtoMessage() {}

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

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

func (x *ChatStyle_Gradient) GetAngle() uint32 {
	if x != nil {
		return x.Angle
	}
	return 0
}

func (x *ChatStyle_Gradient) GetColors() []uint32 {
	if x != nil {
		return x.Colors
	}
	return nil
}

func (x *ChatStyle_Gradient) GetPositions() []float32 {
	if x != nil {
		return x.Positions
	}
	return nil
}

type ChatStyle_CustomChatColor struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// If unset, use the default chat color
	//
	// Types that are valid to be assigned to Color:
	//
	//	*ChatStyle_CustomChatColor_Solid
	//	*ChatStyle_CustomChatColor_Gradient
	Color         isChatStyle_CustomChatColor_Color `protobuf_oneof:"color"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatStyle_CustomChatColor) Reset() {
	*x = ChatStyle_CustomChatColor{}
	mi := &file_backuppb_Backup_proto_msgTypes[126]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatStyle_CustomChatColor) ProtoMessage() {}

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

// Deprecated: Use ChatStyle_CustomChatColor.ProtoReflect.Descriptor instead.
func (*ChatStyle_CustomChatColor) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{80, 1}
}

func (x *ChatStyle_CustomChatColor) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ChatStyle_CustomChatColor) GetColor() isChatStyle_CustomChatColor_Color {
	if x != nil {
		return x.Color
	}
	return nil
}

func (x *ChatStyle_CustomChatColor) GetSolid() uint32 {
	if x != nil {
		if x, ok := x.Color.(*ChatStyle_CustomChatColor_Solid); ok {
			return x.Solid
		}
	}
	return 0
}

func (x *ChatStyle_CustomChatColor) GetGradient() *ChatStyle_Gradient {
	if x != nil {
		if x, ok := x.Color.(*ChatStyle_CustomChatColor_Gradient); ok {
			return x.Gradient
		}
	}
	return nil
}

type isChatStyle_CustomChatColor_Color interface {
	isChatStyle_CustomChatColor_Color()
}

type ChatStyle_CustomChatColor_Solid struct {
	Solid uint32 `protobuf:"fixed32,2,opt,name=solid,proto3,oneof"` // 0xAARRGGBB
}

type ChatStyle_CustomChatColor_Gradient struct {
	Gradient *ChatStyle_Gradient `protobuf:"bytes,3,opt,name=gradient,proto3,oneof"`
}

func (*ChatStyle_CustomChatColor_Solid) isChatStyle_CustomChatColor_Color() {}

func (*ChatStyle_CustomChatColor_Gradient) isChatStyle_CustomChatColor_Color() {}

type ChatStyle_AutomaticBubbleColor struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChatStyle_AutomaticBubbleColor) Reset() {
	*x = ChatStyle_AutomaticBubbleColor{}
	mi := &file_backuppb_Backup_proto_msgTypes[127]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChatStyle_AutomaticBubbleColor) ProtoMessage() {}

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

// Deprecated: Use ChatStyle_AutomaticBubbleColor.ProtoReflect.Descriptor instead.
func (*ChatStyle_AutomaticBubbleColor) Descriptor() ([]byte, []int) {
	return file_backuppb_Backup_proto_rawDescGZIP(), []int{80, 2}
}

var File_backuppb_Backup_proto protoreflect.FileDescriptor

const file_backuppb_Backup_proto_rawDesc = "" +
	"\n" +
	"\x15backuppb/Backup.proto\x12\rsignal.backup\"\xf0\x01\n" +
	"\n" +
	"BackupInfo\x12\x18\n" +
	"\aversion\x18\x01 \x01(\x04R\aversion\x12\"\n" +
	"\fbackupTimeMs\x18\x02 \x01(\x04R\fbackupTimeMs\x12.\n" +
	"\x12mediaRootBackupKey\x18\x03 \x01(\fR\x12mediaRootBackupKey\x12,\n" +
	"\x11currentAppVersion\x18\x04 \x01(\tR\x11currentAppVersion\x12(\n" +
	"\x0ffirstAppVersion\x18\x05 \x01(\tR\x0ffirstAppVersion\x12\x1c\n" +
	"\tdebugInfo\x18\x06 \x01(\fR\tdebugInfo\"\xf2\x03\n" +
	"\x05Frame\x126\n" +
	"\aaccount\x18\x01 \x01(\v2\x1a.signal.backup.AccountDataH\x00R\aaccount\x128\n" +
	"\trecipient\x18\x02 \x01(\v2\x18.signal.backup.RecipientH\x00R\trecipient\x12)\n" +
	"\x04chat\x18\x03 \x01(\v2\x13.signal.backup.ChatH\x00R\x04chat\x125\n" +
	"\bchatItem\x18\x04 \x01(\v2\x17.signal.backup.ChatItemH\x00R\bchatItem\x12>\n" +
	"\vstickerPack\x18\x05 \x01(\v2\x1a.signal.backup.StickerPackH\x00R\vstickerPack\x128\n" +
	"\tadHocCall\x18\x06 \x01(\v2\x18.signal.backup.AdHocCallH\x00R\tadHocCall\x12V\n" +
	"\x13notificationProfile\x18\a \x01(\v2\".signal.backup.NotificationProfileH\x00R\x13notificationProfile\x12;\n" +
	"\n" +
	"chatFolder\x18\b \x01(\v2\x19.signal.backup.ChatFolderH\x00R\n" +
	"chatFolderB\x06\n" +
	"\x04item\"\xf9\"\n" +
	"\vAccountData\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x01 \x01(\fR\n" +
	"profileKey\x12\x1f\n" +
	"\busername\x18\x02 \x01(\tH\x00R\busername\x88\x01\x01\x12K\n" +
	"\fusernameLink\x18\x03 \x01(\v2'.signal.backup.AccountData.UsernameLinkR\fusernameLink\x12\x1c\n" +
	"\tgivenName\x18\x04 \x01(\tR\tgivenName\x12\x1e\n" +
	"\n" +
	"familyName\x18\x05 \x01(\tR\n" +
	"familyName\x12$\n" +
	"\ravatarUrlPath\x18\x06 \x01(\tR\ravatarUrlPath\x12a\n" +
	"\x16donationSubscriberData\x18\a \x01(\v2).signal.backup.AccountData.SubscriberDataR\x16donationSubscriberData\x12T\n" +
	"\x0faccountSettings\x18\t \x01(\v2*.signal.backup.AccountData.AccountSettingsR\x0faccountSettings\x12b\n" +
	"\x15backupsSubscriberData\x18\n" +
	" \x01(\v2,.signal.backup.AccountData.IAPSubscriberDataR\x15backupsSubscriberData\x12\x16\n" +
	"\x06svrPin\x18\v \x01(\tR\x06svrPin\x12l\n" +
	"\x17androidSpecificSettings\x18\f \x01(\v22.signal.backup.AccountData.AndroidSpecificSettingsR\x17androidSpecificSettings\x12\x18\n" +
	"\abioText\x18\r \x01(\tR\abioText\x12\x1a\n" +
	"\bbioEmoji\x18\x0e \x01(\tR\bbioEmoji\x125\n" +
	"\x13keyTransparencyData\x18\x0f \x01(\fH\x01R\x13keyTransparencyData\x88\x01\x01\x1a\xf6\x01\n" +
	"\fUsernameLink\x12\x18\n" +
	"\aentropy\x18\x01 \x01(\fR\aentropy\x12\x1a\n" +
	"\bserverId\x18\x02 \x01(\fR\bserverId\x12C\n" +
	"\x05color\x18\x03 \x01(\x0e2-.signal.backup.AccountData.UsernameLink.ColorR\x05color\"k\n" +
	"\x05Color\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\b\n" +
	"\x04BLUE\x10\x01\x12\t\n" +
	"\x05WHITE\x10\x02\x12\b\n" +
	"\x04GREY\x10\x03\x12\t\n" +
	"\x05OLIVE\x10\x04\x12\t\n" +
	"\x05GREEN\x10\x05\x12\n" +
	"\n" +
	"\x06ORANGE\x10\x06\x12\b\n" +
	"\x04PINK\x10\a\x12\n" +
	"\n" +
	"\x06PURPLE\x10\b\x1a\xd7\x03\n" +
	"\x14AutoDownloadSettings\x12Z\n" +
	"\x06images\x18\x01 \x01(\x0e2B.signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOptionR\x06images\x12X\n" +
	"\x05audio\x18\x02 \x01(\x0e2B.signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOptionR\x05audio\x12X\n" +
	"\x05video\x18\x03 \x01(\x0e2B.signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOptionR\x05video\x12`\n" +
	"\tdocuments\x18\x04 \x01(\x0e2B.signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOptionR\tdocuments\"M\n" +
	"\x12AutoDownloadOption\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\t\n" +
	"\x05NEVER\x10\x01\x12\b\n" +
	"\x04WIFI\x10\x02\x12\x15\n" +
	"\x11WIFI_AND_CELLULAR\x10\x03\x1a\xc9\x0f\n" +
	"\x0fAccountSettings\x12\"\n" +
	"\freadReceipts\x18\x01 \x01(\bR\freadReceipts\x126\n" +
	"\x16sealedSenderIndicators\x18\x02 \x01(\bR\x16sealedSenderIndicators\x12*\n" +
	"\x10typingIndicators\x18\x03 \x01(\bR\x10typingIndicators\x12\"\n" +
	"\flinkPreviews\x18\x04 \x01(\bR\flinkPreviews\x12B\n" +
	"\x1cnotDiscoverableByPhoneNumber\x18\x05 \x01(\bR\x1cnotDiscoverableByPhoneNumber\x122\n" +
	"\x14preferContactAvatars\x18\x06 \x01(\bR\x14preferContactAvatars\x12@\n" +
	"\x1buniversalExpireTimerSeconds\x18\a \x01(\rR\x1buniversalExpireTimerSeconds\x126\n" +
	"\x16preferredReactionEmoji\x18\b \x03(\tR\x16preferredReactionEmoji\x126\n" +
	"\x16displayBadgesOnProfile\x18\t \x01(\bR\x16displayBadgesOnProfile\x126\n" +
	"\x16keepMutedChatsArchived\x18\n" +
	" \x01(\bR\x16keepMutedChatsArchived\x126\n" +
	"\x16hasSetMyStoriesPrivacy\x18\v \x01(\bR\x16hasSetMyStoriesPrivacy\x12:\n" +
	"\x18hasViewedOnboardingStory\x18\f \x01(\bR\x18hasViewedOnboardingStory\x12(\n" +
	"\x0fstoriesDisabled\x18\r \x01(\bR\x0fstoriesDisabled\x12?\n" +
	"\x18storyViewReceiptsEnabled\x18\x0e \x01(\bH\x00R\x18storyViewReceiptsEnabled\x88\x01\x01\x12H\n" +
	"\x1fhasSeenGroupStoryEducationSheet\x18\x0f \x01(\bR\x1fhasSeenGroupStoryEducationSheet\x12F\n" +
	"\x1ehasCompletedUsernameOnboarding\x18\x10 \x01(\bR\x1ehasCompletedUsernameOnboarding\x12i\n" +
	"\x16phoneNumberSharingMode\x18\x11 \x01(\x0e21.signal.backup.AccountData.PhoneNumberSharingModeR\x16phoneNumberSharingMode\x12D\n" +
	"\x10defaultChatStyle\x18\x12 \x01(\v2\x18.signal.backup.ChatStyleR\x10defaultChatStyle\x12T\n" +
	"\x10customChatColors\x18\x13 \x03(\v2(.signal.backup.ChatStyle.CustomChatColorR\x10customChatColors\x128\n" +
	"\x17optimizeOnDeviceStorage\x18\x14 \x01(\bR\x17optimizeOnDeviceStorage\x12#\n" +
	"\n" +
	"backupTier\x18\x15 \x01(\x04H\x01R\n" +
	"backupTier\x88\x01\x01\x12e\n" +
	"\x17defaultSentMediaQuality\x18\x17 \x01(\x0e2+.signal.backup.AccountData.SentMediaQualityR\x17defaultSentMediaQuality\x12c\n" +
	"\x14autoDownloadSettings\x18\x18 \x01(\v2/.signal.backup.AccountData.AutoDownloadSettingsR\x14autoDownloadSettings\x12?\n" +
	"\x18screenLockTimeoutMinutes\x18\x1a \x01(\rH\x02R\x18screenLockTimeoutMinutes\x88\x01\x01\x12'\n" +
	"\fpinReminders\x18\x1b \x01(\bH\x03R\fpinReminders\x88\x01\x01\x12?\n" +
	"\bappTheme\x18\x1c \x01(\x0e2#.signal.backup.AccountData.AppThemeR\bappTheme\x12l\n" +
	"\x17callsUseLessDataSetting\x18\x1d \x01(\x0e22.signal.backup.AccountData.CallsUseLessDataSettingR\x17callsUseLessDataSetting\x12@\n" +
	"\x1ballowSealedSenderFromAnyone\x18\x1e \x01(\bR\x1ballowSealedSenderFromAnyone\x12D\n" +
	"\x1dallowAutomaticKeyVerification\x18\x1f \x01(\bR\x1dallowAutomaticKeyVerificationB\x1b\n" +
	"\x19_storyViewReceiptsEnabledB\r\n" +
	"\v_backupTierB\x1b\n" +
	"\x19_screenLockTimeoutMinutesB\x0f\n" +
	"\r_pinRemindersJ\x04\b\x16\x10\x17J\x04\b\x19\x10\x1a\x1a\x86\x01\n" +
	"\x0eSubscriberData\x12\"\n" +
	"\fsubscriberId\x18\x01 \x01(\fR\fsubscriberId\x12\"\n" +
	"\fcurrencyCode\x18\x02 \x01(\tR\fcurrencyCode\x12,\n" +
	"\x11manuallyCancelled\x18\x03 \x01(\bR\x11manuallyCancelled\x1a\xac\x01\n" +
	"\x11IAPSubscriberData\x12\"\n" +
	"\fsubscriberId\x18\x01 \x01(\fR\fsubscriberId\x12&\n" +
	"\rpurchaseToken\x18\x02 \x01(\tH\x00R\rpurchaseToken\x126\n" +
	"\x15originalTransactionId\x18\x03 \x01(\x04H\x00R\x15originalTransactionIdB\x13\n" +
	"\x11iapSubscriptionId\x1a\xa9\x02\n" +
	"\x17AndroidSpecificSettings\x12&\n" +
	"\x0euseSystemEmoji\x18\x01 \x01(\bR\x0euseSystemEmoji\x12.\n" +
	"\x12screenshotSecurity\x18\x02 \x01(\bR\x12screenshotSecurity\x12r\n" +
	"\x11navigationBarSize\x18\x03 \x01(\x0e2D.signal.backup.AccountData.AndroidSpecificSettings.NavigationBarSizeR\x11navigationBarSize\"B\n" +
	"\x11NavigationBarSize\x12\x14\n" +
	"\x10UNKNOWN_BAR_SIZE\x10\x00\x12\n" +
	"\n" +
	"\x06NORMAL\x10\x01\x12\v\n" +
	"\aCOMPACT\x10\x02\"@\n" +
	"\x16PhoneNumberSharingMode\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\r\n" +
	"\tEVERYBODY\x10\x01\x12\n" +
	"\n" +
	"\x06NOBODY\x10\x02\"?\n" +
	"\x10SentMediaQuality\x12\x13\n" +
	"\x0fUNKNOWN_QUALITY\x10\x00\x12\f\n" +
	"\bSTANDARD\x10\x01\x12\b\n" +
	"\x04HIGH\x10\x02\"B\n" +
	"\bAppTheme\x12\x15\n" +
	"\x11UNKNOWN_APP_THEME\x10\x00\x12\n" +
	"\n" +
	"\x06SYSTEM\x10\x01\x12\t\n" +
	"\x05LIGHT\x10\x02\x12\b\n" +
	"\x04DARK\x10\x03\"s\n" +
	"\x17CallsUseLessDataSetting\x12\x1d\n" +
	"\x19UNKNOWN_CALL_DATA_SETTING\x10\x00\x12\t\n" +
	"\x05NEVER\x10\x01\x12\x14\n" +
	"\x10MOBILE_DATA_ONLY\x10\x02\x12\x18\n" +
	"\x14WIFI_AND_MOBILE_DATA\x10\x03B\v\n" +
	"\t_usernameB\x16\n" +
	"\x14_keyTransparencyDataJ\x04\b\b\x10\t\"\x84\x03\n" +
	"\tRecipient\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x04R\x02id\x122\n" +
	"\acontact\x18\x02 \x01(\v2\x16.signal.backup.ContactH\x00R\acontact\x12,\n" +
	"\x05group\x18\x03 \x01(\v2\x14.signal.backup.GroupH\x00R\x05group\x12Q\n" +
	"\x10distributionList\x18\x04 \x01(\v2#.signal.backup.DistributionListItemH\x00R\x10distributionList\x12)\n" +
	"\x04self\x18\x05 \x01(\v2\x13.signal.backup.SelfH\x00R\x04self\x12A\n" +
	"\freleaseNotes\x18\x06 \x01(\v2\x1b.signal.backup.ReleaseNotesH\x00R\freleaseNotes\x125\n" +
	"\bcallLink\x18\a \x01(\v2\x17.signal.backup.CallLinkH\x00R\bcallLinkB\r\n" +
	"\vdestination\"\x9a\v\n" +
	"\aContact\x12\x15\n" +
	"\x03aci\x18\x01 \x01(\fH\x01R\x03aci\x88\x01\x01\x12\x15\n" +
	"\x03pni\x18\x02 \x01(\fH\x02R\x03pni\x88\x01\x01\x12\x1f\n" +
	"\busername\x18\x03 \x01(\tH\x03R\busername\x88\x01\x01\x12\x17\n" +
	"\x04e164\x18\x04 \x01(\x04H\x04R\x04e164\x88\x01\x01\x12\x18\n" +
	"\ablocked\x18\x05 \x01(\bR\ablocked\x12A\n" +
	"\n" +
	"visibility\x18\x06 \x01(\x0e2!.signal.backup.Contact.VisibilityR\n" +
	"visibility\x12C\n" +
	"\n" +
	"registered\x18\a \x01(\v2!.signal.backup.Contact.RegisteredH\x00R\n" +
	"registered\x12L\n" +
	"\rnotRegistered\x18\b \x01(\v2$.signal.backup.Contact.NotRegisteredH\x00R\rnotRegistered\x12#\n" +
	"\n" +
	"profileKey\x18\t \x01(\fH\x05R\n" +
	"profileKey\x88\x01\x01\x12&\n" +
	"\x0eprofileSharing\x18\n" +
	" \x01(\bR\x0eprofileSharing\x12/\n" +
	"\x10profileGivenName\x18\v \x01(\tH\x06R\x10profileGivenName\x88\x01\x01\x121\n" +
	"\x11profileFamilyName\x18\f \x01(\tH\aR\x11profileFamilyName\x88\x01\x01\x12\x1c\n" +
	"\thideStory\x18\r \x01(\bR\thideStory\x12%\n" +
	"\videntityKey\x18\x0e \x01(\fH\bR\videntityKey\x88\x01\x01\x12J\n" +
	"\ridentityState\x18\x0f \x01(\x0e2$.signal.backup.Contact.IdentityStateR\ridentityState\x127\n" +
	"\bnickname\x18\x10 \x01(\v2\x1b.signal.backup.Contact.NameR\bnickname\x12\x12\n" +
	"\x04note\x18\x11 \x01(\tR\x04note\x12(\n" +
	"\x0fsystemGivenName\x18\x12 \x01(\tR\x0fsystemGivenName\x12*\n" +
	"\x10systemFamilyName\x18\x13 \x01(\tR\x10systemFamilyName\x12&\n" +
	"\x0esystemNickname\x18\x14 \x01(\tR\x0esystemNickname\x12A\n" +
	"\vavatarColor\x18\x15 \x01(\x0e2\x1a.signal.backup.AvatarColorH\tR\vavatarColor\x88\x01\x01\x125\n" +
	"\x13keyTransparencyData\x18\x16 \x01(\fH\n" +
	"R\x13keyTransparencyData\x88\x01\x01\x1a\f\n" +
	"\n" +
	"Registered\x1aE\n" +
	"\rNotRegistered\x124\n" +
	"\x15unregisteredTimestamp\x18\x01 \x01(\x04R\x15unregisteredTimestamp\x1a4\n" +
	"\x04Name\x12\x14\n" +
	"\x05given\x18\x01 \x01(\tR\x05given\x12\x16\n" +
	"\x06family\x18\x02 \x01(\tR\x06family\":\n" +
	"\rIdentityState\x12\v\n" +
	"\aDEFAULT\x10\x00\x12\f\n" +
	"\bVERIFIED\x10\x01\x12\x0e\n" +
	"\n" +
	"UNVERIFIED\x10\x02\"A\n" +
	"\n" +
	"Visibility\x12\v\n" +
	"\aVISIBLE\x10\x00\x12\n" +
	"\n" +
	"\x06HIDDEN\x10\x01\x12\x1a\n" +
	"\x16HIDDEN_MESSAGE_REQUEST\x10\x02B\x0e\n" +
	"\fregistrationB\x06\n" +
	"\x04_aciB\x06\n" +
	"\x04_pniB\v\n" +
	"\t_usernameB\a\n" +
	"\x05_e164B\r\n" +
	"\v_profileKeyB\x13\n" +
	"\x11_profileGivenNameB\x14\n" +
	"\x12_profileFamilyNameB\x0e\n" +
	"\f_identityKeyB\x0e\n" +
	"\f_avatarColorB\x16\n" +
	"\x14_keyTransparencyData\"\x8f\x12\n" +
	"\x05Group\x12\x1c\n" +
	"\tmasterKey\x18\x01 \x01(\fR\tmasterKey\x12 \n" +
	"\vwhitelisted\x18\x02 \x01(\bR\vwhitelisted\x12\x1c\n" +
	"\thideStory\x18\x03 \x01(\bR\thideStory\x12H\n" +
	"\rstorySendMode\x18\x04 \x01(\x0e2\".signal.backup.Group.StorySendModeR\rstorySendMode\x12>\n" +
	"\bsnapshot\x18\x05 \x01(\v2\".signal.backup.Group.GroupSnapshotR\bsnapshot\x12\x18\n" +
	"\ablocked\x18\x06 \x01(\bR\ablocked\x12A\n" +
	"\vavatarColor\x18\a \x01(\x0e2\x1a.signal.backup.AvatarColorH\x00R\vavatarColor\x88\x01\x01\x1a\xc5\x06\n" +
	"\rGroupSnapshot\x12=\n" +
	"\x05title\x18\x02 \x01(\v2'.signal.backup.Group.GroupAttributeBlobR\x05title\x12I\n" +
	"\vdescription\x18\v \x01(\v2'.signal.backup.Group.GroupAttributeBlobR\vdescription\x12\x1c\n" +
	"\tavatarUrl\x18\x03 \x01(\tR\tavatarUrl\x12e\n" +
	"\x19disappearingMessagesTimer\x18\x04 \x01(\v2'.signal.backup.Group.GroupAttributeBlobR\x19disappearingMessagesTimer\x12H\n" +
	"\raccessControl\x18\x05 \x01(\v2\".signal.backup.Group.AccessControlR\raccessControl\x12\x18\n" +
	"\aversion\x18\x06 \x01(\rR\aversion\x125\n" +
	"\amembers\x18\a \x03(\v2\x1b.signal.backup.Group.MemberR\amembers\x12h\n" +
	"\x18membersPendingProfileKey\x18\b \x03(\v2,.signal.backup.Group.MemberPendingProfileKeyR\x18membersPendingProfileKey\x12q\n" +
	"\x1bmembersPendingAdminApproval\x18\t \x03(\v2/.signal.backup.Group.MemberPendingAdminApprovalR\x1bmembersPendingAdminApproval\x12.\n" +
	"\x12inviteLinkPassword\x18\n" +
	" \x01(\fR\x12inviteLinkPassword\x12-\n" +
	"\x12announcements_only\x18\f \x01(\bR\x11announcementsOnly\x12H\n" +
	"\x0emembers_banned\x18\r \x03(\v2!.signal.backup.Group.MemberBannedR\rmembersBannedJ\x04\b\x01\x10\x02\x1a\xc3\x01\n" +
	"\x12GroupAttributeBlob\x12\x16\n" +
	"\x05title\x18\x01 \x01(\tH\x00R\x05title\x12\x18\n" +
	"\x06avatar\x18\x02 \x01(\fH\x00R\x06avatar\x12D\n" +
	"\x1cdisappearingMessagesDuration\x18\x03 \x01(\rH\x00R\x1cdisappearingMessagesDuration\x12*\n" +
	"\x0fdescriptionText\x18\x04 \x01(\tH\x00R\x0fdescriptionTextB\t\n" +
	"\acontent\x1a\xc1\x01\n" +
	"\x06Member\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\fR\x06userId\x124\n" +
	"\x04role\x18\x02 \x01(\x0e2 .signal.backup.Group.Member.RoleR\x04role\x12(\n" +
	"\x0fjoinedAtVersion\x18\x05 \x01(\rR\x0fjoinedAtVersion\"3\n" +
	"\x04Role\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\v\n" +
	"\aDEFAULT\x10\x01\x12\x11\n" +
	"\rADMINISTRATOR\x10\x02J\x04\b\x03\x10\x04J\x04\b\x04\x10\x05\x1a\x92\x01\n" +
	"\x17MemberPendingProfileKey\x123\n" +
	"\x06member\x18\x01 \x01(\v2\x1b.signal.backup.Group.MemberR\x06member\x12$\n" +
	"\raddedByUserId\x18\x02 \x01(\fR\raddedByUserId\x12\x1c\n" +
	"\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\x1a^\n" +
	"\x1aMemberPendingAdminApproval\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\fR\x06userId\x12\x1c\n" +
	"\ttimestamp\x18\x04 \x01(\x04R\ttimestampJ\x04\b\x02\x10\x03J\x04\b\x03\x10\x04\x1aD\n" +
	"\fMemberBanned\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\fR\x06userId\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x1a\xea\x02\n" +
	"\rAccessControl\x12Q\n" +
	"\n" +
	"attributes\x18\x01 \x01(\x0e21.signal.backup.Group.AccessControl.AccessRequiredR\n" +
	"attributes\x12K\n" +
	"\amembers\x18\x02 \x01(\x0e21.signal.backup.Group.AccessControl.AccessRequiredR\amembers\x12_\n" +
	"\x11addFromInviteLink\x18\x03 \x01(\x0e21.signal.backup.Group.AccessControl.AccessRequiredR\x11addFromInviteLink\"X\n" +
	"\x0eAccessRequired\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\a\n" +
	"\x03ANY\x10\x01\x12\n" +
	"\n" +
	"\x06MEMBER\x10\x02\x12\x11\n" +
	"\rADMINISTRATOR\x10\x03\x12\x11\n" +
	"\rUNSATISFIABLE\x10\x04\"7\n" +
	"\rStorySendMode\x12\v\n" +
	"\aDEFAULT\x10\x00\x12\f\n" +
	"\bDISABLED\x10\x01\x12\v\n" +
	"\aENABLED\x10\x02B\x0e\n" +
	"\f_avatarColor\"Y\n" +
	"\x04Self\x12A\n" +
	"\vavatarColor\x18\x01 \x01(\x0e2\x1a.signal.backup.AvatarColorH\x00R\vavatarColor\x88\x01\x01B\x0e\n" +
	"\f_avatarColor\"\x0e\n" +
	"\fReleaseNotes\"\xd3\x03\n" +
	"\x04Chat\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x04R\x02id\x12 \n" +
	"\vrecipientId\x18\x02 \x01(\x04R\vrecipientId\x12\x1a\n" +
	"\barchived\x18\x03 \x01(\bR\barchived\x12%\n" +
	"\vpinnedOrder\x18\x04 \x01(\rH\x00R\vpinnedOrder\x88\x01\x01\x121\n" +
	"\x11expirationTimerMs\x18\x05 \x01(\x04H\x01R\x11expirationTimerMs\x88\x01\x01\x12%\n" +
	"\vmuteUntilMs\x18\x06 \x01(\x04H\x02R\vmuteUntilMs\x88\x01\x01\x12\"\n" +
	"\fmarkedUnread\x18\a \x01(\bR\fmarkedUnread\x12B\n" +
	"\x1cdontNotifyForMentionsIfMuted\x18\b \x01(\bR\x1cdontNotifyForMentionsIfMuted\x12.\n" +
	"\x05style\x18\t \x01(\v2\x18.signal.backup.ChatStyleR\x05style\x12.\n" +
	"\x12expireTimerVersion\x18\n" +
	" \x01(\rR\x12expireTimerVersionB\x0e\n" +
	"\f_pinnedOrderB\x14\n" +
	"\x12_expirationTimerMsB\x0e\n" +
	"\f_muteUntilMs\"\xb4\x02\n" +
	"\bCallLink\x12\x18\n" +
	"\arootKey\x18\x01 \x01(\fR\arootKey\x12\x1f\n" +
	"\badminKey\x18\x02 \x01(\fH\x00R\badminKey\x88\x01\x01\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12H\n" +
	"\frestrictions\x18\x04 \x01(\x0e2$.signal.backup.CallLink.RestrictionsR\frestrictions\x12\"\n" +
	"\fexpirationMs\x18\x05 \x01(\x04R\fexpirationMs\x12\x19\n" +
	"\x05epoch\x18\x06 \x01(\fH\x01R\x05epoch\x88\x01\x01\"9\n" +
	"\fRestrictions\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\b\n" +
	"\x04NONE\x10\x01\x12\x12\n" +
	"\x0eADMIN_APPROVAL\x10\x02B\v\n" +
	"\t_adminKeyB\b\n" +
	"\x06_epoch\"\xca\x01\n" +
	"\tAdHocCall\x12\x16\n" +
	"\x06callId\x18\x01 \x01(\x04R\x06callId\x12 \n" +
	"\vrecipientId\x18\x02 \x01(\x04R\vrecipientId\x124\n" +
	"\x05state\x18\x03 \x01(\x0e2\x1e.signal.backup.AdHocCall.StateR\x05state\x12$\n" +
	"\rcallTimestamp\x18\x04 \x01(\x04R\rcallTimestamp\"'\n" +
	"\x05State\x12\x11\n" +
	"\rUNKNOWN_STATE\x10\x00\x12\v\n" +
	"\aGENERIC\x10\x01\"\xc5\x01\n" +
	"\x14DistributionListItem\x12&\n" +
	"\x0edistributionId\x18\x01 \x01(\fR\x0edistributionId\x12.\n" +
	"\x11deletionTimestamp\x18\x02 \x01(\x04H\x00R\x11deletionTimestamp\x12M\n" +
	"\x10distributionList\x18\x03 \x01(\v2\x1f.signal.backup.DistributionListH\x00R\x10distributionListB\x06\n" +
	"\x04item\"\x8d\x02\n" +
	"\x10DistributionList\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\"\n" +
	"\fallowReplies\x18\x02 \x01(\bR\fallowReplies\x12M\n" +
	"\vprivacyMode\x18\x03 \x01(\x0e2+.signal.backup.DistributionList.PrivacyModeR\vprivacyMode\x12.\n" +
	"\x12memberRecipientIds\x18\x04 \x03(\x04R\x12memberRecipientIds\"B\n" +
	"\vPrivacyMode\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\r\n" +
	"\tONLY_WITH\x10\x01\x12\x0e\n" +
	"\n" +
	"ALL_EXCEPT\x10\x02\x12\a\n" +
	"\x03ALL\x10\x03\"\xe5\x0e\n" +
	"\bChatItem\x12\x16\n" +
	"\x06chatId\x18\x01 \x01(\x04R\x06chatId\x12\x1a\n" +
	"\bauthorId\x18\x02 \x01(\x04R\bauthorId\x12\x1a\n" +
	"\bdateSent\x18\x03 \x01(\x04R\bdateSent\x12-\n" +
	"\x0fexpireStartDate\x18\x04 \x01(\x04H\x02R\x0fexpireStartDate\x88\x01\x01\x12%\n" +
	"\vexpiresInMs\x18\x05 \x01(\x04H\x03R\vexpiresInMs\x88\x01\x01\x125\n" +
	"\trevisions\x18\x06 \x03(\v2\x17.signal.backup.ChatItemR\trevisions\x12\x10\n" +
	"\x03sms\x18\a \x01(\bR\x03sms\x12L\n" +
	"\bincoming\x18\b \x01(\v2..signal.backup.ChatItem.IncomingMessageDetailsH\x00R\bincoming\x12L\n" +
	"\boutgoing\x18\t \x01(\v2..signal.backup.ChatItem.OutgoingMessageDetailsH\x00R\boutgoing\x12[\n" +
	"\rdirectionless\x18\n" +
	" \x01(\v23.signal.backup.ChatItem.DirectionlessMessageDetailsH\x00R\rdirectionless\x12J\n" +
	"\x0fstandardMessage\x18\v \x01(\v2\x1e.signal.backup.StandardMessageH\x01R\x0fstandardMessage\x12G\n" +
	"\x0econtactMessage\x18\f \x01(\v2\x1d.signal.backup.ContactMessageH\x01R\x0econtactMessage\x12G\n" +
	"\x0estickerMessage\x18\r \x01(\v2\x1d.signal.backup.StickerMessageH\x01R\x0estickerMessage\x12Y\n" +
	"\x14remoteDeletedMessage\x18\x0e \x01(\v2#.signal.backup.RemoteDeletedMessageH\x01R\x14remoteDeletedMessage\x12H\n" +
	"\rupdateMessage\x18\x0f \x01(\v2 .signal.backup.ChatUpdateMessageH\x01R\rupdateMessage\x12V\n" +
	"\x13paymentNotification\x18\x10 \x01(\v2\".signal.backup.PaymentNotificationH\x01R\x13paymentNotification\x128\n" +
	"\tgiftBadge\x18\x11 \x01(\v2\x18.signal.backup.GiftBadgeH\x01R\tgiftBadge\x12J\n" +
	"\x0fviewOnceMessage\x18\x12 \x01(\v2\x1e.signal.backup.ViewOnceMessageH\x01R\x0fviewOnceMessage\x12b\n" +
	"\x17directStoryReplyMessage\x18\x13 \x01(\v2&.signal.backup.DirectStoryReplyMessageH\x01R\x17directStoryReplyMessage\x12)\n" +
	"\x04poll\x18\x14 \x01(\v2\x13.signal.backup.PollH\x01R\x04poll\x12B\n" +
	"\n" +
	"pinDetails\x18\x15 \x01(\v2\".signal.backup.ChatItem.PinDetailsR\n" +
	"pinDetails\x1a\xb4\x01\n" +
	"\x16IncomingMessageDetails\x12\"\n" +
	"\fdateReceived\x18\x01 \x01(\x04R\fdateReceived\x12+\n" +
	"\x0edateServerSent\x18\x02 \x01(\x04H\x00R\x0edateServerSent\x88\x01\x01\x12\x12\n" +
	"\x04read\x18\x03 \x01(\bR\x04read\x12\"\n" +
	"\fsealedSender\x18\x04 \x01(\bR\fsealedSenderB\x11\n" +
	"\x0f_dateServerSent\x1aw\n" +
	"\x16OutgoingMessageDetails\x129\n" +
	"\n" +
	"sendStatus\x18\x01 \x03(\v2\x19.signal.backup.SendStatusR\n" +
	"sendStatus\x12\"\n" +
	"\fdateReceived\x18\x02 \x01(\x04R\fdateReceived\x1a\x1d\n" +
	"\x1bDirectionlessMessageDetails\x1a\xab\x01\n" +
	"\n" +
	"PinDetails\x12,\n" +
	"\x11pinnedAtTimestamp\x18\x01 \x01(\x04R\x11pinnedAtTimestamp\x126\n" +
	"\x15pinExpiresAtTimestamp\x18\x02 \x01(\x04H\x00R\x15pinExpiresAtTimestamp\x12*\n" +
	"\x0fpinNeverExpires\x18\x03 \x01(\bH\x00R\x0fpinNeverExpiresB\v\n" +
	"\tpinExpiryB\x14\n" +
	"\x12directionalDetailsB\x06\n" +
	"\x04itemB\x12\n" +
	"\x10_expireStartDateB\x0e\n" +
	"\f_expiresInMs\"\xeb\x06\n" +
	"\n" +
	"SendStatus\x12 \n" +
	"\vrecipientId\x18\x01 \x01(\x04R\vrecipientId\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12=\n" +
	"\apending\x18\x03 \x01(\v2!.signal.backup.SendStatus.PendingH\x00R\apending\x124\n" +
	"\x04sent\x18\x04 \x01(\v2\x1e.signal.backup.SendStatus.SentH\x00R\x04sent\x12C\n" +
	"\tdelivered\x18\x05 \x01(\v2#.signal.backup.SendStatus.DeliveredH\x00R\tdelivered\x124\n" +
	"\x04read\x18\x06 \x01(\v2\x1e.signal.backup.SendStatus.ReadH\x00R\x04read\x12:\n" +
	"\x06viewed\x18\a \x01(\v2 .signal.backup.SendStatus.ViewedH\x00R\x06viewed\x12=\n" +
	"\askipped\x18\b \x01(\v2!.signal.backup.SendStatus.SkippedH\x00R\askipped\x12:\n" +
	"\x06failed\x18\t \x01(\v2 .signal.backup.SendStatus.FailedH\x00R\x06failed\x1a\t\n" +
	"\aPending\x1a*\n" +
	"\x04Sent\x12\"\n" +
	"\fsealedSender\x18\x01 \x01(\bR\fsealedSender\x1a/\n" +
	"\tDelivered\x12\"\n" +
	"\fsealedSender\x18\x01 \x01(\bR\fsealedSender\x1a*\n" +
	"\x04Read\x12\"\n" +
	"\fsealedSender\x18\x01 \x01(\bR\fsealedSender\x1a,\n" +
	"\x06Viewed\x12\"\n" +
	"\fsealedSender\x18\x01 \x01(\bR\fsealedSender\x1a\t\n" +
	"\aSkipped\x1a\x96\x01\n" +
	"\x06Failed\x12F\n" +
	"\x06reason\x18\x01 \x01(\x0e2..signal.backup.SendStatus.Failed.FailureReasonR\x06reason\"D\n" +
	"\rFailureReason\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\v\n" +
	"\aNETWORK\x10\x01\x12\x19\n" +
	"\x15IDENTITY_KEY_MISMATCH\x10\x02B\x10\n" +
	"\x0edeliveryStatus\"T\n" +
	"\x04Text\x12\x12\n" +
	"\x04body\x18\x01 \x01(\tR\x04body\x128\n" +
	"\n" +
	"bodyRanges\x18\x02 \x03(\v2\x18.signal.backup.BodyRangeR\n" +
	"bodyRanges\"\x86\x03\n" +
	"\x0fStandardMessage\x12/\n" +
	"\x05quote\x18\x01 \x01(\v2\x14.signal.backup.QuoteH\x00R\x05quote\x88\x01\x01\x12,\n" +
	"\x04text\x18\x02 \x01(\v2\x13.signal.backup.TextH\x01R\x04text\x88\x01\x01\x12B\n" +
	"\vattachments\x18\x03 \x03(\v2 .signal.backup.MessageAttachmentR\vattachments\x12<\n" +
	"\vlinkPreview\x18\x04 \x03(\v2\x1a.signal.backup.LinkPreviewR\vlinkPreview\x12;\n" +
	"\blongText\x18\x05 \x01(\v2\x1a.signal.backup.FilePointerH\x02R\blongText\x88\x01\x01\x125\n" +
	"\treactions\x18\x06 \x03(\v2\x17.signal.backup.ReactionR\treactionsB\b\n" +
	"\x06_quoteB\a\n" +
	"\x05_textB\v\n" +
	"\t_longText\"\x83\x01\n" +
	"\x0eContactMessage\x12:\n" +
	"\acontact\x18\x01 \x01(\v2 .signal.backup.ContactAttachmentR\acontact\x125\n" +
	"\treactions\x18\x02 \x03(\v2\x17.signal.backup.ReactionR\treactions\"\xb7\x02\n" +
	"\x17DirectStoryReplyMessage\x12P\n" +
	"\ttextReply\x18\x01 \x01(\v20.signal.backup.DirectStoryReplyMessage.TextReplyH\x00R\ttextReply\x12\x16\n" +
	"\x05emoji\x18\x02 \x01(\tH\x00R\x05emoji\x125\n" +
	"\treactions\x18\x03 \x03(\v2\x17.signal.backup.ReactionR\treactions\x1al\n" +
	"\tTextReply\x12'\n" +
	"\x04text\x18\x01 \x01(\v2\x13.signal.backup.TextR\x04text\x126\n" +
	"\blongText\x18\x02 \x01(\v2\x1a.signal.backup.FilePointerR\blongTextB\a\n" +
	"\x05replyJ\x04\b\x04\x10\x05\"\xdb\n" +
	"\n" +
	"\x13PaymentNotification\x12!\n" +
	"\tamountMob\x18\x01 \x01(\tH\x00R\tamountMob\x88\x01\x01\x12\x1b\n" +
	"\x06feeMob\x18\x02 \x01(\tH\x01R\x06feeMob\x88\x01\x01\x12\x17\n" +
	"\x04note\x18\x03 \x01(\tH\x02R\x04note\x88\x01\x01\x12e\n" +
	"\x12transactionDetails\x18\x04 \x01(\v25.signal.backup.PaymentNotification.TransactionDetailsR\x12transactionDetails\x1a\xe1\b\n" +
	"\x12TransactionDetails\x12e\n" +
	"\vtransaction\x18\x01 \x01(\v2A.signal.backup.PaymentNotification.TransactionDetails.TransactionH\x00R\vtransaction\x12w\n" +
	"\x11failedTransaction\x18\x02 \x01(\v2G.signal.backup.PaymentNotification.TransactionDetails.FailedTransactionH\x00R\x11failedTransaction\x1aY\n" +
	"\x1bMobileCoinTxoIdentification\x12\x1c\n" +
	"\tpublicKey\x18\x01 \x03(\fR\tpublicKey\x12\x1c\n" +
	"\tkeyImages\x18\x02 \x03(\fR\tkeyImages\x1a\xc5\x01\n" +
	"\x11FailedTransaction\x12m\n" +
	"\x06reason\x18\x01 \x01(\x0e2U.signal.backup.PaymentNotification.TransactionDetails.FailedTransaction.FailureReasonR\x06reason\"A\n" +
	"\rFailureReason\x12\v\n" +
	"\aGENERIC\x10\x00\x12\v\n" +
	"\aNETWORK\x10\x01\x12\x16\n" +
	"\x12INSUFFICIENT_FUNDS\x10\x02\x1a\xbc\x04\n" +
	"\vTransaction\x12`\n" +
	"\x06status\x18\x01 \x01(\x0e2H.signal.backup.PaymentNotification.TransactionDetails.Transaction.StatusR\x06status\x12\x8d\x01\n" +
	"\x18mobileCoinIdentification\x18\x02 \x01(\v2Q.signal.backup.PaymentNotification.TransactionDetails.MobileCoinTxoIdentificationR\x18mobileCoinIdentification\x12!\n" +
	"\ttimestamp\x18\x03 \x01(\x04H\x00R\ttimestamp\x88\x01\x01\x12#\n" +
	"\n" +
	"blockIndex\x18\x04 \x01(\x04H\x01R\n" +
	"blockIndex\x88\x01\x01\x12+\n" +
	"\x0eblockTimestamp\x18\x05 \x01(\x04H\x02R\x0eblockTimestamp\x88\x01\x01\x12%\n" +
	"\vtransaction\x18\x06 \x01(\fH\x03R\vtransaction\x88\x01\x01\x12\x1d\n" +
	"\areceipt\x18\a \x01(\fH\x04R\areceipt\x88\x01\x01\"4\n" +
	"\x06Status\x12\v\n" +
	"\aINITIAL\x10\x00\x12\r\n" +
	"\tSUBMITTED\x10\x01\x12\x0e\n" +
	"\n" +
	"SUCCESSFUL\x10\x02B\f\n" +
	"\n" +
	"_timestampB\r\n" +
	"\v_blockIndexB\x11\n" +
	"\x0f_blockTimestampB\x0e\n" +
	"\f_transactionB\n" +
	"\n" +
	"\b_receiptB\t\n" +
	"\apaymentB\f\n" +
	"\n" +
	"_amountMobB\t\n" +
	"\a_feeMobB\a\n" +
	"\x05_note\"\xc4\x01\n" +
	"\tGiftBadge\x12D\n" +
	"\x1dreceiptCredentialPresentation\x18\x01 \x01(\fR\x1dreceiptCredentialPresentation\x124\n" +
	"\x05state\x18\x02 \x01(\x0e2\x1e.signal.backup.GiftBadge.StateR\x05state\";\n" +
	"\x05State\x12\f\n" +
	"\bUNOPENED\x10\x00\x12\n" +
	"\n" +
	"\x06OPENED\x10\x01\x12\f\n" +
	"\bREDEEMED\x10\x02\x12\n" +
	"\n" +
	"\x06FAILED\x10\x03\"\x8a\x01\n" +
	"\x0fViewOnceMessage\x12@\n" +
	"\n" +
	"attachment\x18\x01 \x01(\v2 .signal.backup.MessageAttachmentR\n" +
	"attachment\x125\n" +
	"\treactions\x18\x02 \x03(\v2\x17.signal.backup.ReactionR\treactions\"\x89\n" +
	"\n" +
	"\x11ContactAttachment\x12>\n" +
	"\x04name\x18\x01 \x01(\v2%.signal.backup.ContactAttachment.NameH\x00R\x04name\x88\x01\x01\x12>\n" +
	"\x06number\x18\x03 \x03(\v2&.signal.backup.ContactAttachment.PhoneR\x06number\x12<\n" +
	"\x05email\x18\x04 \x03(\v2&.signal.backup.ContactAttachment.EmailR\x05email\x12H\n" +
	"\aaddress\x18\x05 \x03(\v2..signal.backup.ContactAttachment.PostalAddressR\aaddress\x127\n" +
	"\x06avatar\x18\x06 \x01(\v2\x1a.signal.backup.FilePointerH\x01R\x06avatar\x88\x01\x01\x12\"\n" +
	"\forganization\x18\a \x01(\tR\forganization\x1a\xb0\x01\n" +
	"\x04Name\x12\x1c\n" +
	"\tgivenName\x18\x01 \x01(\tR\tgivenName\x12\x1e\n" +
	"\n" +
	"familyName\x18\x02 \x01(\tR\n" +
	"familyName\x12\x16\n" +
	"\x06prefix\x18\x03 \x01(\tR\x06prefix\x12\x16\n" +
	"\x06suffix\x18\x04 \x01(\tR\x06suffix\x12\x1e\n" +
	"\n" +
	"middleName\x18\x05 \x01(\tR\n" +
	"middleName\x12\x1a\n" +
	"\bnickname\x18\x06 \x01(\tR\bnickname\x1a\xb5\x01\n" +
	"\x05Phone\x12\x14\n" +
	"\x05value\x18\x01 \x01(\tR\x05value\x12?\n" +
	"\x04type\x18\x02 \x01(\x0e2+.signal.backup.ContactAttachment.Phone.TypeR\x04type\x12\x14\n" +
	"\x05label\x18\x03 \x01(\tR\x05label\"?\n" +
	"\x04Type\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\b\n" +
	"\x04HOME\x10\x01\x12\n" +
	"\n" +
	"\x06MOBILE\x10\x02\x12\b\n" +
	"\x04WORK\x10\x03\x12\n" +
	"\n" +
	"\x06CUSTOM\x10\x04\x1a\xb5\x01\n" +
	"\x05Email\x12\x14\n" +
	"\x05value\x18\x01 \x01(\tR\x05value\x12?\n" +
	"\x04type\x18\x02 \x01(\x0e2+.signal.backup.ContactAttachment.Email.TypeR\x04type\x12\x14\n" +
	"\x05label\x18\x03 \x01(\tR\x05label\"?\n" +
	"\x04Type\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\b\n" +
	"\x04HOME\x10\x01\x12\n" +
	"\n" +
	"\x06MOBILE\x10\x02\x12\b\n" +
	"\x04WORK\x10\x03\x12\n" +
	"\n" +
	"\x06CUSTOM\x10\x04\x1a\xd7\x02\n" +
	"\rPostalAddress\x12G\n" +
	"\x04type\x18\x01 \x01(\x0e23.signal.backup.ContactAttachment.PostalAddress.TypeR\x04type\x12\x14\n" +
	"\x05label\x18\x02 \x01(\tR\x05label\x12\x16\n" +
	"\x06street\x18\x03 \x01(\tR\x06street\x12\x14\n" +
	"\x05pobox\x18\x04 \x01(\tR\x05pobox\x12\"\n" +
	"\fneighborhood\x18\x05 \x01(\tR\fneighborhood\x12\x12\n" +
	"\x04city\x18\x06 \x01(\tR\x04city\x12\x16\n" +
	"\x06region\x18\a \x01(\tR\x06region\x12\x1a\n" +
	"\bpostcode\x18\b \x01(\tR\bpostcode\x12\x18\n" +
	"\acountry\x18\t \x01(\tR\acountry\"3\n" +
	"\x04Type\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\b\n" +
	"\x04HOME\x10\x01\x12\b\n" +
	"\x04WORK\x10\x02\x12\n" +
	"\n" +
	"\x06CUSTOM\x10\x03B\a\n" +
	"\x05_nameB\t\n" +
	"\a_avatar\"y\n" +
	"\x0eStickerMessage\x120\n" +
	"\asticker\x18\x01 \x01(\v2\x16.signal.backup.StickerR\asticker\x125\n" +
	"\treactions\x18\x02 \x03(\v2\x17.signal.backup.ReactionR\treactions\"\x16\n" +
	"\x14RemoteDeletedMessage\"\xae\x01\n" +
	"\aSticker\x12\x16\n" +
	"\x06packId\x18\x01 \x01(\fR\x06packId\x12\x18\n" +
	"\apackKey\x18\x02 \x01(\fR\apackKey\x12\x1c\n" +
	"\tstickerId\x18\x03 \x01(\rR\tstickerId\x12\x19\n" +
	"\x05emoji\x18\x04 \x01(\tH\x00R\x05emoji\x88\x01\x01\x12.\n" +
	"\x04data\x18\x05 \x01(\v2\x1a.signal.backup.FilePointerR\x04dataB\b\n" +
	"\x06_emoji\"\xde\x01\n" +
	"\vLinkPreview\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x19\n" +
	"\x05title\x18\x02 \x01(\tH\x00R\x05title\x88\x01\x01\x125\n" +
	"\x05image\x18\x03 \x01(\v2\x1a.signal.backup.FilePointerH\x01R\x05image\x88\x01\x01\x12%\n" +
	"\vdescription\x18\x04 \x01(\tH\x02R\vdescription\x88\x01\x01\x12\x17\n" +
	"\x04date\x18\x05 \x01(\x04H\x03R\x04date\x88\x01\x01B\b\n" +
	"\x06_titleB\b\n" +
	"\x06_imageB\x0e\n" +
	"\f_descriptionB\a\n" +
	"\x05_date\"\x9c\x02\n" +
	"\x11MessageAttachment\x124\n" +
	"\apointer\x18\x01 \x01(\v2\x1a.signal.backup.FilePointerR\apointer\x129\n" +
	"\x04flag\x18\x02 \x01(\x0e2%.signal.backup.MessageAttachment.FlagR\x04flag\x12$\n" +
	"\rwasDownloaded\x18\x03 \x01(\bR\rwasDownloaded\x12#\n" +
	"\n" +
	"clientUuid\x18\x04 \x01(\fH\x00R\n" +
	"clientUuid\x88\x01\x01\"<\n" +
	"\x04Flag\x12\b\n" +
	"\x04NONE\x10\x00\x12\x11\n" +
	"\rVOICE_MESSAGE\x10\x01\x12\x0e\n" +
	"\n" +
	"BORDERLESS\x10\x02\x12\a\n" +
	"\x03GIF\x10\x03B\r\n" +
	"\v_clientUuid\"\x9e\b\n" +
	"\vFilePointer\x12%\n" +
	"\vcontentType\x18\x04 \x01(\tH\x00R\vcontentType\x88\x01\x01\x12+\n" +
	"\x0eincrementalMac\x18\x05 \x01(\fH\x01R\x0eincrementalMac\x88\x01\x01\x12=\n" +
	"\x17incrementalMacChunkSize\x18\x06 \x01(\rH\x02R\x17incrementalMacChunkSize\x88\x01\x01\x12\x1f\n" +
	"\bfileName\x18\a \x01(\tH\x03R\bfileName\x88\x01\x01\x12\x19\n" +
	"\x05width\x18\b \x01(\rH\x04R\x05width\x88\x01\x01\x12\x1b\n" +
	"\x06height\x18\t \x01(\rH\x05R\x06height\x88\x01\x01\x12\x1d\n" +
	"\acaption\x18\n" +
	" \x01(\tH\x06R\acaption\x88\x01\x01\x12\x1f\n" +
	"\bblurHash\x18\v \x01(\tH\aR\bblurHash\x88\x01\x01\x12H\n" +
	"\vlocatorInfo\x18\r \x01(\v2&.signal.backup.FilePointer.LocatorInfoR\vlocatorInfo\x1a\x86\x04\n" +
	"\vLocatorInfo\x12\x10\n" +
	"\x03key\x18\x01 \x01(\fR\x03key\x12&\n" +
	"\rplaintextHash\x18\n" +
	" \x01(\fH\x00R\rplaintextHash\x12*\n" +
	"\x0fencryptedDigest\x18\v \x01(\fH\x00R\x0fencryptedDigest\x12\x12\n" +
	"\x04size\x18\x03 \x01(\rR\x04size\x12)\n" +
	"\rtransitCdnKey\x18\x04 \x01(\tH\x01R\rtransitCdnKey\x88\x01\x01\x12/\n" +
	"\x10transitCdnNumber\x18\x05 \x01(\rH\x02R\x10transitCdnNumber\x88\x01\x01\x12C\n" +
	"\x1atransitTierUploadTimestamp\x18\x06 \x01(\x04H\x03R\x1atransitTierUploadTimestamp\x88\x01\x01\x123\n" +
	"\x12mediaTierCdnNumber\x18\a \x01(\rH\x04R\x12mediaTierCdnNumber\x88\x01\x01\x12\x1f\n" +
	"\blocalKey\x18\t \x01(\fH\x05R\blocalKey\x88\x01\x01B\x10\n" +
	"\x0eintegrityCheckB\x10\n" +
	"\x0e_transitCdnKeyB\x13\n" +
	"\x11_transitCdnNumberB\x1d\n" +
	"\x1b_transitTierUploadTimestampB\x15\n" +
	"\x13_mediaTierCdnNumberB\v\n" +
	"\t_localKeyJ\x04\b\x02\x10\x03J\x04\b\b\x10\tB\x0e\n" +
	"\f_contentTypeB\x11\n" +
	"\x0f_incrementalMacB\x1a\n" +
	"\x18_incrementalMacChunkSizeB\v\n" +
	"\t_fileNameB\b\n" +
	"\x06_widthB\t\n" +
	"\a_heightB\n" +
	"\n" +
	"\b_captionB\v\n" +
	"\t_blurHashJ\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04J\x04\b\f\x10\r\"\xb8\x04\n" +
	"\x05Quote\x125\n" +
	"\x13targetSentTimestamp\x18\x01 \x01(\x04H\x00R\x13targetSentTimestamp\x88\x01\x01\x12\x1a\n" +
	"\bauthorId\x18\x02 \x01(\x04R\bauthorId\x12,\n" +
	"\x04text\x18\x03 \x01(\v2\x13.signal.backup.TextH\x01R\x04text\x88\x01\x01\x12G\n" +
	"\vattachments\x18\x04 \x03(\v2%.signal.backup.Quote.QuotedAttachmentR\vattachments\x12-\n" +
	"\x04type\x18\x05 \x01(\x0e2\x19.signal.backup.Quote.TypeR\x04type\x1a\xca\x01\n" +
	"\x10QuotedAttachment\x12%\n" +
	"\vcontentType\x18\x01 \x01(\tH\x00R\vcontentType\x88\x01\x01\x12\x1f\n" +
	"\bfileName\x18\x02 \x01(\tH\x01R\bfileName\x88\x01\x01\x12C\n" +
	"\tthumbnail\x18\x03 \x01(\v2 .signal.backup.MessageAttachmentH\x02R\tthumbnail\x88\x01\x01B\x0e\n" +
	"\f_contentTypeB\v\n" +
	"\t_fileNameB\f\n" +
	"\n" +
	"_thumbnail\"H\n" +
	"\x04Type\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\n" +
	"\n" +
	"\x06NORMAL\x10\x01\x12\x0e\n" +
	"\n" +
	"GIFT_BADGE\x10\x02\x12\r\n" +
	"\tVIEW_ONCE\x10\x03\x12\b\n" +
	"\x04POLL\x10\x04B\x16\n" +
	"\x14_targetSentTimestampB\a\n" +
	"\x05_text\"\xfe\x01\n" +
	"\tBodyRange\x12\x14\n" +
	"\x05start\x18\x01 \x01(\rR\x05start\x12\x16\n" +
	"\x06length\x18\x02 \x01(\rR\x06length\x12 \n" +
	"\n" +
	"mentionAci\x18\x03 \x01(\fH\x00R\n" +
	"mentionAci\x126\n" +
	"\x05style\x18\x04 \x01(\x0e2\x1e.signal.backup.BodyRange.StyleH\x00R\x05style\"V\n" +
	"\x05Style\x12\b\n" +
	"\x04NONE\x10\x00\x12\b\n" +
	"\x04BOLD\x10\x01\x12\n" +
	"\n" +
	"\x06ITALIC\x10\x02\x12\v\n" +
	"\aSPOILER\x10\x03\x12\x11\n" +
	"\rSTRIKETHROUGH\x10\x04\x12\r\n" +
	"\tMONOSPACE\x10\x05B\x11\n" +
	"\x0fassociatedValue\"\x80\x01\n" +
	"\bReaction\x12\x14\n" +
	"\x05emoji\x18\x01 \x01(\tR\x05emoji\x12\x1a\n" +
	"\bauthorId\x18\x02 \x01(\x04R\bauthorId\x12$\n" +
	"\rsentTimestamp\x18\x03 \x01(\x04R\rsentTimestamp\x12\x1c\n" +
	"\tsortOrder\x18\x04 \x01(\x04R\tsortOrder\"\xff\x02\n" +
	"\x04Poll\x12\x1a\n" +
	"\bquestion\x18\x01 \x01(\tR\bquestion\x12$\n" +
	"\rallowMultiple\x18\x02 \x01(\bR\rallowMultiple\x128\n" +
	"\aoptions\x18\x03 \x03(\v2\x1e.signal.backup.Poll.PollOptionR\aoptions\x12\x1a\n" +
	"\bhasEnded\x18\x04 \x01(\bR\bhasEnded\x125\n" +
	"\treactions\x18\x05 \x03(\v2\x17.signal.backup.ReactionR\treactions\x1a\xa7\x01\n" +
	"\n" +
	"PollOption\x12\x16\n" +
	"\x06option\x18\x01 \x01(\tR\x06option\x12=\n" +
	"\x05votes\x18\x02 \x03(\v2'.signal.backup.Poll.PollOption.PollVoteR\x05votes\x1aB\n" +
	"\bPollVote\x12\x18\n" +
	"\avoterId\x18\x01 \x01(\x04R\avoterId\x12\x1c\n" +
	"\tvoteCount\x18\x02 \x01(\rR\tvoteCount\"\xf7\x06\n" +
	"\x11ChatUpdateMessage\x12E\n" +
	"\fsimpleUpdate\x18\x01 \x01(\v2\x1f.signal.backup.SimpleChatUpdateH\x00R\fsimpleUpdate\x12H\n" +
	"\vgroupChange\x18\x02 \x01(\v2$.signal.backup.GroupChangeChatUpdateH\x00R\vgroupChange\x12`\n" +
	"\x15expirationTimerChange\x18\x03 \x01(\v2(.signal.backup.ExpirationTimerChatUpdateH\x00R\x15expirationTimerChange\x12N\n" +
	"\rprofileChange\x18\x04 \x01(\v2&.signal.backup.ProfileChangeChatUpdateH\x00R\rprofileChange\x12H\n" +
	"\vthreadMerge\x18\x05 \x01(\v2$.signal.backup.ThreadMergeChatUpdateH\x00R\vthreadMerge\x12Z\n" +
	"\x11sessionSwitchover\x18\x06 \x01(\v2*.signal.backup.SessionSwitchoverChatUpdateH\x00R\x11sessionSwitchover\x12G\n" +
	"\x0eindividualCall\x18\a \x01(\v2\x1d.signal.backup.IndividualCallH\x00R\x0eindividualCall\x128\n" +
	"\tgroupCall\x18\b \x01(\v2\x18.signal.backup.GroupCallH\x00R\tgroupCall\x12]\n" +
	"\x14learnedProfileChange\x18\t \x01(\v2'.signal.backup.LearnedProfileChatUpdateH\x00R\x14learnedProfileChange\x12J\n" +
	"\rpollTerminate\x18\n" +
	" \x01(\v2\".signal.backup.PollTerminateUpdateH\x00R\rpollTerminate\x12A\n" +
	"\n" +
	"pinMessage\x18\v \x01(\v2\x1f.signal.backup.PinMessageUpdateH\x00R\n" +
	"pinMessageB\b\n" +
	"\x06update\"\x9d\x04\n" +
	"\x0eIndividualCall\x12\x1b\n" +
	"\x06callId\x18\x01 \x01(\x04H\x00R\x06callId\x88\x01\x01\x126\n" +
	"\x04type\x18\x02 \x01(\x0e2\".signal.backup.IndividualCall.TypeR\x04type\x12E\n" +
	"\tdirection\x18\x03 \x01(\x0e2'.signal.backup.IndividualCall.DirectionR\tdirection\x129\n" +
	"\x05state\x18\x04 \x01(\x0e2#.signal.backup.IndividualCall.StateR\x05state\x122\n" +
	"\x14startedCallTimestamp\x18\x05 \x01(\x04R\x14startedCallTimestamp\x12\x12\n" +
	"\x04read\x18\x06 \x01(\bR\x04read\"8\n" +
	"\x04Type\x12\x10\n" +
	"\fUNKNOWN_TYPE\x10\x00\x12\x0e\n" +
	"\n" +
	"AUDIO_CALL\x10\x01\x12\x0e\n" +
	"\n" +
	"VIDEO_CALL\x10\x02\">\n" +
	"\tDirection\x12\x15\n" +
	"\x11UNKNOWN_DIRECTION\x10\x00\x12\f\n" +
	"\bINCOMING\x10\x01\x12\f\n" +
	"\bOUTGOING\x10\x02\"g\n" +
	"\x05State\x12\x11\n" +
	"\rUNKNOWN_STATE\x10\x00\x12\f\n" +
	"\bACCEPTED\x10\x01\x12\x10\n" +
	"\fNOT_ACCEPTED\x10\x02\x12\n" +
	"\n" +
	"\x06MISSED\x10\x03\x12\x1f\n" +
	"\x1bMISSED_NOTIFICATION_PROFILE\x10\x04B\t\n" +
	"\a_callId\"\xbd\x04\n" +
	"\tGroupCall\x12\x1b\n" +
	"\x06callId\x18\x01 \x01(\x04H\x00R\x06callId\x88\x01\x01\x124\n" +
	"\x05state\x18\x02 \x01(\x0e2\x1e.signal.backup.GroupCall.StateR\x05state\x121\n" +
	"\x11ringerRecipientId\x18\x03 \x01(\x04H\x01R\x11ringerRecipientId\x88\x01\x01\x12;\n" +
	"\x16startedCallRecipientId\x18\x04 \x01(\x04H\x02R\x16startedCallRecipientId\x88\x01\x01\x122\n" +
	"\x14startedCallTimestamp\x18\x05 \x01(\x04R\x14startedCallTimestamp\x123\n" +
	"\x12endedCallTimestamp\x18\x06 \x01(\x04H\x03R\x12endedCallTimestamp\x88\x01\x01\x12\x12\n" +
	"\x04read\x18\a \x01(\bR\x04read\"\x9c\x01\n" +
	"\x05State\x12\x11\n" +
	"\rUNKNOWN_STATE\x10\x00\x12\v\n" +
	"\aGENERIC\x10\x01\x12\n" +
	"\n" +
	"\x06JOINED\x10\x02\x12\v\n" +
	"\aRINGING\x10\x03\x12\f\n" +
	"\bACCEPTED\x10\x04\x12\f\n" +
	"\bDECLINED\x10\x05\x12\n" +
	"\n" +
	"\x06MISSED\x10\x06\x12\x1f\n" +
	"\x1bMISSED_NOTIFICATION_PROFILE\x10\a\x12\x11\n" +
	"\rOUTGOING_RING\x10\bB\t\n" +
	"\a_callIdB\x14\n" +
	"\x12_ringerRecipientIdB\x19\n" +
	"\x17_startedCallRecipientIdB\x15\n" +
	"\x13_endedCallTimestamp\"\xd3\x03\n" +
	"\x10SimpleChatUpdate\x128\n" +
	"\x04type\x18\x01 \x01(\x0e2$.signal.backup.SimpleChatUpdate.TypeR\x04type\"\x84\x03\n" +
	"\x04Type\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\x11\n" +
	"\rJOINED_SIGNAL\x10\x01\x12\x13\n" +
	"\x0fIDENTITY_UPDATE\x10\x02\x12\x15\n" +
	"\x11IDENTITY_VERIFIED\x10\x03\x12\x14\n" +
	"\x10IDENTITY_DEFAULT\x10\x04\x12\x11\n" +
	"\rCHANGE_NUMBER\x10\x05\x12$\n" +
	" RELEASE_CHANNEL_DONATION_REQUEST\x10\x06\x12\x0f\n" +
	"\vEND_SESSION\x10\a\x12\x18\n" +
	"\x14CHAT_SESSION_REFRESH\x10\b\x12\x0f\n" +
	"\vBAD_DECRYPT\x10\t\x12\x16\n" +
	"\x12PAYMENTS_ACTIVATED\x10\n" +
	"\x12\x1e\n" +
	"\x1aPAYMENT_ACTIVATION_REQUEST\x10\v\x12 \n" +
	"\x1cUNSUPPORTED_PROTOCOL_MESSAGE\x10\f\x12\x11\n" +
	"\rREPORTED_SPAM\x10\r\x12\v\n" +
	"\aBLOCKED\x10\x0e\x12\r\n" +
	"\tUNBLOCKED\x10\x0f\x12\x1c\n" +
	"\x18MESSAGE_REQUEST_ACCEPTED\x10\x10\"=\n" +
	"\x19ExpirationTimerChatUpdate\x12 \n" +
	"\vexpiresInMs\x18\x01 \x01(\x04R\vexpiresInMs\"W\n" +
	"\x17ProfileChangeChatUpdate\x12\"\n" +
	"\fpreviousName\x18\x01 \x01(\tR\fpreviousName\x12\x18\n" +
	"\anewName\x18\x02 \x01(\tR\anewName\"^\n" +
	"\x18LearnedProfileChatUpdate\x12\x14\n" +
	"\x04e164\x18\x01 \x01(\x04H\x00R\x04e164\x12\x1c\n" +
	"\busername\x18\x02 \x01(\tH\x00R\busernameB\x0e\n" +
	"\fpreviousName\";\n" +
	"\x15ThreadMergeChatUpdate\x12\"\n" +
	"\fpreviousE164\x18\x01 \x01(\x04R\fpreviousE164\"1\n" +
	"\x1bSessionSwitchoverChatUpdate\x12\x12\n" +
	"\x04e164\x18\x01 \x01(\x04R\x04e164\"\x86\x1f\n" +
	"\x15GroupChangeChatUpdate\x12E\n" +
	"\aupdates\x18\x01 \x03(\v2+.signal.backup.GroupChangeChatUpdate.UpdateR\aupdates\x1a\xa5\x1e\n" +
	"\x06Update\x12S\n" +
	"\x12genericGroupUpdate\x18\x01 \x01(\v2!.signal.backup.GenericGroupUpdateH\x00R\x12genericGroupUpdate\x12V\n" +
	"\x13groupCreationUpdate\x18\x02 \x01(\v2\".signal.backup.GroupCreationUpdateH\x00R\x13groupCreationUpdate\x12J\n" +
	"\x0fgroupNameUpdate\x18\x03 \x01(\v2\x1e.signal.backup.GroupNameUpdateH\x00R\x0fgroupNameUpdate\x12P\n" +
	"\x11groupAvatarUpdate\x18\x04 \x01(\v2 .signal.backup.GroupAvatarUpdateH\x00R\x11groupAvatarUpdate\x12_\n" +
	"\x16groupDescriptionUpdate\x18\x05 \x01(\v2%.signal.backup.GroupDescriptionUpdateH\x00R\x16groupDescriptionUpdate\x12\x8f\x01\n" +
	"&groupMembershipAccessLevelChangeUpdate\x18\x06 \x01(\v25.signal.backup.GroupMembershipAccessLevelChangeUpdateH\x00R&groupMembershipAccessLevelChangeUpdate\x12\x8f\x01\n" +
	"&groupAttributesAccessLevelChangeUpdate\x18\a \x01(\v25.signal.backup.GroupAttributesAccessLevelChangeUpdateH\x00R&groupAttributesAccessLevelChangeUpdate\x12\x80\x01\n" +
	"!groupAnnouncementOnlyChangeUpdate\x18\b \x01(\v20.signal.backup.GroupAnnouncementOnlyChangeUpdateH\x00R!groupAnnouncementOnlyChangeUpdate\x12_\n" +
	"\x16groupAdminStatusUpdate\x18\t \x01(\v2%.signal.backup.GroupAdminStatusUpdateH\x00R\x16groupAdminStatusUpdate\x12\\\n" +
	"\x15groupMemberLeftUpdate\x18\n" +
	" \x01(\v2$.signal.backup.GroupMemberLeftUpdateH\x00R\x15groupMemberLeftUpdate\x12e\n" +
	"\x18groupMemberRemovedUpdate\x18\v \x01(\v2'.signal.backup.GroupMemberRemovedUpdateH\x00R\x18groupMemberRemovedUpdate\x12e\n" +
	"\x18selfInvitedToGroupUpdate\x18\f \x01(\v2'.signal.backup.SelfInvitedToGroupUpdateH\x00R\x18selfInvitedToGroupUpdate\x12\x80\x01\n" +
	"!selfInvitedOtherUserToGroupUpdate\x18\r \x01(\v20.signal.backup.SelfInvitedOtherUserToGroupUpdateH\x00R!selfInvitedOtherUserToGroupUpdate\x12h\n" +
	"\x19groupUnknownInviteeUpdate\x18\x0e \x01(\v2(.signal.backup.GroupUnknownInviteeUpdateH\x00R\x19groupUnknownInviteeUpdate\x12t\n" +
	"\x1dgroupInvitationAcceptedUpdate\x18\x0f \x01(\v2,.signal.backup.GroupInvitationAcceptedUpdateH\x00R\x1dgroupInvitationAcceptedUpdate\x12t\n" +
	"\x1dgroupInvitationDeclinedUpdate\x18\x10 \x01(\v2,.signal.backup.GroupInvitationDeclinedUpdateH\x00R\x1dgroupInvitationDeclinedUpdate\x12b\n" +
	"\x17groupMemberJoinedUpdate\x18\x11 \x01(\v2&.signal.backup.GroupMemberJoinedUpdateH\x00R\x17groupMemberJoinedUpdate\x12_\n" +
	"\x16groupMemberAddedUpdate\x18\x12 \x01(\v2%.signal.backup.GroupMemberAddedUpdateH\x00R\x16groupMemberAddedUpdate\x12}\n" +
	" groupSelfInvitationRevokedUpdate\x18\x13 \x01(\v2/.signal.backup.GroupSelfInvitationRevokedUpdateH\x00R groupSelfInvitationRevokedUpdate\x12q\n" +
	"\x1cgroupInvitationRevokedUpdate\x18\x14 \x01(\v2+.signal.backup.GroupInvitationRevokedUpdateH\x00R\x1cgroupInvitationRevokedUpdate\x12_\n" +
	"\x16groupJoinRequestUpdate\x18\x15 \x01(\v2%.signal.backup.GroupJoinRequestUpdateH\x00R\x16groupJoinRequestUpdate\x12w\n" +
	"\x1egroupJoinRequestApprovalUpdate\x18\x16 \x01(\v2-.signal.backup.GroupJoinRequestApprovalUpdateH\x00R\x1egroupJoinRequestApprovalUpdate\x12w\n" +
	"\x1egroupJoinRequestCanceledUpdate\x18\x17 \x01(\v2-.signal.backup.GroupJoinRequestCanceledUpdateH\x00R\x1egroupJoinRequestCanceledUpdate\x12k\n" +
	"\x1agroupInviteLinkResetUpdate\x18\x18 \x01(\v2).signal.backup.GroupInviteLinkResetUpdateH\x00R\x1agroupInviteLinkResetUpdate\x12q\n" +
	"\x1cgroupInviteLinkEnabledUpdate\x18\x19 \x01(\v2+.signal.backup.GroupInviteLinkEnabledUpdateH\x00R\x1cgroupInviteLinkEnabledUpdate\x12\x83\x01\n" +
	"\"groupInviteLinkAdminApprovalUpdate\x18\x1a \x01(\v21.signal.backup.GroupInviteLinkAdminApprovalUpdateH\x00R\"groupInviteLinkAdminApprovalUpdate\x12t\n" +
	"\x1dgroupInviteLinkDisabledUpdate\x18\x1b \x01(\v2,.signal.backup.GroupInviteLinkDisabledUpdateH\x00R\x1dgroupInviteLinkDisabledUpdate\x12t\n" +
	"\x1dgroupMemberJoinedByLinkUpdate\x18\x1c \x01(\v2,.signal.backup.GroupMemberJoinedByLinkUpdateH\x00R\x1dgroupMemberJoinedByLinkUpdate\x12_\n" +
	"\x16groupV2MigrationUpdate\x18\x1d \x01(\v2%.signal.backup.GroupV2MigrationUpdateH\x00R\x16groupV2MigrationUpdate\x12\x80\x01\n" +
	"!groupV2MigrationSelfInvitedUpdate\x18\x1e \x01(\v20.signal.backup.GroupV2MigrationSelfInvitedUpdateH\x00R!groupV2MigrationSelfInvitedUpdate\x12\x89\x01\n" +
	"$groupV2MigrationInvitedMembersUpdate\x18\x1f \x01(\v23.signal.backup.GroupV2MigrationInvitedMembersUpdateH\x00R$groupV2MigrationInvitedMembersUpdate\x12\x89\x01\n" +
	"$groupV2MigrationDroppedMembersUpdate\x18  \x01(\v23.signal.backup.GroupV2MigrationDroppedMembersUpdateH\x00R$groupV2MigrationDroppedMembersUpdate\x12\x92\x01\n" +
	"'groupSequenceOfRequestsAndCancelsUpdate\x18! \x01(\v26.signal.backup.GroupSequenceOfRequestsAndCancelsUpdateH\x00R'groupSequenceOfRequestsAndCancelsUpdate\x12k\n" +
	"\x1agroupExpirationTimerUpdate\x18\" \x01(\v2).signal.backup.GroupExpirationTimerUpdateH\x00R\x1agroupExpirationTimerUpdateB\b\n" +
	"\x06update\"H\n" +
	"\x12GenericGroupUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01B\r\n" +
	"\v_updaterAci\"I\n" +
	"\x13GroupCreationUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01B\r\n" +
	"\v_updaterAci\"\x7f\n" +
	"\x0fGroupNameUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12'\n" +
	"\fnewGroupName\x18\x02 \x01(\tH\x01R\fnewGroupName\x88\x01\x01B\r\n" +
	"\v_updaterAciB\x0f\n" +
	"\r_newGroupName\"g\n" +
	"\x11GroupAvatarUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12\x1e\n" +
	"\n" +
	"wasRemoved\x18\x02 \x01(\bR\n" +
	"wasRemovedB\r\n" +
	"\v_updaterAci\"\x8c\x01\n" +
	"\x16GroupDescriptionUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12+\n" +
	"\x0enewDescription\x18\x02 \x01(\tH\x01R\x0enewDescription\x88\x01\x01B\r\n" +
	"\v_updaterAciB\x11\n" +
	"\x0f_newDescription\"\xa1\x01\n" +
	"&GroupMembershipAccessLevelChangeUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12C\n" +
	"\vaccessLevel\x18\x02 \x01(\x0e2!.signal.backup.GroupV2AccessLevelR\vaccessLevelB\r\n" +
	"\v_updaterAci\"\xa1\x01\n" +
	"&GroupAttributesAccessLevelChangeUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12C\n" +
	"\vaccessLevel\x18\x02 \x01(\x0e2!.signal.backup.GroupV2AccessLevelR\vaccessLevelB\r\n" +
	"\v_updaterAci\"\x87\x01\n" +
	"!GroupAnnouncementOnlyChangeUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12.\n" +
	"\x12isAnnouncementOnly\x18\x02 \x01(\bR\x12isAnnouncementOnlyB\r\n" +
	"\v_updaterAci\"\xa0\x01\n" +
	"\x16GroupAdminStatusUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12\x1c\n" +
	"\tmemberAci\x18\x02 \x01(\fR\tmemberAci\x124\n" +
	"\x15wasAdminStatusGranted\x18\x03 \x01(\bR\x15wasAdminStatusGrantedB\r\n" +
	"\v_updaterAci\")\n" +
	"\x15GroupMemberLeftUpdate\x12\x10\n" +
	"\x03aci\x18\x01 \x01(\fR\x03aci\"n\n" +
	"\x18GroupMemberRemovedUpdate\x12#\n" +
	"\n" +
	"removerAci\x18\x01 \x01(\fH\x00R\n" +
	"removerAci\x88\x01\x01\x12\x1e\n" +
	"\n" +
	"removedAci\x18\x02 \x01(\fR\n" +
	"removedAciB\r\n" +
	"\v_removerAci\"N\n" +
	"\x18SelfInvitedToGroupUpdate\x12#\n" +
	"\n" +
	"inviterAci\x18\x01 \x01(\fH\x00R\n" +
	"inviterAci\x88\x01\x01B\r\n" +
	"\v_inviterAci\"O\n" +
	"!SelfInvitedOtherUserToGroupUpdate\x12*\n" +
	"\x10inviteeServiceId\x18\x01 \x01(\fR\x10inviteeServiceId\"s\n" +
	"\x19GroupUnknownInviteeUpdate\x12#\n" +
	"\n" +
	"inviterAci\x18\x01 \x01(\fH\x00R\n" +
	"inviterAci\x88\x01\x01\x12\"\n" +
	"\finviteeCount\x18\x02 \x01(\rR\finviteeCountB\r\n" +
	"\v_inviterAci\"w\n" +
	"\x1dGroupInvitationAcceptedUpdate\x12#\n" +
	"\n" +
	"inviterAci\x18\x01 \x01(\fH\x00R\n" +
	"inviterAci\x88\x01\x01\x12\"\n" +
	"\fnewMemberAci\x18\x02 \x01(\fR\fnewMemberAciB\r\n" +
	"\v_inviterAci\"\x87\x01\n" +
	"\x1dGroupInvitationDeclinedUpdate\x12#\n" +
	"\n" +
	"inviterAci\x18\x01 \x01(\fH\x00R\n" +
	"inviterAci\x88\x01\x01\x12#\n" +
	"\n" +
	"inviteeAci\x18\x02 \x01(\fH\x01R\n" +
	"inviteeAci\x88\x01\x01B\r\n" +
	"\v_inviterAciB\r\n" +
	"\v_inviteeAci\"=\n" +
	"\x17GroupMemberJoinedUpdate\x12\"\n" +
	"\fnewMemberAci\x18\x01 \x01(\fR\fnewMemberAci\"\xd2\x01\n" +
	"\x16GroupMemberAddedUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12\"\n" +
	"\fnewMemberAci\x18\x02 \x01(\fR\fnewMemberAci\x12,\n" +
	"\x11hadOpenInvitation\x18\x03 \x01(\bR\x11hadOpenInvitation\x12#\n" +
	"\n" +
	"inviterAci\x18\x04 \x01(\fH\x01R\n" +
	"inviterAci\x88\x01\x01B\r\n" +
	"\v_updaterAciB\r\n" +
	"\v_inviterAci\"V\n" +
	" GroupSelfInvitationRevokedUpdate\x12#\n" +
	"\n" +
	"revokerAci\x18\x01 \x01(\fH\x00R\n" +
	"revokerAci\x88\x01\x01B\r\n" +
	"\v_revokerAci\"\xcb\x02\n" +
	"\x1cGroupInvitationRevokedUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12O\n" +
	"\binvitees\x18\x02 \x03(\v23.signal.backup.GroupInvitationRevokedUpdate.InviteeR\binvitees\x1a\xa5\x01\n" +
	"\aInvitee\x12#\n" +
	"\n" +
	"inviterAci\x18\x01 \x01(\fH\x00R\n" +
	"inviterAci\x88\x01\x01\x12#\n" +
	"\n" +
	"inviteeAci\x18\x02 \x01(\fH\x01R\n" +
	"inviteeAci\x88\x01\x01\x12#\n" +
	"\n" +
	"inviteePni\x18\x03 \x01(\fH\x02R\n" +
	"inviteePni\x88\x01\x01B\r\n" +
	"\v_inviterAciB\r\n" +
	"\v_inviteeAciB\r\n" +
	"\v_inviteePniB\r\n" +
	"\v_updaterAci\"<\n" +
	"\x16GroupJoinRequestUpdate\x12\"\n" +
	"\frequestorAci\x18\x01 \x01(\fR\frequestorAci\"\x9a\x01\n" +
	"\x1eGroupJoinRequestApprovalUpdate\x12\"\n" +
	"\frequestorAci\x18\x01 \x01(\fR\frequestorAci\x12#\n" +
	"\n" +
	"updaterAci\x18\x02 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12 \n" +
	"\vwasApproved\x18\x03 \x01(\bR\vwasApprovedB\r\n" +
	"\v_updaterAci\"D\n" +
	"\x1eGroupJoinRequestCanceledUpdate\x12\"\n" +
	"\frequestorAci\x18\x01 \x01(\fR\frequestorAci\"c\n" +
	"'GroupSequenceOfRequestsAndCancelsUpdate\x12\"\n" +
	"\frequestorAci\x18\x01 \x01(\fR\frequestorAci\x12\x14\n" +
	"\x05count\x18\x02 \x01(\rR\x05count\"P\n" +
	"\x1aGroupInviteLinkResetUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01B\r\n" +
	"\v_updaterAci\"\x90\x01\n" +
	"\x1cGroupInviteLinkEnabledUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12<\n" +
	"\x19linkRequiresAdminApproval\x18\x02 \x01(\bR\x19linkRequiresAdminApprovalB\r\n" +
	"\v_updaterAci\"\x96\x01\n" +
	"\"GroupInviteLinkAdminApprovalUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01\x12<\n" +
	"\x19linkRequiresAdminApproval\x18\x02 \x01(\bR\x19linkRequiresAdminApprovalB\r\n" +
	"\v_updaterAci\"S\n" +
	"\x1dGroupInviteLinkDisabledUpdate\x12#\n" +
	"\n" +
	"updaterAci\x18\x01 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01B\r\n" +
	"\v_updaterAci\"C\n" +
	"\x1dGroupMemberJoinedByLinkUpdate\x12\"\n" +
	"\fnewMemberAci\x18\x01 \x01(\fR\fnewMemberAci\"\x18\n" +
	"\x16GroupV2MigrationUpdate\"#\n" +
	"!GroupV2MigrationSelfInvitedUpdate\"X\n" +
	"$GroupV2MigrationInvitedMembersUpdate\x120\n" +
	"\x13invitedMembersCount\x18\x01 \x01(\rR\x13invitedMembersCount\"X\n" +
	"$GroupV2MigrationDroppedMembersUpdate\x120\n" +
	"\x13droppedMembersCount\x18\x01 \x01(\rR\x13droppedMembersCount\"r\n" +
	"\x1aGroupExpirationTimerUpdate\x12 \n" +
	"\vexpiresInMs\x18\x01 \x01(\x04R\vexpiresInMs\x12#\n" +
	"\n" +
	"updaterAci\x18\x02 \x01(\fH\x00R\n" +
	"updaterAci\x88\x01\x01B\r\n" +
	"\v_updaterAci\"c\n" +
	"\x13PollTerminateUpdate\x120\n" +
	"\x13targetSentTimestamp\x18\x01 \x01(\x04R\x13targetSentTimestamp\x12\x1a\n" +
	"\bquestion\x18\x02 \x01(\tR\bquestion\"`\n" +
	"\x10PinMessageUpdate\x120\n" +
	"\x13targetSentTimestamp\x18\x01 \x01(\x04R\x13targetSentTimestamp\x12\x1a\n" +
	"\bauthorId\x18\x02 \x01(\x04R\bauthorId\"?\n" +
	"\vStickerPack\x12\x16\n" +
	"\x06packId\x18\x01 \x01(\fR\x06packId\x12\x18\n" +
	"\apackKey\x18\x02 \x01(\fR\apackKey\"\x80\r\n" +
	"\tChatStyle\x12T\n" +
	"\x0fwallpaperPreset\x18\x01 \x01(\x0e2(.signal.backup.ChatStyle.WallpaperPresetH\x00R\x0fwallpaperPreset\x12D\n" +
	"\x0ewallpaperPhoto\x18\x02 \x01(\v2\x1a.signal.backup.FilePointerH\x00R\x0ewallpaperPhoto\x12Y\n" +
	"\x0fautoBubbleColor\x18\x03 \x01(\v2-.signal.backup.ChatStyle.AutomaticBubbleColorH\x01R\x0fautoBubbleColor\x12Z\n" +
	"\x11bubbleColorPreset\x18\x04 \x01(\x0e2*.signal.backup.ChatStyle.BubbleColorPresetH\x01R\x11bubbleColorPreset\x12&\n" +
	"\rcustomColorId\x18\x05 \x01(\x04H\x01R\rcustomColorId\x126\n" +
	"\x16dimWallpaperInDarkMode\x18\a \x01(\bR\x16dimWallpaperInDarkMode\x1aV\n" +
	"\bGradient\x12\x14\n" +
	"\x05angle\x18\x01 \x01(\rR\x05angle\x12\x16\n" +
	"\x06colors\x18\x02 \x03(\aR\x06colors\x12\x1c\n" +
	"\tpositions\x18\x03 \x03(\x02R\tpositions\x1a\x83\x01\n" +
	"\x0fCustomChatColor\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x04R\x02id\x12\x16\n" +
	"\x05solid\x18\x02 \x01(\aH\x00R\x05solid\x12?\n" +
	"\bgradient\x18\x03 \x01(\v2!.signal.backup.ChatStyle.GradientH\x00R\bgradientB\a\n" +
	"\x05color\x1a\x16\n" +
	"\x14AutomaticBubbleColor\"\xc1\x03\n" +
	"\x0fWallpaperPreset\x12\x1c\n" +
	"\x18UNKNOWN_WALLPAPER_PRESET\x10\x00\x12\x0f\n" +
	"\vSOLID_BLUSH\x10\x01\x12\x10\n" +
	"\fSOLID_COPPER\x10\x02\x12\x0e\n" +
	"\n" +
	"SOLID_DUST\x10\x03\x12\x11\n" +
	"\rSOLID_CELADON\x10\x04\x12\x14\n" +
	"\x10SOLID_RAINFOREST\x10\x05\x12\x11\n" +
	"\rSOLID_PACIFIC\x10\x06\x12\x0f\n" +
	"\vSOLID_FROST\x10\a\x12\x0e\n" +
	"\n" +
	"SOLID_NAVY\x10\b\x12\x0f\n" +
	"\vSOLID_LILAC\x10\t\x12\x0e\n" +
	"\n" +
	"SOLID_PINK\x10\n" +
	"\x12\x12\n" +
	"\x0eSOLID_EGGPLANT\x10\v\x12\x10\n" +
	"\fSOLID_SILVER\x10\f\x12\x13\n" +
	"\x0fGRADIENT_SUNSET\x10\r\x12\x11\n" +
	"\rGRADIENT_NOIR\x10\x0e\x12\x14\n" +
	"\x10GRADIENT_HEATMAP\x10\x0f\x12\x11\n" +
	"\rGRADIENT_AQUA\x10\x10\x12\x17\n" +
	"\x13GRADIENT_IRIDESCENT\x10\x11\x12\x15\n" +
	"\x11GRADIENT_MONSTERA\x10\x12\x12\x12\n" +
	"\x0eGRADIENT_BLISS\x10\x13\x12\x10\n" +
	"\fGRADIENT_SKY\x10\x14\x12\x12\n" +
	"\x0eGRADIENT_PEACH\x10\x15\"\xe9\x03\n" +
	"\x11BubbleColorPreset\x12\x1f\n" +
	"\x1bUNKNOWN_BUBBLE_COLOR_PRESET\x10\x00\x12\x15\n" +
	"\x11SOLID_ULTRAMARINE\x10\x01\x12\x11\n" +
	"\rSOLID_CRIMSON\x10\x02\x12\x13\n" +
	"\x0fSOLID_VERMILION\x10\x03\x12\x10\n" +
	"\fSOLID_BURLAP\x10\x04\x12\x10\n" +
	"\fSOLID_FOREST\x10\x05\x12\x15\n" +
	"\x11SOLID_WINTERGREEN\x10\x06\x12\x0e\n" +
	"\n" +
	"SOLID_TEAL\x10\a\x12\x0e\n" +
	"\n" +
	"SOLID_BLUE\x10\b\x12\x10\n" +
	"\fSOLID_INDIGO\x10\t\x12\x10\n" +
	"\fSOLID_VIOLET\x10\n" +
	"\x12\x0e\n" +
	"\n" +
	"SOLID_PLUM\x10\v\x12\x0f\n" +
	"\vSOLID_TAUPE\x10\f\x12\x0f\n" +
	"\vSOLID_STEEL\x10\r\x12\x12\n" +
	"\x0eGRADIENT_EMBER\x10\x0e\x12\x15\n" +
	"\x11GRADIENT_MIDNIGHT\x10\x0f\x12\x15\n" +
	"\x11GRADIENT_INFRARED\x10\x10\x12\x13\n" +
	"\x0fGRADIENT_LAGOON\x10\x11\x12\x18\n" +
	"\x14GRADIENT_FLUORESCENT\x10\x12\x12\x12\n" +
	"\x0eGRADIENT_BASIL\x10\x13\x12\x14\n" +
	"\x10GRADIENT_SUBLIME\x10\x14\x12\x10\n" +
	"\fGRADIENT_SEA\x10\x15\x12\x16\n" +
	"\x12GRADIENT_TANGERINE\x10\x16B\v\n" +
	"\twallpaperB\r\n" +
	"\vbubbleColor\"\xe8\x04\n" +
	"\x13NotificationProfile\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n" +
	"\x05emoji\x18\x02 \x01(\tH\x00R\x05emoji\x88\x01\x01\x12\x14\n" +
	"\x05color\x18\x03 \x01(\aR\x05color\x12 \n" +
	"\vcreatedAtMs\x18\x04 \x01(\x04R\vcreatedAtMs\x12$\n" +
	"\rallowAllCalls\x18\x05 \x01(\bR\rallowAllCalls\x12*\n" +
	"\x10allowAllMentions\x18\x06 \x01(\bR\x10allowAllMentions\x12&\n" +
	"\x0eallowedMembers\x18\a \x03(\x04R\x0eallowedMembers\x12(\n" +
	"\x0fscheduleEnabled\x18\b \x01(\bR\x0fscheduleEnabled\x12,\n" +
	"\x11scheduleStartTime\x18\t \x01(\rR\x11scheduleStartTime\x12(\n" +
	"\x0fscheduleEndTime\x18\n" +
	" \x01(\rR\x0fscheduleEndTime\x12^\n" +
	"\x13scheduleDaysEnabled\x18\v \x03(\x0e2,.signal.backup.NotificationProfile.DayOfWeekR\x13scheduleDaysEnabled\x12\x0e\n" +
	"\x02id\x18\f \x01(\fR\x02id\"t\n" +
	"\tDayOfWeek\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\n" +
	"\n" +
	"\x06MONDAY\x10\x01\x12\v\n" +
	"\aTUESDAY\x10\x02\x12\r\n" +
	"\tWEDNESDAY\x10\x03\x12\f\n" +
	"\bTHURSDAY\x10\x04\x12\n" +
	"\n" +
	"\x06FRIDAY\x10\x05\x12\f\n" +
	"\bSATURDAY\x10\x06\x12\n" +
	"\n" +
	"\x06SUNDAY\x10\aB\b\n" +
	"\x06_emoji\"\xd0\x03\n" +
	"\n" +
	"ChatFolder\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12&\n" +
	"\x0eshowOnlyUnread\x18\x02 \x01(\bR\x0eshowOnlyUnread\x12&\n" +
	"\x0eshowMutedChats\x18\x03 \x01(\bR\x0eshowMutedChats\x12<\n" +
	"\x19includeAllIndividualChats\x18\x04 \x01(\bR\x19includeAllIndividualChats\x122\n" +
	"\x14includeAllGroupChats\x18\x05 \x01(\bR\x14includeAllGroupChats\x12D\n" +
	"\n" +
	"folderType\x18\x06 \x01(\x0e2$.signal.backup.ChatFolder.FolderTypeR\n" +
	"folderType\x122\n" +
	"\x14includedRecipientIds\x18\a \x03(\x04R\x14includedRecipientIds\x122\n" +
	"\x14excludedRecipientIds\x18\b \x03(\x04R\x14excludedRecipientIds\x12\x0e\n" +
	"\x02id\x18\t \x01(\fR\x02id\".\n" +
	"\n" +
	"FolderType\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\a\n" +
	"\x03ALL\x10\x01\x12\n" +
	"\n" +
	"\x06CUSTOM\x10\x02*\x85\x01\n" +
	"\vAvatarColor\x12\b\n" +
	"\x04A100\x10\x00\x12\b\n" +
	"\x04A110\x10\x01\x12\b\n" +
	"\x04A120\x10\x02\x12\b\n" +
	"\x04A130\x10\x03\x12\b\n" +
	"\x04A140\x10\x04\x12\b\n" +
	"\x04A150\x10\x05\x12\b\n" +
	"\x04A160\x10\x06\x12\b\n" +
	"\x04A170\x10\a\x12\b\n" +
	"\x04A180\x10\b\x12\b\n" +
	"\x04A190\x10\t\x12\b\n" +
	"\x04A200\x10\n" +
	"\x12\b\n" +
	"\x04A210\x10\v*\\\n" +
	"\x12GroupV2AccessLevel\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\a\n" +
	"\x03ANY\x10\x01\x12\n" +
	"\n" +
	"\x06MEMBER\x10\x02\x12\x11\n" +
	"\rADMINISTRATOR\x10\x03\x12\x11\n" +
	"\rUNSATISFIABLE\x10\x04B;\n" +
	"*org.thoughtcrime.securesms.backup.v2.proto\xba\x02\fBackupProto_b\x06proto3"

var (
	file_backuppb_Backup_proto_rawDescOnce sync.Once
	file_backuppb_Backup_proto_rawDescData []byte
)

func file_backuppb_Backup_proto_rawDescGZIP() []byte {
	file_backuppb_Backup_proto_rawDescOnce.Do(func() {
		file_backuppb_Backup_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_backuppb_Backup_proto_rawDesc), len(file_backuppb_Backup_proto_rawDesc)))
	})
	return file_backuppb_Backup_proto_rawDescData
}

var file_backuppb_Backup_proto_enumTypes = make([]protoimpl.EnumInfo, 36)
var file_backuppb_Backup_proto_msgTypes = make([]protoimpl.MessageInfo, 128)
var file_backuppb_Backup_proto_goTypes = []any{
	(AvatarColor)(0),                                                            // 0: signal.backup.AvatarColor
	(GroupV2AccessLevel)(0),                                                     // 1: signal.backup.GroupV2AccessLevel
	(AccountData_PhoneNumberSharingMode)(0),                                     // 2: signal.backup.AccountData.PhoneNumberSharingMode
	(AccountData_SentMediaQuality)(0),                                           // 3: signal.backup.AccountData.SentMediaQuality
	(AccountData_AppTheme)(0),                                                   // 4: signal.backup.AccountData.AppTheme
	(AccountData_CallsUseLessDataSetting)(0),                                    // 5: signal.backup.AccountData.CallsUseLessDataSetting
	(AccountData_UsernameLink_Color)(0),                                         // 6: signal.backup.AccountData.UsernameLink.Color
	(AccountData_AutoDownloadSettings_AutoDownloadOption)(0),                    // 7: signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOption
	(AccountData_AndroidSpecificSettings_NavigationBarSize)(0),                  // 8: signal.backup.AccountData.AndroidSpecificSettings.NavigationBarSize
	(Contact_IdentityState)(0),                                                  // 9: signal.backup.Contact.IdentityState
	(Contact_Visibility)(0),                                                     // 10: signal.backup.Contact.Visibility
	(Group_StorySendMode)(0),                                                    // 11: signal.backup.Group.StorySendMode
	(Group_Member_Role)(0),                                                      // 12: signal.backup.Group.Member.Role
	(Group_AccessControl_AccessRequired)(0),                                     // 13: signal.backup.Group.AccessControl.AccessRequired
	(CallLink_Restrictions)(0),                                                  // 14: signal.backup.CallLink.Restrictions
	(AdHocCall_State)(0),                                                        // 15: signal.backup.AdHocCall.State
	(DistributionList_PrivacyMode)(0),                                           // 16: signal.backup.DistributionList.PrivacyMode
	(SendStatus_Failed_FailureReason)(0),                                        // 17: signal.backup.SendStatus.Failed.FailureReason
	(PaymentNotification_TransactionDetails_FailedTransaction_FailureReason)(0), // 18: signal.backup.PaymentNotification.TransactionDetails.FailedTransaction.FailureReason
	(PaymentNotification_TransactionDetails_Transaction_Status)(0),              // 19: signal.backup.PaymentNotification.TransactionDetails.Transaction.Status
	(GiftBadge_State)(0),                                                        // 20: signal.backup.GiftBadge.State
	(ContactAttachment_Phone_Type)(0),                                           // 21: signal.backup.ContactAttachment.Phone.Type
	(ContactAttachment_Email_Type)(0),                                           // 22: signal.backup.ContactAttachment.Email.Type
	(ContactAttachment_PostalAddress_Type)(0),                                   // 23: signal.backup.ContactAttachment.PostalAddress.Type
	(MessageAttachment_Flag)(0),                                                 // 24: signal.backup.MessageAttachment.Flag
	(Quote_Type)(0),                                                             // 25: signal.backup.Quote.Type
	(BodyRange_Style)(0),                                                        // 26: signal.backup.BodyRange.Style
	(IndividualCall_Type)(0),                                                    // 27: signal.backup.IndividualCall.Type
	(IndividualCall_Direction)(0),                                               // 28: signal.backup.IndividualCall.Direction
	(IndividualCall_State)(0),                                                   // 29: signal.backup.IndividualCall.State
	(GroupCall_State)(0),                                                        // 30: signal.backup.GroupCall.State
	(SimpleChatUpdate_Type)(0),                                                  // 31: signal.backup.SimpleChatUpdate.Type
	(ChatStyle_WallpaperPreset)(0),                                              // 32: signal.backup.ChatStyle.WallpaperPreset
	(ChatStyle_BubbleColorPreset)(0),                                            // 33: signal.backup.ChatStyle.BubbleColorPreset
	(NotificationProfile_DayOfWeek)(0),                                          // 34: signal.backup.NotificationProfile.DayOfWeek
	(ChatFolder_FolderType)(0),                                                  // 35: signal.backup.ChatFolder.FolderType
	(*BackupInfo)(nil),                                                          // 36: signal.backup.BackupInfo
	(*Frame)(nil),                                                               // 37: signal.backup.Frame
	(*AccountData)(nil),                                                         // 38: signal.backup.AccountData
	(*Recipient)(nil),                                                           // 39: signal.backup.Recipient
	(*Contact)(nil),                                                             // 40: signal.backup.Contact
	(*Group)(nil),                                                               // 41: signal.backup.Group
	(*Self)(nil),                                                                // 42: signal.backup.Self
	(*ReleaseNotes)(nil),                                                        // 43: signal.backup.ReleaseNotes
	(*Chat)(nil),                                                                // 44: signal.backup.Chat
	(*CallLink)(nil),                                                            // 45: signal.backup.CallLink
	(*AdHocCall)(nil),                                                           // 46: signal.backup.AdHocCall
	(*DistributionListItem)(nil),                                                // 47: signal.backup.DistributionListItem
	(*DistributionList)(nil),                                                    // 48: signal.backup.DistributionList
	(*ChatItem)(nil),                                                            // 49: signal.backup.ChatItem
	(*SendStatus)(nil),                                                          // 50: signal.backup.SendStatus
	(*Text)(nil),                                                                // 51: signal.backup.Text
	(*StandardMessage)(nil),                                                     // 52: signal.backup.StandardMessage
	(*ContactMessage)(nil),                                                      // 53: signal.backup.ContactMessage
	(*DirectStoryReplyMessage)(nil),                                             // 54: signal.backup.DirectStoryReplyMessage
	(*PaymentNotification)(nil),                                                 // 55: signal.backup.PaymentNotification
	(*GiftBadge)(nil),                                                           // 56: signal.backup.GiftBadge
	(*ViewOnceMessage)(nil),                                                     // 57: signal.backup.ViewOnceMessage
	(*ContactAttachment)(nil),                                                   // 58: signal.backup.ContactAttachment
	(*StickerMessage)(nil),                                                      // 59: signal.backup.StickerMessage
	(*RemoteDeletedMessage)(nil),                                                // 60: signal.backup.RemoteDeletedMessage
	(*Sticker)(nil),                                                             // 61: signal.backup.Sticker
	(*LinkPreview)(nil),                                                         // 62: signal.backup.LinkPreview
	(*MessageAttachment)(nil),                                                   // 63: signal.backup.MessageAttachment
	(*FilePointer)(nil),                                                         // 64: signal.backup.FilePointer
	(*Quote)(nil),                                                               // 65: signal.backup.Quote
	(*BodyRange)(nil),                                                           // 66: signal.backup.BodyRange
	(*Reaction)(nil),                                                            // 67: signal.backup.Reaction
	(*Poll)(nil),                                                                // 68: signal.backup.Poll
	(*ChatUpdateMessage)(nil),                                                   // 69: signal.backup.ChatUpdateMessage
	(*IndividualCall)(nil),                                                      // 70: signal.backup.IndividualCall
	(*GroupCall)(nil),                                                           // 71: signal.backup.GroupCall
	(*SimpleChatUpdate)(nil),                                                    // 72: signal.backup.SimpleChatUpdate
	(*ExpirationTimerChatUpdate)(nil),                                           // 73: signal.backup.ExpirationTimerChatUpdate
	(*ProfileChangeChatUpdate)(nil),                                             // 74: signal.backup.ProfileChangeChatUpdate
	(*LearnedProfileChatUpdate)(nil),                                            // 75: signal.backup.LearnedProfileChatUpdate
	(*ThreadMergeChatUpdate)(nil),                                               // 76: signal.backup.ThreadMergeChatUpdate
	(*SessionSwitchoverChatUpdate)(nil),                                         // 77: signal.backup.SessionSwitchoverChatUpdate
	(*GroupChangeChatUpdate)(nil),                                               // 78: signal.backup.GroupChangeChatUpdate
	(*GenericGroupUpdate)(nil),                                                  // 79: signal.backup.GenericGroupUpdate
	(*GroupCreationUpdate)(nil),                                                 // 80: signal.backup.GroupCreationUpdate
	(*GroupNameUpdate)(nil),                                                     // 81: signal.backup.GroupNameUpdate
	(*GroupAvatarUpdate)(nil),                                                   // 82: signal.backup.GroupAvatarUpdate
	(*GroupDescriptionUpdate)(nil),                                              // 83: signal.backup.GroupDescriptionUpdate
	(*GroupMembershipAccessLevelChangeUpdate)(nil),                              // 84: signal.backup.GroupMembershipAccessLevelChangeUpdate
	(*GroupAttributesAccessLevelChangeUpdate)(nil),                              // 85: signal.backup.GroupAttributesAccessLevelChangeUpdate
	(*GroupAnnouncementOnlyChangeUpdate)(nil),                                   // 86: signal.backup.GroupAnnouncementOnlyChangeUpdate
	(*GroupAdminStatusUpdate)(nil),                                              // 87: signal.backup.GroupAdminStatusUpdate
	(*GroupMemberLeftUpdate)(nil),                                               // 88: signal.backup.GroupMemberLeftUpdate
	(*GroupMemberRemovedUpdate)(nil),                                            // 89: signal.backup.GroupMemberRemovedUpdate
	(*SelfInvitedToGroupUpdate)(nil),                                            // 90: signal.backup.SelfInvitedToGroupUpdate
	(*SelfInvitedOtherUserToGroupUpdate)(nil),                                   // 91: signal.backup.SelfInvitedOtherUserToGroupUpdate
	(*GroupUnknownInviteeUpdate)(nil),                                           // 92: signal.backup.GroupUnknownInviteeUpdate
	(*GroupInvitationAcceptedUpdate)(nil),                                       // 93: signal.backup.GroupInvitationAcceptedUpdate
	(*GroupInvitationDeclinedUpdate)(nil),                                       // 94: signal.backup.GroupInvitationDeclinedUpdate
	(*GroupMemberJoinedUpdate)(nil),                                             // 95: signal.backup.GroupMemberJoinedUpdate
	(*GroupMemberAddedUpdate)(nil),                                              // 96: signal.backup.GroupMemberAddedUpdate
	(*GroupSelfInvitationRevokedUpdate)(nil),                                    // 97: signal.backup.GroupSelfInvitationRevokedUpdate
	(*GroupInvitationRevokedUpdate)(nil),                                        // 98: signal.backup.GroupInvitationRevokedUpdate
	(*GroupJoinRequestUpdate)(nil),                                              // 99: signal.backup.GroupJoinRequestUpdate
	(*GroupJoinRequestApprovalUpdate)(nil),                                      // 100: signal.backup.GroupJoinRequestApprovalUpdate
	(*GroupJoinRequestCanceledUpdate)(nil),                                      // 101: signal.backup.GroupJoinRequestCanceledUpdate
	(*GroupSequenceOfRequestsAndCancelsUpdate)(nil),                             // 102: signal.backup.GroupSequenceOfRequestsAndCancelsUpdate
	(*GroupInviteLinkResetUpdate)(nil),                                          // 103: signal.backup.GroupInviteLinkResetUpdate
	(*GroupInviteLinkEnabledUpdate)(nil),                                        // 104: signal.backup.GroupInviteLinkEnabledUpdate
	(*GroupInviteLinkAdminApprovalUpdate)(nil),                                  // 105: signal.backup.GroupInviteLinkAdminApprovalUpdate
	(*GroupInviteLinkDisabledUpdate)(nil),                                       // 106: signal.backup.GroupInviteLinkDisabledUpdate
	(*GroupMemberJoinedByLinkUpdate)(nil),                                       // 107: signal.backup.GroupMemberJoinedByLinkUpdate
	(*GroupV2MigrationUpdate)(nil),                                              // 108: signal.backup.GroupV2MigrationUpdate
	(*GroupV2MigrationSelfInvitedUpdate)(nil),                                   // 109: signal.backup.GroupV2MigrationSelfInvitedUpdate
	(*GroupV2MigrationInvitedMembersUpdate)(nil),                                // 110: signal.backup.GroupV2MigrationInvitedMembersUpdate
	(*GroupV2MigrationDroppedMembersUpdate)(nil),                                // 111: signal.backup.GroupV2MigrationDroppedMembersUpdate
	(*GroupExpirationTimerUpdate)(nil),                                          // 112: signal.backup.GroupExpirationTimerUpdate
	(*PollTerminateUpdate)(nil),                                                 // 113: signal.backup.PollTerminateUpdate
	(*PinMessageUpdate)(nil),                                                    // 114: signal.backup.PinMessageUpdate
	(*StickerPack)(nil),                                                         // 115: signal.backup.StickerPack
	(*ChatStyle)(nil),                                                           // 116: signal.backup.ChatStyle
	(*NotificationProfile)(nil),                                                 // 117: signal.backup.NotificationProfile
	(*ChatFolder)(nil),                                                          // 118: signal.backup.ChatFolder
	(*AccountData_UsernameLink)(nil),                                            // 119: signal.backup.AccountData.UsernameLink
	(*AccountData_AutoDownloadSettings)(nil),                                    // 120: signal.backup.AccountData.AutoDownloadSettings
	(*AccountData_AccountSettings)(nil),                                         // 121: signal.backup.AccountData.AccountSettings
	(*AccountData_SubscriberData)(nil),                                          // 122: signal.backup.AccountData.SubscriberData
	(*AccountData_IAPSubscriberData)(nil),                                       // 123: signal.backup.AccountData.IAPSubscriberData
	(*AccountData_AndroidSpecificSettings)(nil),                                 // 124: signal.backup.AccountData.AndroidSpecificSettings
	(*Contact_Registered)(nil),                                                  // 125: signal.backup.Contact.Registered
	(*Contact_NotRegistered)(nil),                                               // 126: signal.backup.Contact.NotRegistered
	(*Contact_Name)(nil),                                                        // 127: signal.backup.Contact.Name
	(*Group_GroupSnapshot)(nil),                                                 // 128: signal.backup.Group.GroupSnapshot
	(*Group_GroupAttributeBlob)(nil),                                            // 129: signal.backup.Group.GroupAttributeBlob
	(*Group_Member)(nil),                                                        // 130: signal.backup.Group.Member
	(*Group_MemberPendingProfileKey)(nil),                                       // 131: signal.backup.Group.MemberPendingProfileKey
	(*Group_MemberPendingAdminApproval)(nil),                                    // 132: signal.backup.Group.MemberPendingAdminApproval
	(*Group_MemberBanned)(nil),                                                  // 133: signal.backup.Group.MemberBanned
	(*Group_AccessControl)(nil),                                                 // 134: signal.backup.Group.AccessControl
	(*ChatItem_IncomingMessageDetails)(nil),                                     // 135: signal.backup.ChatItem.IncomingMessageDetails
	(*ChatItem_OutgoingMessageDetails)(nil),                                     // 136: signal.backup.ChatItem.OutgoingMessageDetails
	(*ChatItem_DirectionlessMessageDetails)(nil),                                // 137: signal.backup.ChatItem.DirectionlessMessageDetails
	(*ChatItem_PinDetails)(nil),                                                 // 138: signal.backup.ChatItem.PinDetails
	(*SendStatus_Pending)(nil),                                                  // 139: signal.backup.SendStatus.Pending
	(*SendStatus_Sent)(nil),                                                     // 140: signal.backup.SendStatus.Sent
	(*SendStatus_Delivered)(nil),                                                // 141: signal.backup.SendStatus.Delivered
	(*SendStatus_Read)(nil),                                                     // 142: signal.backup.SendStatus.Read
	(*SendStatus_Viewed)(nil),                                                   // 143: signal.backup.SendStatus.Viewed
	(*SendStatus_Skipped)(nil),                                                  // 144: signal.backup.SendStatus.Skipped
	(*SendStatus_Failed)(nil),                                                   // 145: signal.backup.SendStatus.Failed
	(*DirectStoryReplyMessage_TextReply)(nil),                                   // 146: signal.backup.DirectStoryReplyMessage.TextReply
	(*PaymentNotification_TransactionDetails)(nil),                              // 147: signal.backup.PaymentNotification.TransactionDetails
	(*PaymentNotification_TransactionDetails_MobileCoinTxoIdentification)(nil), // 148: signal.backup.PaymentNotification.TransactionDetails.MobileCoinTxoIdentification
	(*PaymentNotification_TransactionDetails_FailedTransaction)(nil),           // 149: signal.backup.PaymentNotification.TransactionDetails.FailedTransaction
	(*PaymentNotification_TransactionDetails_Transaction)(nil),                 // 150: signal.backup.PaymentNotification.TransactionDetails.Transaction
	(*ContactAttachment_Name)(nil),                                             // 151: signal.backup.ContactAttachment.Name
	(*ContactAttachment_Phone)(nil),                                            // 152: signal.backup.ContactAttachment.Phone
	(*ContactAttachment_Email)(nil),                                            // 153: signal.backup.ContactAttachment.Email
	(*ContactAttachment_PostalAddress)(nil),                                    // 154: signal.backup.ContactAttachment.PostalAddress
	(*FilePointer_LocatorInfo)(nil),                                            // 155: signal.backup.FilePointer.LocatorInfo
	(*Quote_QuotedAttachment)(nil),                                             // 156: signal.backup.Quote.QuotedAttachment
	(*Poll_PollOption)(nil),                                                    // 157: signal.backup.Poll.PollOption
	(*Poll_PollOption_PollVote)(nil),                                           // 158: signal.backup.Poll.PollOption.PollVote
	(*GroupChangeChatUpdate_Update)(nil),                                       // 159: signal.backup.GroupChangeChatUpdate.Update
	(*GroupInvitationRevokedUpdate_Invitee)(nil),                               // 160: signal.backup.GroupInvitationRevokedUpdate.Invitee
	(*ChatStyle_Gradient)(nil),                                                 // 161: signal.backup.ChatStyle.Gradient
	(*ChatStyle_CustomChatColor)(nil),                                          // 162: signal.backup.ChatStyle.CustomChatColor
	(*ChatStyle_AutomaticBubbleColor)(nil),                                     // 163: signal.backup.ChatStyle.AutomaticBubbleColor
}
var file_backuppb_Backup_proto_depIdxs = []int32{
	38,  // 0: signal.backup.Frame.account:type_name -> signal.backup.AccountData
	39,  // 1: signal.backup.Frame.recipient:type_name -> signal.backup.Recipient
	44,  // 2: signal.backup.Frame.chat:type_name -> signal.backup.Chat
	49,  // 3: signal.backup.Frame.chatItem:type_name -> signal.backup.ChatItem
	115, // 4: signal.backup.Frame.stickerPack:type_name -> signal.backup.StickerPack
	46,  // 5: signal.backup.Frame.adHocCall:type_name -> signal.backup.AdHocCall
	117, // 6: signal.backup.Frame.notificationProfile:type_name -> signal.backup.NotificationProfile
	118, // 7: signal.backup.Frame.chatFolder:type_name -> signal.backup.ChatFolder
	119, // 8: signal.backup.AccountData.usernameLink:type_name -> signal.backup.AccountData.UsernameLink
	122, // 9: signal.backup.AccountData.donationSubscriberData:type_name -> signal.backup.AccountData.SubscriberData
	121, // 10: signal.backup.AccountData.accountSettings:type_name -> signal.backup.AccountData.AccountSettings
	123, // 11: signal.backup.AccountData.backupsSubscriberData:type_name -> signal.backup.AccountData.IAPSubscriberData
	124, // 12: signal.backup.AccountData.androidSpecificSettings:type_name -> signal.backup.AccountData.AndroidSpecificSettings
	40,  // 13: signal.backup.Recipient.contact:type_name -> signal.backup.Contact
	41,  // 14: signal.backup.Recipient.group:type_name -> signal.backup.Group
	47,  // 15: signal.backup.Recipient.distributionList:type_name -> signal.backup.DistributionListItem
	42,  // 16: signal.backup.Recipient.self:type_name -> signal.backup.Self
	43,  // 17: signal.backup.Recipient.releaseNotes:type_name -> signal.backup.ReleaseNotes
	45,  // 18: signal.backup.Recipient.callLink:type_name -> signal.backup.CallLink
	10,  // 19: signal.backup.Contact.visibility:type_name -> signal.backup.Contact.Visibility
	125, // 20: signal.backup.Contact.registered:type_name -> signal.backup.Contact.Registered
	126, // 21: signal.backup.Contact.notRegistered:type_name -> signal.backup.Contact.NotRegistered
	9,   // 22: signal.backup.Contact.identityState:type_name -> signal.backup.Contact.IdentityState
	127, // 23: signal.backup.Contact.nickname:type_name -> signal.backup.Contact.Name
	0,   // 24: signal.backup.Contact.avatarColor:type_name -> signal.backup.AvatarColor
	11,  // 25: signal.backup.Group.storySendMode:type_name -> signal.backup.Group.StorySendMode
	128, // 26: signal.backup.Group.snapshot:type_name -> signal.backup.Group.GroupSnapshot
	0,   // 27: signal.backup.Group.avatarColor:type_name -> signal.backup.AvatarColor
	0,   // 28: signal.backup.Self.avatarColor:type_name -> signal.backup.AvatarColor
	116, // 29: signal.backup.Chat.style:type_name -> signal.backup.ChatStyle
	14,  // 30: signal.backup.CallLink.restrictions:type_name -> signal.backup.CallLink.Restrictions
	15,  // 31: signal.backup.AdHocCall.state:type_name -> signal.backup.AdHocCall.State
	48,  // 32: signal.backup.DistributionListItem.distributionList:type_name -> signal.backup.DistributionList
	16,  // 33: signal.backup.DistributionList.privacyMode:type_name -> signal.backup.DistributionList.PrivacyMode
	49,  // 34: signal.backup.ChatItem.revisions:type_name -> signal.backup.ChatItem
	135, // 35: signal.backup.ChatItem.incoming:type_name -> signal.backup.ChatItem.IncomingMessageDetails
	136, // 36: signal.backup.ChatItem.outgoing:type_name -> signal.backup.ChatItem.OutgoingMessageDetails
	137, // 37: signal.backup.ChatItem.directionless:type_name -> signal.backup.ChatItem.DirectionlessMessageDetails
	52,  // 38: signal.backup.ChatItem.standardMessage:type_name -> signal.backup.StandardMessage
	53,  // 39: signal.backup.ChatItem.contactMessage:type_name -> signal.backup.ContactMessage
	59,  // 40: signal.backup.ChatItem.stickerMessage:type_name -> signal.backup.StickerMessage
	60,  // 41: signal.backup.ChatItem.remoteDeletedMessage:type_name -> signal.backup.RemoteDeletedMessage
	69,  // 42: signal.backup.ChatItem.updateMessage:type_name -> signal.backup.ChatUpdateMessage
	55,  // 43: signal.backup.ChatItem.paymentNotification:type_name -> signal.backup.PaymentNotification
	56,  // 44: signal.backup.ChatItem.giftBadge:type_name -> signal.backup.GiftBadge
	57,  // 45: signal.backup.ChatItem.viewOnceMessage:type_name -> signal.backup.ViewOnceMessage
	54,  // 46: signal.backup.ChatItem.directStoryReplyMessage:type_name -> signal.backup.DirectStoryReplyMessage
	68,  // 47: signal.backup.ChatItem.poll:type_name -> signal.backup.Poll
	138, // 48: signal.backup.ChatItem.pinDetails:type_name -> signal.backup.ChatItem.PinDetails
	139, // 49: signal.backup.SendStatus.pending:type_name -> signal.backup.SendStatus.Pending
	140, // 50: signal.backup.SendStatus.sent:type_name -> signal.backup.SendStatus.Sent
	141, // 51: signal.backup.SendStatus.delivered:type_name -> signal.backup.SendStatus.Delivered
	142, // 52: signal.backup.SendStatus.read:type_name -> signal.backup.SendStatus.Read
	143, // 53: signal.backup.SendStatus.viewed:type_name -> signal.backup.SendStatus.Viewed
	144, // 54: signal.backup.SendStatus.skipped:type_name -> signal.backup.SendStatus.Skipped
	145, // 55: signal.backup.SendStatus.failed:type_name -> signal.backup.SendStatus.Failed
	66,  // 56: signal.backup.Text.bodyRanges:type_name -> signal.backup.BodyRange
	65,  // 57: signal.backup.StandardMessage.quote:type_name -> signal.backup.Quote
	51,  // 58: signal.backup.StandardMessage.text:type_name -> signal.backup.Text
	63,  // 59: signal.backup.StandardMessage.attachments:type_name -> signal.backup.MessageAttachment
	62,  // 60: signal.backup.StandardMessage.linkPreview:type_name -> signal.backup.LinkPreview
	64,  // 61: signal.backup.StandardMessage.longText:type_name -> signal.backup.FilePointer
	67,  // 62: signal.backup.StandardMessage.reactions:type_name -> signal.backup.Reaction
	58,  // 63: signal.backup.ContactMessage.contact:type_name -> signal.backup.ContactAttachment
	67,  // 64: signal.backup.ContactMessage.reactions:type_name -> signal.backup.Reaction
	146, // 65: signal.backup.DirectStoryReplyMessage.textReply:type_name -> signal.backup.DirectStoryReplyMessage.TextReply
	67,  // 66: signal.backup.DirectStoryReplyMessage.reactions:type_name -> signal.backup.Reaction
	147, // 67: signal.backup.PaymentNotification.transactionDetails:type_name -> signal.backup.PaymentNotification.TransactionDetails
	20,  // 68: signal.backup.GiftBadge.state:type_name -> signal.backup.GiftBadge.State
	63,  // 69: signal.backup.ViewOnceMessage.attachment:type_name -> signal.backup.MessageAttachment
	67,  // 70: signal.backup.ViewOnceMessage.reactions:type_name -> signal.backup.Reaction
	151, // 71: signal.backup.ContactAttachment.name:type_name -> signal.backup.ContactAttachment.Name
	152, // 72: signal.backup.ContactAttachment.number:type_name -> signal.backup.ContactAttachment.Phone
	153, // 73: signal.backup.ContactAttachment.email:type_name -> signal.backup.ContactAttachment.Email
	154, // 74: signal.backup.ContactAttachment.address:type_name -> signal.backup.ContactAttachment.PostalAddress
	64,  // 75: signal.backup.ContactAttachment.avatar:type_name -> signal.backup.FilePointer
	61,  // 76: signal.backup.StickerMessage.sticker:type_name -> signal.backup.Sticker
	67,  // 77: signal.backup.StickerMessage.reactions:type_name -> signal.backup.Reaction
	64,  // 78: signal.backup.Sticker.data:type_name -> signal.backup.FilePointer
	64,  // 79: signal.backup.LinkPreview.image:type_name -> signal.backup.FilePointer
	64,  // 80: signal.backup.MessageAttachment.pointer:type_name -> signal.backup.FilePointer
	24,  // 81: signal.backup.MessageAttachment.flag:type_name -> signal.backup.MessageAttachment.Flag
	155, // 82: signal.backup.FilePointer.locatorInfo:type_name -> signal.backup.FilePointer.LocatorInfo
	51,  // 83: signal.backup.Quote.text:type_name -> signal.backup.Text
	156, // 84: signal.backup.Quote.attachments:type_name -> signal.backup.Quote.QuotedAttachment
	25,  // 85: signal.backup.Quote.type:type_name -> signal.backup.Quote.Type
	26,  // 86: signal.backup.BodyRange.style:type_name -> signal.backup.BodyRange.Style
	157, // 87: signal.backup.Poll.options:type_name -> signal.backup.Poll.PollOption
	67,  // 88: signal.backup.Poll.reactions:type_name -> signal.backup.Reaction
	72,  // 89: signal.backup.ChatUpdateMessage.simpleUpdate:type_name -> signal.backup.SimpleChatUpdate
	78,  // 90: signal.backup.ChatUpdateMessage.groupChange:type_name -> signal.backup.GroupChangeChatUpdate
	73,  // 91: signal.backup.ChatUpdateMessage.expirationTimerChange:type_name -> signal.backup.ExpirationTimerChatUpdate
	74,  // 92: signal.backup.ChatUpdateMessage.profileChange:type_name -> signal.backup.ProfileChangeChatUpdate
	76,  // 93: signal.backup.ChatUpdateMessage.threadMerge:type_name -> signal.backup.ThreadMergeChatUpdate
	77,  // 94: signal.backup.ChatUpdateMessage.sessionSwitchover:type_name -> signal.backup.SessionSwitchoverChatUpdate
	70,  // 95: signal.backup.ChatUpdateMessage.individualCall:type_name -> signal.backup.IndividualCall
	71,  // 96: signal.backup.ChatUpdateMessage.groupCall:type_name -> signal.backup.GroupCall
	75,  // 97: signal.backup.ChatUpdateMessage.learnedProfileChange:type_name -> signal.backup.LearnedProfileChatUpdate
	113, // 98: signal.backup.ChatUpdateMessage.pollTerminate:type_name -> signal.backup.PollTerminateUpdate
	114, // 99: signal.backup.ChatUpdateMessage.pinMessage:type_name -> signal.backup.PinMessageUpdate
	27,  // 100: signal.backup.IndividualCall.type:type_name -> signal.backup.IndividualCall.Type
	28,  // 101: signal.backup.IndividualCall.direction:type_name -> signal.backup.IndividualCall.Direction
	29,  // 102: signal.backup.IndividualCall.state:type_name -> signal.backup.IndividualCall.State
	30,  // 103: signal.backup.GroupCall.state:type_name -> signal.backup.GroupCall.State
	31,  // 104: signal.backup.SimpleChatUpdate.type:type_name -> signal.backup.SimpleChatUpdate.Type
	159, // 105: signal.backup.GroupChangeChatUpdate.updates:type_name -> signal.backup.GroupChangeChatUpdate.Update
	1,   // 106: signal.backup.GroupMembershipAccessLevelChangeUpdate.accessLevel:type_name -> signal.backup.GroupV2AccessLevel
	1,   // 107: signal.backup.GroupAttributesAccessLevelChangeUpdate.accessLevel:type_name -> signal.backup.GroupV2AccessLevel
	160, // 108: signal.backup.GroupInvitationRevokedUpdate.invitees:type_name -> signal.backup.GroupInvitationRevokedUpdate.Invitee
	32,  // 109: signal.backup.ChatStyle.wallpaperPreset:type_name -> signal.backup.ChatStyle.WallpaperPreset
	64,  // 110: signal.backup.ChatStyle.wallpaperPhoto:type_name -> signal.backup.FilePointer
	163, // 111: signal.backup.ChatStyle.autoBubbleColor:type_name -> signal.backup.ChatStyle.AutomaticBubbleColor
	33,  // 112: signal.backup.ChatStyle.bubbleColorPreset:type_name -> signal.backup.ChatStyle.BubbleColorPreset
	34,  // 113: signal.backup.NotificationProfile.scheduleDaysEnabled:type_name -> signal.backup.NotificationProfile.DayOfWeek
	35,  // 114: signal.backup.ChatFolder.folderType:type_name -> signal.backup.ChatFolder.FolderType
	6,   // 115: signal.backup.AccountData.UsernameLink.color:type_name -> signal.backup.AccountData.UsernameLink.Color
	7,   // 116: signal.backup.AccountData.AutoDownloadSettings.images:type_name -> signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOption
	7,   // 117: signal.backup.AccountData.AutoDownloadSettings.audio:type_name -> signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOption
	7,   // 118: signal.backup.AccountData.AutoDownloadSettings.video:type_name -> signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOption
	7,   // 119: signal.backup.AccountData.AutoDownloadSettings.documents:type_name -> signal.backup.AccountData.AutoDownloadSettings.AutoDownloadOption
	2,   // 120: signal.backup.AccountData.AccountSettings.phoneNumberSharingMode:type_name -> signal.backup.AccountData.PhoneNumberSharingMode
	116, // 121: signal.backup.AccountData.AccountSettings.defaultChatStyle:type_name -> signal.backup.ChatStyle
	162, // 122: signal.backup.AccountData.AccountSettings.customChatColors:type_name -> signal.backup.ChatStyle.CustomChatColor
	3,   // 123: signal.backup.AccountData.AccountSettings.defaultSentMediaQuality:type_name -> signal.backup.AccountData.SentMediaQuality
	120, // 124: signal.backup.AccountData.AccountSettings.autoDownloadSettings:type_name -> signal.backup.AccountData.AutoDownloadSettings
	4,   // 125: signal.backup.AccountData.AccountSettings.appTheme:type_name -> signal.backup.AccountData.AppTheme
	5,   // 126: signal.backup.AccountData.AccountSettings.callsUseLessDataSetting:type_name -> signal.backup.AccountData.CallsUseLessDataSetting
	8,   // 127: signal.backup.AccountData.AndroidSpecificSettings.navigationBarSize:type_name -> signal.backup.AccountData.AndroidSpecificSettings.NavigationBarSize
	129, // 128: signal.backup.Group.GroupSnapshot.title:type_name -> signal.backup.Group.GroupAttributeBlob
	129, // 129: signal.backup.Group.GroupSnapshot.description:type_name -> signal.backup.Group.GroupAttributeBlob
	129, // 130: signal.backup.Group.GroupSnapshot.disappearingMessagesTimer:type_name -> signal.backup.Group.GroupAttributeBlob
	134, // 131: signal.backup.Group.GroupSnapshot.accessControl:type_name -> signal.backup.Group.AccessControl
	130, // 132: signal.backup.Group.GroupSnapshot.members:type_name -> signal.backup.Group.Member
	131, // 133: signal.backup.Group.GroupSnapshot.membersPendingProfileKey:type_name -> signal.backup.Group.MemberPendingProfileKey
	132, // 134: signal.backup.Group.GroupSnapshot.membersPendingAdminApproval:type_name -> signal.backup.Group.MemberPendingAdminApproval
	133, // 135: signal.backup.Group.GroupSnapshot.members_banned:type_name -> signal.backup.Group.MemberBanned
	12,  // 136: signal.backup.Group.Member.role:type_name -> signal.backup.Group.Member.Role
	130, // 137: signal.backup.Group.MemberPendingProfileKey.member:type_name -> signal.backup.Group.Member
	13,  // 138: signal.backup.Group.AccessControl.attributes:type_name -> signal.backup.Group.AccessControl.AccessRequired
	13,  // 139: signal.backup.Group.AccessControl.members:type_name -> signal.backup.Group.AccessControl.AccessRequired
	13,  // 140: signal.backup.Group.AccessControl.addFromInviteLink:type_name -> signal.backup.Group.AccessControl.AccessRequired
	50,  // 141: signal.backup.ChatItem.OutgoingMessageDetails.sendStatus:type_name -> signal.backup.SendStatus
	17,  // 142: signal.backup.SendStatus.Failed.reason:type_name -> signal.backup.SendStatus.Failed.FailureReason
	51,  // 143: signal.backup.DirectStoryReplyMessage.TextReply.text:type_name -> signal.backup.Text
	64,  // 144: signal.backup.DirectStoryReplyMessage.TextReply.longText:type_name -> signal.backup.FilePointer
	150, // 145: signal.backup.PaymentNotification.TransactionDetails.transaction:type_name -> signal.backup.PaymentNotification.TransactionDetails.Transaction
	149, // 146: signal.backup.PaymentNotification.TransactionDetails.failedTransaction:type_name -> signal.backup.PaymentNotification.TransactionDetails.FailedTransaction
	18,  // 147: signal.backup.PaymentNotification.TransactionDetails.FailedTransaction.reason:type_name -> signal.backup.PaymentNotification.TransactionDetails.FailedTransaction.FailureReason
	19,  // 148: signal.backup.PaymentNotification.TransactionDetails.Transaction.status:type_name -> signal.backup.PaymentNotification.TransactionDetails.Transaction.Status
	148, // 149: signal.backup.PaymentNotification.TransactionDetails.Transaction.mobileCoinIdentification:type_name -> signal.backup.PaymentNotification.TransactionDetails.MobileCoinTxoIdentification
	21,  // 150: signal.backup.ContactAttachment.Phone.type:type_name -> signal.backup.ContactAttachment.Phone.Type
	22,  // 151: signal.backup.ContactAttachment.Email.type:type_name -> signal.backup.ContactAttachment.Email.Type
	23,  // 152: signal.backup.ContactAttachment.PostalAddress.type:type_name -> signal.backup.ContactAttachment.PostalAddress.Type
	63,  // 153: signal.backup.Quote.QuotedAttachment.thumbnail:type_name -> signal.backup.MessageAttachment
	158, // 154: signal.backup.Poll.PollOption.votes:type_name -> signal.backup.Poll.PollOption.PollVote
	79,  // 155: signal.backup.GroupChangeChatUpdate.Update.genericGroupUpdate:type_name -> signal.backup.GenericGroupUpdate
	80,  // 156: signal.backup.GroupChangeChatUpdate.Update.groupCreationUpdate:type_name -> signal.backup.GroupCreationUpdate
	81,  // 157: signal.backup.GroupChangeChatUpdate.Update.groupNameUpdate:type_name -> signal.backup.GroupNameUpdate
	82,  // 158: signal.backup.GroupChangeChatUpdate.Update.groupAvatarUpdate:type_name -> signal.backup.GroupAvatarUpdate
	83,  // 159: signal.backup.GroupChangeChatUpdate.Update.groupDescriptionUpdate:type_name -> signal.backup.GroupDescriptionUpdate
	84,  // 160: signal.backup.GroupChangeChatUpdate.Update.groupMembershipAccessLevelChangeUpdate:type_name -> signal.backup.GroupMembershipAccessLevelChangeUpdate
	85,  // 161: signal.backup.GroupChangeChatUpdate.Update.groupAttributesAccessLevelChangeUpdate:type_name -> signal.backup.GroupAttributesAccessLevelChangeUpdate
	86,  // 162: signal.backup.GroupChangeChatUpdate.Update.groupAnnouncementOnlyChangeUpdate:type_name -> signal.backup.GroupAnnouncementOnlyChangeUpdate
	87,  // 163: signal.backup.GroupChangeChatUpdate.Update.groupAdminStatusUpdate:type_name -> signal.backup.GroupAdminStatusUpdate
	88,  // 164: signal.backup.GroupChangeChatUpdate.Update.groupMemberLeftUpdate:type_name -> signal.backup.GroupMemberLeftUpdate
	89,  // 165: signal.backup.GroupChangeChatUpdate.Update.groupMemberRemovedUpdate:type_name -> signal.backup.GroupMemberRemovedUpdate
	90,  // 166: signal.backup.GroupChangeChatUpdate.Update.selfInvitedToGroupUpdate:type_name -> signal.backup.SelfInvitedToGroupUpdate
	91,  // 167: signal.backup.GroupChangeChatUpdate.Update.selfInvitedOtherUserToGroupUpdate:type_name -> signal.backup.SelfInvitedOtherUserToGroupUpdate
	92,  // 168: signal.backup.GroupChangeChatUpdate.Update.groupUnknownInviteeUpdate:type_name -> signal.backup.GroupUnknownInviteeUpdate
	93,  // 169: signal.backup.GroupChangeChatUpdate.Update.groupInvitationAcceptedUpdate:type_name -> signal.backup.GroupInvitationAcceptedUpdate
	94,  // 170: signal.backup.GroupChangeChatUpdate.Update.groupInvitationDeclinedUpdate:type_name -> signal.backup.GroupInvitationDeclinedUpdate
	95,  // 171: signal.backup.GroupChangeChatUpdate.Update.groupMemberJoinedUpdate:type_name -> signal.backup.GroupMemberJoinedUpdate
	96,  // 172: signal.backup.GroupChangeChatUpdate.Update.groupMemberAddedUpdate:type_name -> signal.backup.GroupMemberAddedUpdate
	97,  // 173: signal.backup.GroupChangeChatUpdate.Update.groupSelfInvitationRevokedUpdate:type_name -> signal.backup.GroupSelfInvitationRevokedUpdate
	98,  // 174: signal.backup.GroupChangeChatUpdate.Update.groupInvitationRevokedUpdate:type_name -> signal.backup.GroupInvitationRevokedUpdate
	99,  // 175: signal.backup.GroupChangeChatUpdate.Update.groupJoinRequestUpdate:type_name -> signal.backup.GroupJoinRequestUpdate
	100, // 176: signal.backup.GroupChangeChatUpdate.Update.groupJoinRequestApprovalUpdate:type_name -> signal.backup.GroupJoinRequestApprovalUpdate
	101, // 177: signal.backup.GroupChangeChatUpdate.Update.groupJoinRequestCanceledUpdate:type_name -> signal.backup.GroupJoinRequestCanceledUpdate
	103, // 178: signal.backup.GroupChangeChatUpdate.Update.groupInviteLinkResetUpdate:type_name -> signal.backup.GroupInviteLinkResetUpdate
	104, // 179: signal.backup.GroupChangeChatUpdate.Update.groupInviteLinkEnabledUpdate:type_name -> signal.backup.GroupInviteLinkEnabledUpdate
	105, // 180: signal.backup.GroupChangeChatUpdate.Update.groupInviteLinkAdminApprovalUpdate:type_name -> signal.backup.GroupInviteLinkAdminApprovalUpdate
	106, // 181: signal.backup.GroupChangeChatUpdate.Update.groupInviteLinkDisabledUpdate:type_name -> signal.backup.GroupInviteLinkDisabledUpdate
	107, // 182: signal.backup.GroupChangeChatUpdate.Update.groupMemberJoinedByLinkUpdate:type_name -> signal.backup.GroupMemberJoinedByLinkUpdate
	108, // 183: signal.backup.GroupChangeChatUpdate.Update.groupV2MigrationUpdate:type_name -> signal.backup.GroupV2MigrationUpdate
	109, // 184: signal.backup.GroupChangeChatUpdate.Update.groupV2MigrationSelfInvitedUpdate:type_name -> signal.backup.GroupV2MigrationSelfInvitedUpdate
	110, // 185: signal.backup.GroupChangeChatUpdate.Update.groupV2MigrationInvitedMembersUpdate:type_name -> signal.backup.GroupV2MigrationInvitedMembersUpdate
	111, // 186: signal.backup.GroupChangeChatUpdate.Update.groupV2MigrationDroppedMembersUpdate:type_name -> signal.backup.GroupV2MigrationDroppedMembersUpdate
	102, // 187: signal.backup.GroupChangeChatUpdate.Update.groupSequenceOfRequestsAndCancelsUpdate:type_name -> signal.backup.GroupSequenceOfRequestsAndCancelsUpdate
	112, // 188: signal.backup.GroupChangeChatUpdate.Update.groupExpirationTimerUpdate:type_name -> signal.backup.GroupExpirationTimerUpdate
	161, // 189: signal.backup.ChatStyle.CustomChatColor.gradient:type_name -> signal.backup.ChatStyle.Gradient
	190, // [190:190] is the sub-list for method output_type
	190, // [190:190] is the sub-list for method input_type
	190, // [190:190] is the sub-list for extension type_name
	190, // [190:190] is the sub-list for extension extendee
	0,   // [0:190] is the sub-list for field type_name
}

func init() { file_backuppb_Backup_proto_init() }
func file_backuppb_Backup_proto_init() {
	if File_backuppb_Backup_proto != nil {
		return
	}
	file_backuppb_Backup_proto_msgTypes[1].OneofWrappers = []any{
		(*Frame_Account)(nil),
		(*Frame_Recipient)(nil),
		(*Frame_Chat)(nil),
		(*Frame_ChatItem)(nil),
		(*Frame_StickerPack)(nil),
		(*Frame_AdHocCall)(nil),
		(*Frame_NotificationProfile)(nil),
		(*Frame_ChatFolder)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[2].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[3].OneofWrappers = []any{
		(*Recipient_Contact)(nil),
		(*Recipient_Group)(nil),
		(*Recipient_DistributionList)(nil),
		(*Recipient_Self)(nil),
		(*Recipient_ReleaseNotes)(nil),
		(*Recipient_CallLink)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[4].OneofWrappers = []any{
		(*Contact_Registered_)(nil),
		(*Contact_NotRegistered_)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[5].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[6].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[8].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[9].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[11].OneofWrappers = []any{
		(*DistributionListItem_DeletionTimestamp)(nil),
		(*DistributionListItem_DistributionList)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[13].OneofWrappers = []any{
		(*ChatItem_Incoming)(nil),
		(*ChatItem_Outgoing)(nil),
		(*ChatItem_Directionless)(nil),
		(*ChatItem_StandardMessage)(nil),
		(*ChatItem_ContactMessage)(nil),
		(*ChatItem_StickerMessage)(nil),
		(*ChatItem_RemoteDeletedMessage)(nil),
		(*ChatItem_UpdateMessage)(nil),
		(*ChatItem_PaymentNotification)(nil),
		(*ChatItem_GiftBadge)(nil),
		(*ChatItem_ViewOnceMessage)(nil),
		(*ChatItem_DirectStoryReplyMessage)(nil),
		(*ChatItem_Poll)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[14].OneofWrappers = []any{
		(*SendStatus_Pending_)(nil),
		(*SendStatus_Sent_)(nil),
		(*SendStatus_Delivered_)(nil),
		(*SendStatus_Read_)(nil),
		(*SendStatus_Viewed_)(nil),
		(*SendStatus_Skipped_)(nil),
		(*SendStatus_Failed_)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[16].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[18].OneofWrappers = []any{
		(*DirectStoryReplyMessage_TextReply_)(nil),
		(*DirectStoryReplyMessage_Emoji)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[19].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[22].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[25].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[26].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[27].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[28].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[29].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[30].OneofWrappers = []any{
		(*BodyRange_MentionAci)(nil),
		(*BodyRange_Style_)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[33].OneofWrappers = []any{
		(*ChatUpdateMessage_SimpleUpdate)(nil),
		(*ChatUpdateMessage_GroupChange)(nil),
		(*ChatUpdateMessage_ExpirationTimerChange)(nil),
		(*ChatUpdateMessage_ProfileChange)(nil),
		(*ChatUpdateMessage_ThreadMerge)(nil),
		(*ChatUpdateMessage_SessionSwitchover)(nil),
		(*ChatUpdateMessage_IndividualCall)(nil),
		(*ChatUpdateMessage_GroupCall)(nil),
		(*ChatUpdateMessage_LearnedProfileChange)(nil),
		(*ChatUpdateMessage_PollTerminate)(nil),
		(*ChatUpdateMessage_PinMessage)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[34].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[35].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[39].OneofWrappers = []any{
		(*LearnedProfileChatUpdate_E164)(nil),
		(*LearnedProfileChatUpdate_Username)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[43].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[44].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[45].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[46].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[47].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[48].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[49].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[50].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[51].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[53].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[54].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[56].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[57].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[58].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[60].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[61].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[62].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[64].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[67].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[68].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[69].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[70].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[76].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[80].OneofWrappers = []any{
		(*ChatStyle_WallpaperPreset_)(nil),
		(*ChatStyle_WallpaperPhoto)(nil),
		(*ChatStyle_AutoBubbleColor)(nil),
		(*ChatStyle_BubbleColorPreset_)(nil),
		(*ChatStyle_CustomColorId)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[81].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[85].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[87].OneofWrappers = []any{
		(*AccountData_IAPSubscriberData_PurchaseToken)(nil),
		(*AccountData_IAPSubscriberData_OriginalTransactionId)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[93].OneofWrappers = []any{
		(*Group_GroupAttributeBlob_Title)(nil),
		(*Group_GroupAttributeBlob_Avatar)(nil),
		(*Group_GroupAttributeBlob_DisappearingMessagesDuration)(nil),
		(*Group_GroupAttributeBlob_DescriptionText)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[99].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[102].OneofWrappers = []any{
		(*ChatItem_PinDetails_PinExpiresAtTimestamp)(nil),
		(*ChatItem_PinDetails_PinNeverExpires)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[111].OneofWrappers = []any{
		(*PaymentNotification_TransactionDetails_Transaction_)(nil),
		(*PaymentNotification_TransactionDetails_FailedTransaction_)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[114].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[119].OneofWrappers = []any{
		(*FilePointer_LocatorInfo_PlaintextHash)(nil),
		(*FilePointer_LocatorInfo_EncryptedDigest)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[120].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[123].OneofWrappers = []any{
		(*GroupChangeChatUpdate_Update_GenericGroupUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupCreationUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupNameUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupAvatarUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupDescriptionUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupMembershipAccessLevelChangeUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupAttributesAccessLevelChangeUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupAnnouncementOnlyChangeUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupAdminStatusUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupMemberLeftUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupMemberRemovedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_SelfInvitedToGroupUpdate)(nil),
		(*GroupChangeChatUpdate_Update_SelfInvitedOtherUserToGroupUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupUnknownInviteeUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupInvitationAcceptedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupInvitationDeclinedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupMemberJoinedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupMemberAddedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupSelfInvitationRevokedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupInvitationRevokedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupJoinRequestUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupJoinRequestApprovalUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupJoinRequestCanceledUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupInviteLinkResetUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupInviteLinkEnabledUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupInviteLinkAdminApprovalUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupInviteLinkDisabledUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupMemberJoinedByLinkUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupV2MigrationUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupV2MigrationSelfInvitedUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupV2MigrationInvitedMembersUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupV2MigrationDroppedMembersUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupSequenceOfRequestsAndCancelsUpdate)(nil),
		(*GroupChangeChatUpdate_Update_GroupExpirationTimerUpdate)(nil),
	}
	file_backuppb_Backup_proto_msgTypes[124].OneofWrappers = []any{}
	file_backuppb_Backup_proto_msgTypes[126].OneofWrappers = []any{
		(*ChatStyle_CustomChatColor_Solid)(nil),
		(*ChatStyle_CustomChatColor_Gradient)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_backuppb_Backup_proto_rawDesc), len(file_backuppb_Backup_proto_rawDesc)),
			NumEnums:      36,
			NumMessages:   128,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_backuppb_Backup_proto_goTypes,
		DependencyIndexes: file_backuppb_Backup_proto_depIdxs,
		EnumInfos:         file_backuppb_Backup_proto_enumTypes,
		MessageInfos:      file_backuppb_Backup_proto_msgTypes,
	}.Build()
	File_backuppb_Backup_proto = out.File
	file_backuppb_Backup_proto_goTypes = nil
	file_backuppb_Backup_proto_depIdxs = nil
}
