discourse-protobuf/discoursepb/users.pb.go

3160 lines
134 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0-devel
// protoc v3.17.3
// source: users.proto
package discoursepb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Users struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserBadges []*Users_UserBadges `protobuf:"bytes,1,rep,name=user_badges,json=userBadges,proto3" json:"user_badges,omitempty"`
Badges []*Users_Badges `protobuf:"bytes,2,rep,name=badges,proto3" json:"badges,omitempty"`
BadgeTypes []*Users_BadgeTypes `protobuf:"bytes,3,rep,name=badge_types,json=badgeTypes,proto3" json:"badge_types,omitempty"`
Users []*Users_Users `protobuf:"bytes,4,rep,name=users,proto3" json:"users,omitempty"`
Topics []*Users_Topics `protobuf:"bytes,5,rep,name=topics,proto3" json:"topics,omitempty"`
User *Users_User `protobuf:"bytes,6,opt,name=user,proto3" json:"user,omitempty"`
}
func (x *Users) Reset() {
*x = Users{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users) ProtoMessage() {}
func (x *Users) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users.ProtoReflect.Descriptor instead.
func (*Users) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0}
}
func (x *Users) GetUserBadges() []*Users_UserBadges {
if x != nil {
return x.UserBadges
}
return nil
}
func (x *Users) GetBadges() []*Users_Badges {
if x != nil {
return x.Badges
}
return nil
}
func (x *Users) GetBadgeTypes() []*Users_BadgeTypes {
if x != nil {
return x.BadgeTypes
}
return nil
}
func (x *Users) GetUsers() []*Users_Users {
if x != nil {
return x.Users
}
return nil
}
func (x *Users) GetTopics() []*Users_Topics {
if x != nil {
return x.Topics
}
return nil
}
func (x *Users) GetUser() *Users_User {
if x != nil {
return x.User
}
return nil
}
type Users_UserBadges struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
GrantedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=granted_at,json=grantedAt,proto3" json:"granted_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Count int32 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
BadgeId int32 `protobuf:"varint,5,opt,name=badge_id,json=badgeId,proto3" json:"badge_id,omitempty"`
UserId int32 `protobuf:"varint,6,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
GratedById int32 `protobuf:"varint,7,opt,name=grated_by_id,json=gratedById,proto3" json:"grated_by_id,omitempty"`
PostId int32 `protobuf:"varint,8,opt,name=post_id,json=postId,proto3" json:"post_id,omitempty"`
PostNumber int32 `protobuf:"varint,9,opt,name=post_number,json=postNumber,proto3" json:"post_number,omitempty"`
TopicId int32 `protobuf:"varint,10,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
}
func (x *Users_UserBadges) Reset() {
*x = Users_UserBadges{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_UserBadges) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_UserBadges) ProtoMessage() {}
func (x *Users_UserBadges) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_UserBadges.ProtoReflect.Descriptor instead.
func (*Users_UserBadges) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 0}
}
func (x *Users_UserBadges) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_UserBadges) GetGrantedAt() *timestamppb.Timestamp {
if x != nil {
return x.GrantedAt
}
return nil
}
func (x *Users_UserBadges) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Users_UserBadges) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
func (x *Users_UserBadges) GetBadgeId() int32 {
if x != nil {
return x.BadgeId
}
return 0
}
func (x *Users_UserBadges) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *Users_UserBadges) GetGratedById() int32 {
if x != nil {
return x.GratedById
}
return 0
}
func (x *Users_UserBadges) GetPostId() int32 {
if x != nil {
return x.PostId
}
return 0
}
func (x *Users_UserBadges) GetPostNumber() int32 {
if x != nil {
return x.PostNumber
}
return 0
}
func (x *Users_UserBadges) GetTopicId() int32 {
if x != nil {
return x.TopicId
}
return 0
}
type Users_Badges struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
GrantCount int32 `protobuf:"varint,4,opt,name=grant_count,json=grantCount,proto3" json:"grant_count,omitempty"`
AllowTitle bool `protobuf:"varint,5,opt,name=allow_title,json=allowTitle,proto3" json:"allow_title,omitempty"`
MultipleGrant bool `protobuf:"varint,6,opt,name=multiple_grant,json=multipleGrant,proto3" json:"multiple_grant,omitempty"`
Icon string `protobuf:"bytes,7,opt,name=icon,proto3" json:"icon,omitempty"`
Image string `protobuf:"bytes,8,opt,name=image,proto3" json:"image,omitempty"`
Listable bool `protobuf:"varint,9,opt,name=listable,proto3" json:"listable,omitempty"`
Enabled bool `protobuf:"varint,10,opt,name=enabled,proto3" json:"enabled,omitempty"`
BadgeGroupingId int32 `protobuf:"varint,11,opt,name=badge_grouping_id,json=badgeGroupingId,proto3" json:"badge_grouping_id,omitempty"`
System bool `protobuf:"varint,12,opt,name=system,proto3" json:"system,omitempty"`
Slug string `protobuf:"bytes,13,opt,name=slug,proto3" json:"slug,omitempty"`
ManuallyGrantable bool `protobuf:"varint,14,opt,name=manually_grantable,json=manuallyGrantable,proto3" json:"manually_grantable,omitempty"`
BadgeTypeId int32 `protobuf:"varint,15,opt,name=badge_type_id,json=badgeTypeId,proto3" json:"badge_type_id,omitempty"`
}
func (x *Users_Badges) Reset() {
*x = Users_Badges{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_Badges) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_Badges) ProtoMessage() {}
func (x *Users_Badges) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_Badges.ProtoReflect.Descriptor instead.
func (*Users_Badges) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 1}
}
func (x *Users_Badges) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_Badges) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Users_Badges) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Users_Badges) GetGrantCount() int32 {
if x != nil {
return x.GrantCount
}
return 0
}
func (x *Users_Badges) GetAllowTitle() bool {
if x != nil {
return x.AllowTitle
}
return false
}
func (x *Users_Badges) GetMultipleGrant() bool {
if x != nil {
return x.MultipleGrant
}
return false
}
func (x *Users_Badges) GetIcon() string {
if x != nil {
return x.Icon
}
return ""
}
func (x *Users_Badges) GetImage() string {
if x != nil {
return x.Image
}
return ""
}
func (x *Users_Badges) GetListable() bool {
if x != nil {
return x.Listable
}
return false
}
func (x *Users_Badges) GetEnabled() bool {
if x != nil {
return x.Enabled
}
return false
}
func (x *Users_Badges) GetBadgeGroupingId() int32 {
if x != nil {
return x.BadgeGroupingId
}
return 0
}
func (x *Users_Badges) GetSystem() bool {
if x != nil {
return x.System
}
return false
}
func (x *Users_Badges) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Users_Badges) GetManuallyGrantable() bool {
if x != nil {
return x.ManuallyGrantable
}
return false
}
func (x *Users_Badges) GetBadgeTypeId() int32 {
if x != nil {
return x.BadgeTypeId
}
return 0
}
type Users_BadgeTypes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
SortOrder int32 `protobuf:"varint,3,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
}
func (x *Users_BadgeTypes) Reset() {
*x = Users_BadgeTypes{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_BadgeTypes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_BadgeTypes) ProtoMessage() {}
func (x *Users_BadgeTypes) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_BadgeTypes.ProtoReflect.Descriptor instead.
func (*Users_BadgeTypes) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 2}
}
func (x *Users_BadgeTypes) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_BadgeTypes) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Users_BadgeTypes) GetSortOrder() int32 {
if x != nil {
return x.SortOrder
}
return 0
}
type Users_Users struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
AvatarTemplate string `protobuf:"bytes,4,opt,name=avatar_template,json=avatarTemplate,proto3" json:"avatar_template,omitempty"`
Moderator bool `protobuf:"varint,5,opt,name=moderator,proto3" json:"moderator,omitempty"`
Admin bool `protobuf:"varint,6,opt,name=admin,proto3" json:"admin,omitempty"`
}
func (x *Users_Users) Reset() {
*x = Users_Users{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_Users) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_Users) ProtoMessage() {}
func (x *Users_Users) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_Users.ProtoReflect.Descriptor instead.
func (*Users_Users) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 3}
}
func (x *Users_Users) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_Users) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *Users_Users) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Users_Users) GetAvatarTemplate() string {
if x != nil {
return x.AvatarTemplate
}
return ""
}
func (x *Users_Users) GetModerator() bool {
if x != nil {
return x.Moderator
}
return false
}
func (x *Users_Users) GetAdmin() bool {
if x != nil {
return x.Admin
}
return false
}
type Users_Topics struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
FancyTitle string `protobuf:"bytes,3,opt,name=fancy_title,json=fancyTitle,proto3" json:"fancy_title,omitempty"`
Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"`
PostsCount int32 `protobuf:"varint,6,opt,name=posts_count,json=postsCount,proto3" json:"posts_count,omitempty"`
}
func (x *Users_Topics) Reset() {
*x = Users_Topics{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_Topics) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_Topics) ProtoMessage() {}
func (x *Users_Topics) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_Topics.ProtoReflect.Descriptor instead.
func (*Users_Topics) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 4}
}
func (x *Users_Topics) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_Topics) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *Users_Topics) GetFancyTitle() string {
if x != nil {
return x.FancyTitle
}
return ""
}
func (x *Users_Topics) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Users_Topics) GetPostsCount() int32 {
if x != nil {
return x.PostsCount
}
return 0
}
type Users_User struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
AvatarTemplate string `protobuf:"bytes,4,opt,name=avatar_template,json=avatarTemplate,proto3" json:"avatar_template,omitempty"`
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
LastPostedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=last_posted_at,json=lastPostedAt,proto3" json:"last_posted_at,omitempty"`
LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
Ignored bool `protobuf:"varint,10,opt,name=ignored,proto3" json:"ignored,omitempty"`
Muted bool `protobuf:"varint,11,opt,name=muted,proto3" json:"muted,omitempty"`
CanIgnoreUser bool `protobuf:"varint,12,opt,name=can_ignore_user,json=canIgnoreUser,proto3" json:"can_ignore_user,omitempty"`
CanMuteUser bool `protobuf:"varint,13,opt,name=can_mute_user,json=canMuteUser,proto3" json:"can_mute_user,omitempty"`
CanSendPrivateMessages bool `protobuf:"varint,14,opt,name=can_send_private_messages,json=canSendPrivateMessages,proto3" json:"can_send_private_messages,omitempty"`
CanSendPrivateMessagesToUser bool `protobuf:"varint,15,opt,name=can_send_private_messages_to_user,json=canSendPrivateMessagesToUser,proto3" json:"can_send_private_messages_to_user,omitempty"`
TrustLevel int32 `protobuf:"varint,16,opt,name=trust_level,json=trustLevel,proto3" json:"trust_level,omitempty"`
Moderator bool `protobuf:"varint,17,opt,name=moderator,proto3" json:"moderator,omitempty"`
Admin bool `protobuf:"varint,18,opt,name=admin,proto3" json:"admin,omitempty"`
Title string `protobuf:"bytes,19,opt,name=title,proto3" json:"title,omitempty"`
BadgeCount int32 `protobuf:"varint,20,opt,name=badge_count,json=badgeCount,proto3" json:"badge_count,omitempty"`
TimeRead int32 `protobuf:"varint,21,opt,name=time_read,json=timeRead,proto3" json:"time_read,omitempty"`
RecentTimeRead int32 `protobuf:"varint,22,opt,name=recent_time_read,json=recentTimeRead,proto3" json:"recent_time_read,omitempty"`
FeaturedTopic *Users_User_FeaturedTopic `protobuf:"bytes,23,opt,name=featured_topic,json=featuredTopic,proto3" json:"featured_topic,omitempty"`
Website string `protobuf:"bytes,24,opt,name=website,proto3" json:"website,omitempty"`
WebsiteName string `protobuf:"bytes,25,opt,name=website_name,json=websiteName,proto3" json:"website_name,omitempty"`
Staged bool `protobuf:"varint,26,opt,name=staged,proto3" json:"staged,omitempty"`
CanEdit bool `protobuf:"varint,27,opt,name=can_edit,json=canEdit,proto3" json:"can_edit,omitempty"`
CanEditUsername bool `protobuf:"varint,28,opt,name=can_edit_username,json=canEditUsername,proto3" json:"can_edit_username,omitempty"`
CanEditEmail bool `protobuf:"varint,29,opt,name=can_edit_email,json=canEditEmail,proto3" json:"can_edit_email,omitempty"`
CanEditName bool `protobuf:"varint,30,opt,name=can_edit_name,json=canEditName,proto3" json:"can_edit_name,omitempty"`
UploadedAvatarId int32 `protobuf:"varint,31,opt,name=uploaded_avatar_id,json=uploadedAvatarId,proto3" json:"uploaded_avatar_id,omitempty"`
HasTitleBadges bool `protobuf:"varint,32,opt,name=has_title_badges,json=hasTitleBadges,proto3" json:"has_title_badges,omitempty"`
PendingCount int32 `protobuf:"varint,33,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"`
ProfileViewCount int32 `protobuf:"varint,34,opt,name=profile_view_count,json=profileViewCount,proto3" json:"profile_view_count,omitempty"`
SecondaryFactorEnabled bool `protobuf:"varint,35,opt,name=secondary_factor_enabled,json=secondaryFactorEnabled,proto3" json:"secondary_factor_enabled,omitempty"`
SecondaryFactorBackupEnabled bool `protobuf:"varint,36,opt,name=secondary_factor_backup_enabled,json=secondaryFactorBackupEnabled,proto3" json:"secondary_factor_backup_enabled,omitempty"`
SecondaryFactorRemainingBackupCodes int32 `protobuf:"varint,37,opt,name=secondary_factor_remaining_backup_codes,json=secondaryFactorRemainingBackupCodes,proto3" json:"secondary_factor_remaining_backup_codes,omitempty"`
AssociatedAccounts []*Users_User_AssociatedAccounts `protobuf:"bytes,38,rep,name=associated_accounts,json=associatedAccounts,proto3" json:"associated_accounts,omitempty"`
CanUploadProfileHeader bool `protobuf:"varint,39,opt,name=can_upload_profile_header,json=canUploadProfileHeader,proto3" json:"can_upload_profile_header,omitempty"`
CanUploadUserCardBackground bool `protobuf:"varint,40,opt,name=can_upload_user_card_background,json=canUploadUserCardBackground,proto3" json:"can_upload_user_card_background,omitempty"`
PostCount int32 `protobuf:"varint,41,opt,name=post_count,json=postCount,proto3" json:"post_count,omitempty"`
CanBeDeleted bool `protobuf:"varint,42,opt,name=can_be_deleted,json=canBeDeleted,proto3" json:"can_be_deleted,omitempty"`
CanDeleteAllPosts bool `protobuf:"varint,43,opt,name=can_delete_all_posts,json=canDeleteAllPosts,proto3" json:"can_delete_all_posts,omitempty"`
Locale string `protobuf:"bytes,44,opt,name=locale,proto3" json:"locale,omitempty"`
MutedCategoryIds []int32 `protobuf:"varint,45,rep,packed,name=muted_category_ids,json=mutedCategoryIds,proto3" json:"muted_category_ids,omitempty"`
RegularCategoryIds []int32 `protobuf:"varint,46,rep,packed,name=regular_category_ids,json=regularCategoryIds,proto3" json:"regular_category_ids,omitempty"`
WatchedTags []string `protobuf:"bytes,47,rep,name=watched_tags,json=watchedTags,proto3" json:"watched_tags,omitempty"`
WatchingFirstPostTags []string `protobuf:"bytes,48,rep,name=watching_first_post_tags,json=watchingFirstPostTags,proto3" json:"watching_first_post_tags,omitempty"`
TrackedTags []string `protobuf:"bytes,49,rep,name=tracked_tags,json=trackedTags,proto3" json:"tracked_tags,omitempty"`
MutedTags []string `protobuf:"bytes,50,rep,name=muted_tags,json=mutedTags,proto3" json:"muted_tags,omitempty"`
TrackedCategoryIds []int32 `protobuf:"varint,51,rep,packed,name=tracked_category_ids,json=trackedCategoryIds,proto3" json:"tracked_category_ids,omitempty"`
WatchedCategoryIds []int32 `protobuf:"varint,52,rep,packed,name=watched_category_ids,json=watchedCategoryIds,proto3" json:"watched_category_ids,omitempty"`
WatchedFirstPostCategoryIds []int32 `protobuf:"varint,53,rep,packed,name=watched_first_post_category_ids,json=watchedFirstPostCategoryIds,proto3" json:"watched_first_post_category_ids,omitempty"`
SystemAvatarUploadId int32 `protobuf:"varint,54,opt,name=system_avatar_upload_id,json=systemAvatarUploadId,proto3" json:"system_avatar_upload_id,omitempty"`
SystemAvatarTemplate string `protobuf:"bytes,55,opt,name=system_avatar_template,json=systemAvatarTemplate,proto3" json:"system_avatar_template,omitempty"`
CustomAvatarUploadId int32 `protobuf:"varint,56,opt,name=custom_avatar_upload_id,json=customAvatarUploadId,proto3" json:"custom_avatar_upload_id,omitempty"`
CustomAvatarTemplate string `protobuf:"bytes,57,opt,name=custom_avatar_template,json=customAvatarTemplate,proto3" json:"custom_avatar_template,omitempty"`
MutedUsernames []string `protobuf:"bytes,58,rep,name=muted_usernames,json=mutedUsernames,proto3" json:"muted_usernames,omitempty"`
IgnoredUsernames []string `protobuf:"bytes,59,rep,name=ignored_usernames,json=ignoredUsernames,proto3" json:"ignored_usernames,omitempty"`
AllowedPmUsernames []string `protobuf:"bytes,60,rep,name=allowed_pm_usernames,json=allowedPmUsernames,proto3" json:"allowed_pm_usernames,omitempty"`
MailingListPostsPerDay int32 `protobuf:"varint,61,opt,name=mailing_list_posts_per_day,json=mailingListPostsPerDay,proto3" json:"mailing_list_posts_per_day,omitempty"`
CanChangeBio bool `protobuf:"varint,62,opt,name=can_change_bio,json=canChangeBio,proto3" json:"can_change_bio,omitempty"`
CanChangeWebsite bool `protobuf:"varint,63,opt,name=can_change_website,json=canChangeWebsite,proto3" json:"can_change_website,omitempty"`
UserAuthTokens []*Users_User_UserAuthTokens `protobuf:"bytes,64,rep,name=user_auth_tokens,json=userAuthTokens,proto3" json:"user_auth_tokens,omitempty"`
FeaturedUserBadgeIds []int32 `protobuf:"varint,65,rep,packed,name=featured_user_badge_ids,json=featuredUserBadgeIds,proto3" json:"featured_user_badge_ids,omitempty"`
Groups []*Users_User_Groups `protobuf:"bytes,66,rep,name=groups,proto3" json:"groups,omitempty"`
GroupUsers []*Users_User_GroupUsers `protobuf:"bytes,67,rep,name=group_users,json=groupUsers,proto3" json:"group_users,omitempty"`
UserOption *Users_User_UserOption `protobuf:"bytes,68,opt,name=user_option,json=userOption,proto3" json:"user_option,omitempty"`
}
func (x *Users_User) Reset() {
*x = Users_User{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_User) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_User) ProtoMessage() {}
func (x *Users_User) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_User.ProtoReflect.Descriptor instead.
func (*Users_User) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 5}
}
func (x *Users_User) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_User) GetUsername() string {
if x != nil {
return x.Username
}
return ""
}
func (x *Users_User) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Users_User) GetAvatarTemplate() string {
if x != nil {
return x.AvatarTemplate
}
return ""
}
func (x *Users_User) GetEmail() string {
if x != nil {
return x.Email
}
return ""
}
func (x *Users_User) GetLastPostedAt() *timestamppb.Timestamp {
if x != nil {
return x.LastPostedAt
}
return nil
}
func (x *Users_User) GetLastSeenAt() *timestamppb.Timestamp {
if x != nil {
return x.LastSeenAt
}
return nil
}
func (x *Users_User) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Users_User) GetIgnored() bool {
if x != nil {
return x.Ignored
}
return false
}
func (x *Users_User) GetMuted() bool {
if x != nil {
return x.Muted
}
return false
}
func (x *Users_User) GetCanIgnoreUser() bool {
if x != nil {
return x.CanIgnoreUser
}
return false
}
func (x *Users_User) GetCanMuteUser() bool {
if x != nil {
return x.CanMuteUser
}
return false
}
func (x *Users_User) GetCanSendPrivateMessages() bool {
if x != nil {
return x.CanSendPrivateMessages
}
return false
}
func (x *Users_User) GetCanSendPrivateMessagesToUser() bool {
if x != nil {
return x.CanSendPrivateMessagesToUser
}
return false
}
func (x *Users_User) GetTrustLevel() int32 {
if x != nil {
return x.TrustLevel
}
return 0
}
func (x *Users_User) GetModerator() bool {
if x != nil {
return x.Moderator
}
return false
}
func (x *Users_User) GetAdmin() bool {
if x != nil {
return x.Admin
}
return false
}
func (x *Users_User) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *Users_User) GetBadgeCount() int32 {
if x != nil {
return x.BadgeCount
}
return 0
}
func (x *Users_User) GetTimeRead() int32 {
if x != nil {
return x.TimeRead
}
return 0
}
func (x *Users_User) GetRecentTimeRead() int32 {
if x != nil {
return x.RecentTimeRead
}
return 0
}
func (x *Users_User) GetFeaturedTopic() *Users_User_FeaturedTopic {
if x != nil {
return x.FeaturedTopic
}
return nil
}
func (x *Users_User) GetWebsite() string {
if x != nil {
return x.Website
}
return ""
}
func (x *Users_User) GetWebsiteName() string {
if x != nil {
return x.WebsiteName
}
return ""
}
func (x *Users_User) GetStaged() bool {
if x != nil {
return x.Staged
}
return false
}
func (x *Users_User) GetCanEdit() bool {
if x != nil {
return x.CanEdit
}
return false
}
func (x *Users_User) GetCanEditUsername() bool {
if x != nil {
return x.CanEditUsername
}
return false
}
func (x *Users_User) GetCanEditEmail() bool {
if x != nil {
return x.CanEditEmail
}
return false
}
func (x *Users_User) GetCanEditName() bool {
if x != nil {
return x.CanEditName
}
return false
}
func (x *Users_User) GetUploadedAvatarId() int32 {
if x != nil {
return x.UploadedAvatarId
}
return 0
}
func (x *Users_User) GetHasTitleBadges() bool {
if x != nil {
return x.HasTitleBadges
}
return false
}
func (x *Users_User) GetPendingCount() int32 {
if x != nil {
return x.PendingCount
}
return 0
}
func (x *Users_User) GetProfileViewCount() int32 {
if x != nil {
return x.ProfileViewCount
}
return 0
}
func (x *Users_User) GetSecondaryFactorEnabled() bool {
if x != nil {
return x.SecondaryFactorEnabled
}
return false
}
func (x *Users_User) GetSecondaryFactorBackupEnabled() bool {
if x != nil {
return x.SecondaryFactorBackupEnabled
}
return false
}
func (x *Users_User) GetSecondaryFactorRemainingBackupCodes() int32 {
if x != nil {
return x.SecondaryFactorRemainingBackupCodes
}
return 0
}
func (x *Users_User) GetAssociatedAccounts() []*Users_User_AssociatedAccounts {
if x != nil {
return x.AssociatedAccounts
}
return nil
}
func (x *Users_User) GetCanUploadProfileHeader() bool {
if x != nil {
return x.CanUploadProfileHeader
}
return false
}
func (x *Users_User) GetCanUploadUserCardBackground() bool {
if x != nil {
return x.CanUploadUserCardBackground
}
return false
}
func (x *Users_User) GetPostCount() int32 {
if x != nil {
return x.PostCount
}
return 0
}
func (x *Users_User) GetCanBeDeleted() bool {
if x != nil {
return x.CanBeDeleted
}
return false
}
func (x *Users_User) GetCanDeleteAllPosts() bool {
if x != nil {
return x.CanDeleteAllPosts
}
return false
}
func (x *Users_User) GetLocale() string {
if x != nil {
return x.Locale
}
return ""
}
func (x *Users_User) GetMutedCategoryIds() []int32 {
if x != nil {
return x.MutedCategoryIds
}
return nil
}
func (x *Users_User) GetRegularCategoryIds() []int32 {
if x != nil {
return x.RegularCategoryIds
}
return nil
}
func (x *Users_User) GetWatchedTags() []string {
if x != nil {
return x.WatchedTags
}
return nil
}
func (x *Users_User) GetWatchingFirstPostTags() []string {
if x != nil {
return x.WatchingFirstPostTags
}
return nil
}
func (x *Users_User) GetTrackedTags() []string {
if x != nil {
return x.TrackedTags
}
return nil
}
func (x *Users_User) GetMutedTags() []string {
if x != nil {
return x.MutedTags
}
return nil
}
func (x *Users_User) GetTrackedCategoryIds() []int32 {
if x != nil {
return x.TrackedCategoryIds
}
return nil
}
func (x *Users_User) GetWatchedCategoryIds() []int32 {
if x != nil {
return x.WatchedCategoryIds
}
return nil
}
func (x *Users_User) GetWatchedFirstPostCategoryIds() []int32 {
if x != nil {
return x.WatchedFirstPostCategoryIds
}
return nil
}
func (x *Users_User) GetSystemAvatarUploadId() int32 {
if x != nil {
return x.SystemAvatarUploadId
}
return 0
}
func (x *Users_User) GetSystemAvatarTemplate() string {
if x != nil {
return x.SystemAvatarTemplate
}
return ""
}
func (x *Users_User) GetCustomAvatarUploadId() int32 {
if x != nil {
return x.CustomAvatarUploadId
}
return 0
}
func (x *Users_User) GetCustomAvatarTemplate() string {
if x != nil {
return x.CustomAvatarTemplate
}
return ""
}
func (x *Users_User) GetMutedUsernames() []string {
if x != nil {
return x.MutedUsernames
}
return nil
}
func (x *Users_User) GetIgnoredUsernames() []string {
if x != nil {
return x.IgnoredUsernames
}
return nil
}
func (x *Users_User) GetAllowedPmUsernames() []string {
if x != nil {
return x.AllowedPmUsernames
}
return nil
}
func (x *Users_User) GetMailingListPostsPerDay() int32 {
if x != nil {
return x.MailingListPostsPerDay
}
return 0
}
func (x *Users_User) GetCanChangeBio() bool {
if x != nil {
return x.CanChangeBio
}
return false
}
func (x *Users_User) GetCanChangeWebsite() bool {
if x != nil {
return x.CanChangeWebsite
}
return false
}
func (x *Users_User) GetUserAuthTokens() []*Users_User_UserAuthTokens {
if x != nil {
return x.UserAuthTokens
}
return nil
}
func (x *Users_User) GetFeaturedUserBadgeIds() []int32 {
if x != nil {
return x.FeaturedUserBadgeIds
}
return nil
}
func (x *Users_User) GetGroups() []*Users_User_Groups {
if x != nil {
return x.Groups
}
return nil
}
func (x *Users_User) GetGroupUsers() []*Users_User_GroupUsers {
if x != nil {
return x.GroupUsers
}
return nil
}
func (x *Users_User) GetUserOption() *Users_User_UserOption {
if x != nil {
return x.UserOption
}
return nil
}
type Users_User_FeaturedTopic struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
LastPostedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_posted_at,json=lastPostedAt,proto3" json:"last_posted_at,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Views int32 `protobuf:"varint,6,opt,name=views,proto3" json:"views,omitempty"`
PostsCount int32 `protobuf:"varint,7,opt,name=posts_count,json=postsCount,proto3" json:"posts_count,omitempty"`
UserId int32 `protobuf:"varint,8,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
LastPostUserId int32 `protobuf:"varint,9,opt,name=last_post_user_id,json=lastPostUserId,proto3" json:"last_post_user_id,omitempty"`
ReplyCount int32 `protobuf:"varint,10,opt,name=reply_count,json=replyCount,proto3" json:"reply_count,omitempty"`
HighestPostNumber int32 `protobuf:"varint,11,opt,name=highest_post_number,json=highestPostNumber,proto3" json:"highest_post_number,omitempty"`
LikeCount int32 `protobuf:"varint,12,opt,name=like_count,json=likeCount,proto3" json:"like_count,omitempty"`
IncomingLinkCount int32 `protobuf:"varint,13,opt,name=incoming_link_count,json=incomingLinkCount,proto3" json:"incoming_link_count,omitempty"`
CategoryId int32 `protobuf:"varint,14,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"`
Visible bool `protobuf:"varint,15,opt,name=visible,proto3" json:"visible,omitempty"`
ModeratorPostsCount int32 `protobuf:"varint,16,opt,name=moderator_posts_count,json=moderatorPostsCount,proto3" json:"moderator_posts_count,omitempty"`
Closed bool `protobuf:"varint,17,opt,name=closed,proto3" json:"closed,omitempty"`
Archived bool `protobuf:"varint,18,opt,name=archived,proto3" json:"archived,omitempty"`
BumpedAt *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=bumped_at,json=bumpedAt,proto3" json:"bumped_at,omitempty"`
HasSummary bool `protobuf:"varint,20,opt,name=has_summary,json=hasSummary,proto3" json:"has_summary,omitempty"`
Archetype string `protobuf:"bytes,21,opt,name=archetype,proto3" json:"archetype,omitempty"`
NotifyModeratorsCount int32 `protobuf:"varint,22,opt,name=notify_moderators_count,json=notifyModeratorsCount,proto3" json:"notify_moderators_count,omitempty"`
SpamCount int32 `protobuf:"varint,23,opt,name=spam_count,json=spamCount,proto3" json:"spam_count,omitempty"`
Score float64 `protobuf:"fixed64,24,opt,name=score,proto3" json:"score,omitempty"`
PercentRank float64 `protobuf:"fixed64,26,opt,name=percent_rank,json=percentRank,proto3" json:"percent_rank,omitempty"`
Slug string `protobuf:"bytes,27,opt,name=slug,proto3" json:"slug,omitempty"`
ParticipantCount int32 `protobuf:"varint,28,opt,name=participant_count,json=participantCount,proto3" json:"participant_count,omitempty"`
WordCount int32 `protobuf:"varint,29,opt,name=word_count,json=wordCount,proto3" json:"word_count,omitempty"`
Excerpt string `protobuf:"bytes,30,opt,name=excerpt,proto3" json:"excerpt,omitempty"`
PinnedGlobally bool `protobuf:"varint,31,opt,name=pinned_globally,json=pinnedGlobally,proto3" json:"pinned_globally,omitempty"`
FancyTitle string `protobuf:"bytes,32,opt,name=fancy_title,json=fancyTitle,proto3" json:"fancy_title,omitempty"`
HighestStaffPostNumber int32 `protobuf:"varint,33,opt,name=highest_staff_post_number,json=highestStaffPostNumber,proto3" json:"highest_staff_post_number,omitempty"`
ReviewableScore float64 `protobuf:"fixed64,34,opt,name=reviewable_score,json=reviewableScore,proto3" json:"reviewable_score,omitempty"`
ImageUploadId int32 `protobuf:"varint,35,opt,name=image_upload_id,json=imageUploadId,proto3" json:"image_upload_id,omitempty"`
}
func (x *Users_User_FeaturedTopic) Reset() {
*x = Users_User_FeaturedTopic{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_User_FeaturedTopic) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_User_FeaturedTopic) ProtoMessage() {}
func (x *Users_User_FeaturedTopic) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_User_FeaturedTopic.ProtoReflect.Descriptor instead.
func (*Users_User_FeaturedTopic) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 5, 0}
}
func (x *Users_User_FeaturedTopic) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_User_FeaturedTopic) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *Users_User_FeaturedTopic) GetLastPostedAt() *timestamppb.Timestamp {
if x != nil {
return x.LastPostedAt
}
return nil
}
func (x *Users_User_FeaturedTopic) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Users_User_FeaturedTopic) GetUpdatedAt() *timestamppb.Timestamp {
if x != nil {
return x.UpdatedAt
}
return nil
}
func (x *Users_User_FeaturedTopic) GetViews() int32 {
if x != nil {
return x.Views
}
return 0
}
func (x *Users_User_FeaturedTopic) GetPostsCount() int32 {
if x != nil {
return x.PostsCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *Users_User_FeaturedTopic) GetLastPostUserId() int32 {
if x != nil {
return x.LastPostUserId
}
return 0
}
func (x *Users_User_FeaturedTopic) GetReplyCount() int32 {
if x != nil {
return x.ReplyCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetHighestPostNumber() int32 {
if x != nil {
return x.HighestPostNumber
}
return 0
}
func (x *Users_User_FeaturedTopic) GetLikeCount() int32 {
if x != nil {
return x.LikeCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetIncomingLinkCount() int32 {
if x != nil {
return x.IncomingLinkCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetCategoryId() int32 {
if x != nil {
return x.CategoryId
}
return 0
}
func (x *Users_User_FeaturedTopic) GetVisible() bool {
if x != nil {
return x.Visible
}
return false
}
func (x *Users_User_FeaturedTopic) GetModeratorPostsCount() int32 {
if x != nil {
return x.ModeratorPostsCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetClosed() bool {
if x != nil {
return x.Closed
}
return false
}
func (x *Users_User_FeaturedTopic) GetArchived() bool {
if x != nil {
return x.Archived
}
return false
}
func (x *Users_User_FeaturedTopic) GetBumpedAt() *timestamppb.Timestamp {
if x != nil {
return x.BumpedAt
}
return nil
}
func (x *Users_User_FeaturedTopic) GetHasSummary() bool {
if x != nil {
return x.HasSummary
}
return false
}
func (x *Users_User_FeaturedTopic) GetArchetype() string {
if x != nil {
return x.Archetype
}
return ""
}
func (x *Users_User_FeaturedTopic) GetNotifyModeratorsCount() int32 {
if x != nil {
return x.NotifyModeratorsCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetSpamCount() int32 {
if x != nil {
return x.SpamCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetScore() float64 {
if x != nil {
return x.Score
}
return 0
}
func (x *Users_User_FeaturedTopic) GetPercentRank() float64 {
if x != nil {
return x.PercentRank
}
return 0
}
func (x *Users_User_FeaturedTopic) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *Users_User_FeaturedTopic) GetParticipantCount() int32 {
if x != nil {
return x.ParticipantCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetWordCount() int32 {
if x != nil {
return x.WordCount
}
return 0
}
func (x *Users_User_FeaturedTopic) GetExcerpt() string {
if x != nil {
return x.Excerpt
}
return ""
}
func (x *Users_User_FeaturedTopic) GetPinnedGlobally() bool {
if x != nil {
return x.PinnedGlobally
}
return false
}
func (x *Users_User_FeaturedTopic) GetFancyTitle() string {
if x != nil {
return x.FancyTitle
}
return ""
}
func (x *Users_User_FeaturedTopic) GetHighestStaffPostNumber() int32 {
if x != nil {
return x.HighestStaffPostNumber
}
return 0
}
func (x *Users_User_FeaturedTopic) GetReviewableScore() float64 {
if x != nil {
return x.ReviewableScore
}
return 0
}
func (x *Users_User_FeaturedTopic) GetImageUploadId() int32 {
if x != nil {
return x.ImageUploadId
}
return 0
}
type Users_User_AssociatedAccounts struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *Users_User_AssociatedAccounts) Reset() {
*x = Users_User_AssociatedAccounts{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_User_AssociatedAccounts) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_User_AssociatedAccounts) ProtoMessage() {}
func (x *Users_User_AssociatedAccounts) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_User_AssociatedAccounts.ProtoReflect.Descriptor instead.
func (*Users_User_AssociatedAccounts) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 5, 1}
}
func (x *Users_User_AssociatedAccounts) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Users_User_AssociatedAccounts) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
type Users_User_UserAuthTokens struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
ClientIp string `protobuf:"bytes,2,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"`
Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
Browser string `protobuf:"bytes,4,opt,name=browser,proto3" json:"browser,omitempty"`
Device string `protobuf:"bytes,5,opt,name=device,proto3" json:"device,omitempty"`
Os string `protobuf:"bytes,6,opt,name=os,proto3" json:"os,omitempty"`
Icon string `protobuf:"bytes,7,opt,name=icon,proto3" json:"icon,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
SeenAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=seen_at,json=seenAt,proto3" json:"seen_at,omitempty"`
IsActive bool `protobuf:"varint,10,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
}
func (x *Users_User_UserAuthTokens) Reset() {
*x = Users_User_UserAuthTokens{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_User_UserAuthTokens) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_User_UserAuthTokens) ProtoMessage() {}
func (x *Users_User_UserAuthTokens) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_User_UserAuthTokens.ProtoReflect.Descriptor instead.
func (*Users_User_UserAuthTokens) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 5, 2}
}
func (x *Users_User_UserAuthTokens) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_User_UserAuthTokens) GetClientIp() string {
if x != nil {
return x.ClientIp
}
return ""
}
func (x *Users_User_UserAuthTokens) GetLocation() string {
if x != nil {
return x.Location
}
return ""
}
func (x *Users_User_UserAuthTokens) GetBrowser() string {
if x != nil {
return x.Browser
}
return ""
}
func (x *Users_User_UserAuthTokens) GetDevice() string {
if x != nil {
return x.Device
}
return ""
}
func (x *Users_User_UserAuthTokens) GetOs() string {
if x != nil {
return x.Os
}
return ""
}
func (x *Users_User_UserAuthTokens) GetIcon() string {
if x != nil {
return x.Icon
}
return ""
}
func (x *Users_User_UserAuthTokens) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *Users_User_UserAuthTokens) GetSeenAt() *timestamppb.Timestamp {
if x != nil {
return x.SeenAt
}
return nil
}
func (x *Users_User_UserAuthTokens) GetIsActive() bool {
if x != nil {
return x.IsActive
}
return false
}
type Users_User_Groups struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Automatic bool `protobuf:"varint,2,opt,name=automatic,proto3" json:"automatic,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
UserCount int32 `protobuf:"varint,5,opt,name=user_count,json=userCount,proto3" json:"user_count,omitempty"`
MentionableLevel int32 `protobuf:"varint,6,opt,name=mentionable_level,json=mentionableLevel,proto3" json:"mentionable_level,omitempty"`
MessageableLevel int32 `protobuf:"varint,7,opt,name=messageable_level,json=messageableLevel,proto3" json:"messageable_level,omitempty"`
VisibilityLevel int32 `protobuf:"varint,8,opt,name=visibility_level,json=visibilityLevel,proto3" json:"visibility_level,omitempty"`
PrimaryGroup bool `protobuf:"varint,9,opt,name=primary_group,json=primaryGroup,proto3" json:"primary_group,omitempty"`
HasMessages bool `protobuf:"varint,10,opt,name=has_messages,json=hasMessages,proto3" json:"has_messages,omitempty"`
BioRaw string `protobuf:"bytes,11,opt,name=bio_raw,json=bioRaw,proto3" json:"bio_raw,omitempty"`
PublicAdmission bool `protobuf:"varint,12,opt,name=public_admission,json=publicAdmission,proto3" json:"public_admission,omitempty"`
PublicExit bool `protobuf:"varint,13,opt,name=public_exit,json=publicExit,proto3" json:"public_exit,omitempty"`
AllowMembershipRequests bool `protobuf:"varint,14,opt,name=allow_membership_requests,json=allowMembershipRequests,proto3" json:"allow_membership_requests,omitempty"`
FullName string `protobuf:"bytes,15,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"`
DefaultNotificationLevel int32 `protobuf:"varint,16,opt,name=default_notification_level,json=defaultNotificationLevel,proto3" json:"default_notification_level,omitempty"`
MembershipRequestTemplate string `protobuf:"bytes,17,opt,name=membership_request_template,json=membershipRequestTemplate,proto3" json:"membership_request_template,omitempty"`
MembersVisibilityLevel int32 `protobuf:"varint,18,opt,name=members_visibility_level,json=membersVisibilityLevel,proto3" json:"members_visibility_level,omitempty"`
CanSeeMembers bool `protobuf:"varint,19,opt,name=can_see_members,json=canSeeMembers,proto3" json:"can_see_members,omitempty"`
CanAdminGroup bool `protobuf:"varint,20,opt,name=can_admin_group,json=canAdminGroup,proto3" json:"can_admin_group,omitempty"`
PublishReadState bool `protobuf:"varint,21,opt,name=publish_read_state,json=publishReadState,proto3" json:"publish_read_state,omitempty"`
ImapMailboxName string `protobuf:"bytes,22,opt,name=imap_mailbox_name,json=imapMailboxName,proto3" json:"imap_mailbox_name,omitempty"`
WatchingCategoryIds []int32 `protobuf:"varint,23,rep,packed,name=watching_category_ids,json=watchingCategoryIds,proto3" json:"watching_category_ids,omitempty"`
TrackingCategoryIds []int32 `protobuf:"varint,24,rep,packed,name=tracking_category_ids,json=trackingCategoryIds,proto3" json:"tracking_category_ids,omitempty"`
WatchingFirstPostCategoryIds []int32 `protobuf:"varint,25,rep,packed,name=watching_first_post_category_ids,json=watchingFirstPostCategoryIds,proto3" json:"watching_first_post_category_ids,omitempty"`
RegularCategoryIds []int32 `protobuf:"varint,26,rep,packed,name=regular_category_ids,json=regularCategoryIds,proto3" json:"regular_category_ids,omitempty"`
MutedCategoryIds []int32 `protobuf:"varint,27,rep,packed,name=muted_category_ids,json=mutedCategoryIds,proto3" json:"muted_category_ids,omitempty"`
WatchingTags []string `protobuf:"bytes,28,rep,name=watching_tags,json=watchingTags,proto3" json:"watching_tags,omitempty"`
WatchingFirstPostTags []string `protobuf:"bytes,29,rep,name=watching_first_post_tags,json=watchingFirstPostTags,proto3" json:"watching_first_post_tags,omitempty"`
TrackingsTags []string `protobuf:"bytes,30,rep,name=trackings_tags,json=trackingsTags,proto3" json:"trackings_tags,omitempty"`
RegularTags []string `protobuf:"bytes,31,rep,name=regular_tags,json=regularTags,proto3" json:"regular_tags,omitempty"`
MutedTags []string `protobuf:"bytes,32,rep,name=muted_tags,json=mutedTags,proto3" json:"muted_tags,omitempty"`
}
func (x *Users_User_Groups) Reset() {
*x = Users_User_Groups{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_User_Groups) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_User_Groups) ProtoMessage() {}
func (x *Users_User_Groups) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_User_Groups.ProtoReflect.Descriptor instead.
func (*Users_User_Groups) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 5, 3}
}
func (x *Users_User_Groups) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Users_User_Groups) GetAutomatic() bool {
if x != nil {
return x.Automatic
}
return false
}
func (x *Users_User_Groups) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Users_User_Groups) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *Users_User_Groups) GetUserCount() int32 {
if x != nil {
return x.UserCount
}
return 0
}
func (x *Users_User_Groups) GetMentionableLevel() int32 {
if x != nil {
return x.MentionableLevel
}
return 0
}
func (x *Users_User_Groups) GetMessageableLevel() int32 {
if x != nil {
return x.MessageableLevel
}
return 0
}
func (x *Users_User_Groups) GetVisibilityLevel() int32 {
if x != nil {
return x.VisibilityLevel
}
return 0
}
func (x *Users_User_Groups) GetPrimaryGroup() bool {
if x != nil {
return x.PrimaryGroup
}
return false
}
func (x *Users_User_Groups) GetHasMessages() bool {
if x != nil {
return x.HasMessages
}
return false
}
func (x *Users_User_Groups) GetBioRaw() string {
if x != nil {
return x.BioRaw
}
return ""
}
func (x *Users_User_Groups) GetPublicAdmission() bool {
if x != nil {
return x.PublicAdmission
}
return false
}
func (x *Users_User_Groups) GetPublicExit() bool {
if x != nil {
return x.PublicExit
}
return false
}
func (x *Users_User_Groups) GetAllowMembershipRequests() bool {
if x != nil {
return x.AllowMembershipRequests
}
return false
}
func (x *Users_User_Groups) GetFullName() string {
if x != nil {
return x.FullName
}
return ""
}
func (x *Users_User_Groups) GetDefaultNotificationLevel() int32 {
if x != nil {
return x.DefaultNotificationLevel
}
return 0
}
func (x *Users_User_Groups) GetMembershipRequestTemplate() string {
if x != nil {
return x.MembershipRequestTemplate
}
return ""
}
func (x *Users_User_Groups) GetMembersVisibilityLevel() int32 {
if x != nil {
return x.MembersVisibilityLevel
}
return 0
}
func (x *Users_User_Groups) GetCanSeeMembers() bool {
if x != nil {
return x.CanSeeMembers
}
return false
}
func (x *Users_User_Groups) GetCanAdminGroup() bool {
if x != nil {
return x.CanAdminGroup
}
return false
}
func (x *Users_User_Groups) GetPublishReadState() bool {
if x != nil {
return x.PublishReadState
}
return false
}
func (x *Users_User_Groups) GetImapMailboxName() string {
if x != nil {
return x.ImapMailboxName
}
return ""
}
func (x *Users_User_Groups) GetWatchingCategoryIds() []int32 {
if x != nil {
return x.WatchingCategoryIds
}
return nil
}
func (x *Users_User_Groups) GetTrackingCategoryIds() []int32 {
if x != nil {
return x.TrackingCategoryIds
}
return nil
}
func (x *Users_User_Groups) GetWatchingFirstPostCategoryIds() []int32 {
if x != nil {
return x.WatchingFirstPostCategoryIds
}
return nil
}
func (x *Users_User_Groups) GetRegularCategoryIds() []int32 {
if x != nil {
return x.RegularCategoryIds
}
return nil
}
func (x *Users_User_Groups) GetMutedCategoryIds() []int32 {
if x != nil {
return x.MutedCategoryIds
}
return nil
}
func (x *Users_User_Groups) GetWatchingTags() []string {
if x != nil {
return x.WatchingTags
}
return nil
}
func (x *Users_User_Groups) GetWatchingFirstPostTags() []string {
if x != nil {
return x.WatchingFirstPostTags
}
return nil
}
func (x *Users_User_Groups) GetTrackingsTags() []string {
if x != nil {
return x.TrackingsTags
}
return nil
}
func (x *Users_User_Groups) GetRegularTags() []string {
if x != nil {
return x.RegularTags
}
return nil
}
func (x *Users_User_Groups) GetMutedTags() []string {
if x != nil {
return x.MutedTags
}
return nil
}
type Users_User_GroupUsers struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupId int32 `protobuf:"varint,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
UserId int32 `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
NotificationLevel int32 `protobuf:"varint,3,opt,name=notification_level,json=notificationLevel,proto3" json:"notification_level,omitempty"`
Owner bool `protobuf:"varint,4,opt,name=owner,proto3" json:"owner,omitempty"`
}
func (x *Users_User_GroupUsers) Reset() {
*x = Users_User_GroupUsers{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_User_GroupUsers) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_User_GroupUsers) ProtoMessage() {}
func (x *Users_User_GroupUsers) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_User_GroupUsers.ProtoReflect.Descriptor instead.
func (*Users_User_GroupUsers) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 5, 4}
}
func (x *Users_User_GroupUsers) GetGroupId() int32 {
if x != nil {
return x.GroupId
}
return 0
}
func (x *Users_User_GroupUsers) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *Users_User_GroupUsers) GetNotificationLevel() int32 {
if x != nil {
return x.NotificationLevel
}
return 0
}
func (x *Users_User_GroupUsers) GetOwner() bool {
if x != nil {
return x.Owner
}
return false
}
type Users_User_UserOption struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UserId int32 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
MailingListMode bool `protobuf:"varint,2,opt,name=mailing_list_mode,json=mailingListMode,proto3" json:"mailing_list_mode,omitempty"`
MailingListModeFrequency int32 `protobuf:"varint,3,opt,name=mailing_list_mode_frequency,json=mailingListModeFrequency,proto3" json:"mailing_list_mode_frequency,omitempty"`
EmailDigests bool `protobuf:"varint,4,opt,name=email_digests,json=emailDigests,proto3" json:"email_digests,omitempty"`
EmailLevel int32 `protobuf:"varint,5,opt,name=email_level,json=emailLevel,proto3" json:"email_level,omitempty"`
EmailMessagesLevel int32 `protobuf:"varint,6,opt,name=email_messages_level,json=emailMessagesLevel,proto3" json:"email_messages_level,omitempty"`
ExternalLinksIsNewTab bool `protobuf:"varint,7,opt,name=external_links_is_new_tab,json=externalLinksIsNewTab,proto3" json:"external_links_is_new_tab,omitempty"`
DarkSchemeId int32 `protobuf:"varint,8,opt,name=dark_scheme_id,json=darkSchemeId,proto3" json:"dark_scheme_id,omitempty"`
DynamicFavicon bool `protobuf:"varint,9,opt,name=dynamic_favicon,json=dynamicFavicon,proto3" json:"dynamic_favicon,omitempty"`
EnableQuoting bool `protobuf:"varint,10,opt,name=enable_quoting,json=enableQuoting,proto3" json:"enable_quoting,omitempty"`
EnableDefer bool `protobuf:"varint,11,opt,name=enable_defer,json=enableDefer,proto3" json:"enable_defer,omitempty"`
DigestAfterMinutes int32 `protobuf:"varint,12,opt,name=digest_after_minutes,json=digestAfterMinutes,proto3" json:"digest_after_minutes,omitempty"`
AutomaticallyUnpinTopics bool `protobuf:"varint,13,opt,name=automatically_unpin_topics,json=automaticallyUnpinTopics,proto3" json:"automatically_unpin_topics,omitempty"`
AutoTrackTopicsAftersMsecs int32 `protobuf:"varint,14,opt,name=auto_track_topics_afters_msecs,json=autoTrackTopicsAftersMsecs,proto3" json:"auto_track_topics_afters_msecs,omitempty"`
NotificationLevelWhenReplying int32 `protobuf:"varint,15,opt,name=notification_level_when_replying,json=notificationLevelWhenReplying,proto3" json:"notification_level_when_replying,omitempty"`
NewTopicDurationMinutes int32 `protobuf:"varint,16,opt,name=new_topic_duration_minutes,json=newTopicDurationMinutes,proto3" json:"new_topic_duration_minutes,omitempty"`
EmailPreviousReplies int32 `protobuf:"varint,17,opt,name=email_previous_replies,json=emailPreviousReplies,proto3" json:"email_previous_replies,omitempty"`
EmailInReplyTo bool `protobuf:"varint,18,opt,name=email_in_reply_to,json=emailInReplyTo,proto3" json:"email_in_reply_to,omitempty"`
LikeNotificationFrequency int32 `protobuf:"varint,19,opt,name=like_notification_frequency,json=likeNotificationFrequency,proto3" json:"like_notification_frequency,omitempty"`
IncludeTl0InDigests bool `protobuf:"varint,20,opt,name=include_tl0_in_digests,json=includeTl0InDigests,proto3" json:"include_tl0_in_digests,omitempty"`
ThemeIds []int32 `protobuf:"varint,21,rep,packed,name=theme_ids,json=themeIds,proto3" json:"theme_ids,omitempty"`
ThemeKeySeq int32 `protobuf:"varint,22,opt,name=theme_key_seq,json=themeKeySeq,proto3" json:"theme_key_seq,omitempty"`
AllowPrivateMessages bool `protobuf:"varint,23,opt,name=allow_private_messages,json=allowPrivateMessages,proto3" json:"allow_private_messages,omitempty"`
EnableAllowedPmUsers bool `protobuf:"varint,24,opt,name=enable_allowed_pm_users,json=enableAllowedPmUsers,proto3" json:"enable_allowed_pm_users,omitempty"`
HideProfileAndPresense bool `protobuf:"varint,25,opt,name=hide_profile_and_presense,json=hideProfileAndPresense,proto3" json:"hide_profile_and_presense,omitempty"`
TextSize string `protobuf:"bytes,26,opt,name=text_size,json=textSize,proto3" json:"text_size,omitempty"`
TextSizeSeq int32 `protobuf:"varint,27,opt,name=text_size_seq,json=textSizeSeq,proto3" json:"text_size_seq,omitempty"`
TitleCountMode string `protobuf:"bytes,28,opt,name=title_count_mode,json=titleCountMode,proto3" json:"title_count_mode,omitempty"`
Timezone string `protobuf:"bytes,29,opt,name=timezone,proto3" json:"timezone,omitempty"`
SkipNewUserTips bool `protobuf:"varint,30,opt,name=skip_new_user_tips,json=skipNewUserTips,proto3" json:"skip_new_user_tips,omitempty"`
}
func (x *Users_User_UserOption) Reset() {
*x = Users_User_UserOption{}
if protoimpl.UnsafeEnabled {
mi := &file_users_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Users_User_UserOption) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Users_User_UserOption) ProtoMessage() {}
func (x *Users_User_UserOption) ProtoReflect() protoreflect.Message {
mi := &file_users_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Users_User_UserOption.ProtoReflect.Descriptor instead.
func (*Users_User_UserOption) Descriptor() ([]byte, []int) {
return file_users_proto_rawDescGZIP(), []int{0, 5, 5}
}
func (x *Users_User_UserOption) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *Users_User_UserOption) GetMailingListMode() bool {
if x != nil {
return x.MailingListMode
}
return false
}
func (x *Users_User_UserOption) GetMailingListModeFrequency() int32 {
if x != nil {
return x.MailingListModeFrequency
}
return 0
}
func (x *Users_User_UserOption) GetEmailDigests() bool {
if x != nil {
return x.EmailDigests
}
return false
}
func (x *Users_User_UserOption) GetEmailLevel() int32 {
if x != nil {
return x.EmailLevel
}
return 0
}
func (x *Users_User_UserOption) GetEmailMessagesLevel() int32 {
if x != nil {
return x.EmailMessagesLevel
}
return 0
}
func (x *Users_User_UserOption) GetExternalLinksIsNewTab() bool {
if x != nil {
return x.ExternalLinksIsNewTab
}
return false
}
func (x *Users_User_UserOption) GetDarkSchemeId() int32 {
if x != nil {
return x.DarkSchemeId
}
return 0
}
func (x *Users_User_UserOption) GetDynamicFavicon() bool {
if x != nil {
return x.DynamicFavicon
}
return false
}
func (x *Users_User_UserOption) GetEnableQuoting() bool {
if x != nil {
return x.EnableQuoting
}
return false
}
func (x *Users_User_UserOption) GetEnableDefer() bool {
if x != nil {
return x.EnableDefer
}
return false
}
func (x *Users_User_UserOption) GetDigestAfterMinutes() int32 {
if x != nil {
return x.DigestAfterMinutes
}
return 0
}
func (x *Users_User_UserOption) GetAutomaticallyUnpinTopics() bool {
if x != nil {
return x.AutomaticallyUnpinTopics
}
return false
}
func (x *Users_User_UserOption) GetAutoTrackTopicsAftersMsecs() int32 {
if x != nil {
return x.AutoTrackTopicsAftersMsecs
}
return 0
}
func (x *Users_User_UserOption) GetNotificationLevelWhenReplying() int32 {
if x != nil {
return x.NotificationLevelWhenReplying
}
return 0
}
func (x *Users_User_UserOption) GetNewTopicDurationMinutes() int32 {
if x != nil {
return x.NewTopicDurationMinutes
}
return 0
}
func (x *Users_User_UserOption) GetEmailPreviousReplies() int32 {
if x != nil {
return x.EmailPreviousReplies
}
return 0
}
func (x *Users_User_UserOption) GetEmailInReplyTo() bool {
if x != nil {
return x.EmailInReplyTo
}
return false
}
func (x *Users_User_UserOption) GetLikeNotificationFrequency() int32 {
if x != nil {
return x.LikeNotificationFrequency
}
return 0
}
func (x *Users_User_UserOption) GetIncludeTl0InDigests() bool {
if x != nil {
return x.IncludeTl0InDigests
}
return false
}
func (x *Users_User_UserOption) GetThemeIds() []int32 {
if x != nil {
return x.ThemeIds
}
return nil
}
func (x *Users_User_UserOption) GetThemeKeySeq() int32 {
if x != nil {
return x.ThemeKeySeq
}
return 0
}
func (x *Users_User_UserOption) GetAllowPrivateMessages() bool {
if x != nil {
return x.AllowPrivateMessages
}
return false
}
func (x *Users_User_UserOption) GetEnableAllowedPmUsers() bool {
if x != nil {
return x.EnableAllowedPmUsers
}
return false
}
func (x *Users_User_UserOption) GetHideProfileAndPresense() bool {
if x != nil {
return x.HideProfileAndPresense
}
return false
}
func (x *Users_User_UserOption) GetTextSize() string {
if x != nil {
return x.TextSize
}
return ""
}
func (x *Users_User_UserOption) GetTextSizeSeq() int32 {
if x != nil {
return x.TextSizeSeq
}
return 0
}
func (x *Users_User_UserOption) GetTitleCountMode() string {
if x != nil {
return x.TitleCountMode
}
return ""
}
func (x *Users_User_UserOption) GetTimezone() string {
if x != nil {
return x.Timezone
}
return ""
}
func (x *Users_User_UserOption) GetSkipNewUserTips() bool {
if x != nil {
return x.SkipNewUserTips
}
return false
}
var File_users_proto protoreflect.FileDescriptor
var file_users_proto_rawDesc = []byte{
0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0xce, 0x48, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0b,
0x75, 0x73, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x64, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x24, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x42, 0x61, 0x64, 0x67, 0x65, 0x73, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x42, 0x61, 0x64,
0x67, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x62, 0x61, 0x64, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x42,
0x61, 0x64, 0x67, 0x65, 0x73, 0x52, 0x06, 0x62, 0x61, 0x64, 0x67, 0x65, 0x73, 0x12, 0x45, 0x0a,
0x0b, 0x62, 0x61, 0x64, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x61,
0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x0a, 0x62, 0x61, 0x64, 0x67, 0x65, 0x54,
0x79, 0x70, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x73, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x74,
0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x69,
0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x06, 0x74,
0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0xd3, 0x02, 0x0a, 0x0a, 0x55, 0x73,
0x65, 0x72, 0x42, 0x61, 0x64, 0x67, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x6e,
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65,
0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x64, 0x67, 0x65, 0x5f, 0x69, 0x64,
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x62, 0x61, 0x64, 0x67, 0x65, 0x49, 0x64, 0x12,
0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x74,
0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f,
0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x73,
0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x1a,
0xc2, 0x03, 0x0a, 0x06, 0x42, 0x61, 0x64, 0x67, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x69, 0x74,
0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x67,
0x72, 0x61, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x75, 0x6c, 0x74,
0x69, 0x70, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f,
0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d,
0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18,
0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12,
0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x64,
0x67, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x62, 0x61, 0x64, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a,
0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75,
0x67, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x67, 0x72,
0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d,
0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65,
0x12, 0x22, 0x0a, 0x0d, 0x62, 0x61, 0x64, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69,
0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79,
0x70, 0x65, 0x49, 0x64, 0x1a, 0x4f, 0x0a, 0x0a, 0x42, 0x61, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70,
0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f,
0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74,
0x4f, 0x72, 0x64, 0x65, 0x72, 0x1a, 0xa4, 0x01, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x27, 0x0a, 0x0f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65,
0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x64,
0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18,
0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x84, 0x01, 0x0a,
0x06, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1f, 0x0a,
0x0b, 0x66, 0x61, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x6e, 0x63, 0x79, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c,
0x75, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x1a, 0xbd, 0x3c, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f,
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x0e, 0x6c,
0x61, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x0c, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3c, 0x0a,
0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x67,
0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0d, 0x63, 0x61, 0x6e, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22,
0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x4d, 0x75, 0x74, 0x65, 0x55, 0x73,
0x65, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x70,
0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x72,
0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x47, 0x0a,
0x21, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73,
0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x6e,
0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f,
0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x75,
0x73, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x72,
0x61, 0x74, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65,
0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x12,
0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74,
0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c,
0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x61, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18,
0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x61, 0x64, 0x12,
0x28, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72,
0x65, 0x61, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x61, 0x64, 0x12, 0x53, 0x0a, 0x0e, 0x66, 0x65, 0x61,
0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x17, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52,
0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x18,
0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x65, 0x62, 0x73,
0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73,
0x74, 0x61, 0x67, 0x65, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61,
0x67, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x18,
0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x12, 0x2a,
0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x45, 0x64,
0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61,
0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x1d, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c,
0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x45, 0x64, 0x69, 0x74,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64,
0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05,
0x52, 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f,
0x62, 0x61, 0x64, 0x67, 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61,
0x73, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x61, 0x64, 0x67, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d,
0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x21, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x69, 0x65,
0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70,
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x38, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x63,
0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28,
0x08, 0x52, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x46, 0x61, 0x63, 0x74,
0x6f, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x1f, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x61,
0x63, 0x6b, 0x75, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x24, 0x20, 0x01,
0x28, 0x08, 0x52, 0x1c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x46, 0x61, 0x63,
0x74, 0x6f, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x12, 0x54, 0x0a, 0x27, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61,
0x63, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x62,
0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28,
0x05, 0x52, 0x23, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x46, 0x61, 0x63, 0x74,
0x6f, 0x72, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x75,
0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69,
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x26, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x12, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74,
0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x61,
0x6e, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x63,
0x61, 0x6e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48,
0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x1f, 0x63, 0x61, 0x6e, 0x5f, 0x75, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x62, 0x61,
0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b,
0x63, 0x61, 0x6e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x43, 0x61, 0x72,
0x64, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61,
0x6e, 0x5f, 0x62, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x2a, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x42, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x12, 0x2f, 0x0a, 0x14, 0x63, 0x61, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x61,
0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
0x63, 0x61, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74,
0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x74,
0x65, 0x64, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18,
0x2d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x43, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x67, 0x75, 0x6c,
0x61, 0x72, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18,
0x2e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x74,
0x63, 0x68, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x18,
0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70,
0x6f, 0x73, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15,
0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x6f, 0x73,
0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64,
0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61,
0x63, 0x6b, 0x65, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x75, 0x74, 0x65,
0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x75,
0x74, 0x65, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x63, 0x6b,
0x65, 0x64, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18,
0x33, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x61, 0x74,
0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64,
0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x77,
0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73,
0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x35,
0x20, 0x03, 0x28, 0x05, 0x52, 0x1b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x72,
0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
0x73, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x74,
0x61, 0x72, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x36, 0x20, 0x01,
0x28, 0x05, 0x52, 0x14, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
0x74, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x35,
0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x38, 0x20, 0x01, 0x28, 0x05, 0x52,
0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18,
0x39, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x76, 0x61,
0x74, 0x61, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d,
0x75, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x3a,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x6e,
0x61, 0x6d, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f,
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x09, 0x52,
0x10, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
0x73, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x6d, 0x5f,
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x09, 0x52,
0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61,
0x6d, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6c,
0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61,
0x79, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x6d, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67,
0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x44, 0x61, 0x79, 0x12,
0x24, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x69,
0x6f, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x42, 0x69, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x61, 0x6e, 0x5f, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x5f, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28,
0x08, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x65, 0x62, 0x73,
0x69, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68,
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x0e, 0x75, 0x73,
0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x17,
0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x62, 0x61,
0x64, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x41, 0x20, 0x03, 0x28, 0x05, 0x52, 0x14, 0x66,
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x64, 0x67, 0x65,
0x49, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x42, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72,
0x73, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75,
0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65,
0x72, 0x73, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x4a,
0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x44, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a,
0x75, 0x73, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x85, 0x0a, 0x0a, 0x0d, 0x46,
0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x65,
0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69,
0x65, 0x77, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x65, 0x77, 0x73,
0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x6c, 0x61,
0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x55,
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6c,
0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73,
0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x05, 0x52, 0x11, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e,
0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x05, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x6b,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65,
0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c,
0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65,
0x12, 0x32, 0x0a, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x6f,
0x73, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52,
0x13, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x11,
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08,
0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x62, 0x75, 0x6d, 0x70,
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x62, 0x75, 0x6d, 0x70, 0x65, 0x64, 0x41,
0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61,
0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18,
0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 0x65,
0x12, 0x36, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x72,
0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28,
0x05, 0x52, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74,
0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70, 0x61, 0x6d,
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x70,
0x61, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a,
0x0c, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x1a, 0x20,
0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b,
0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x73, 0x6c, 0x75, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52,
0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x65, 0x72, 0x70, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x65, 0x78, 0x63, 0x65, 0x72, 0x70, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x69,
0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x6c, 0x79, 0x18, 0x1f, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61,
0x6c, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x6e, 0x63, 0x79, 0x54,
0x69, 0x74, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x5f,
0x73, 0x74, 0x61, 0x66, 0x66, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74,
0x53, 0x74, 0x61, 0x66, 0x66, 0x50, 0x6f, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
0x29, 0x0a, 0x10, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63,
0x6f, 0x72, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x65,
0x77, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6d,
0x61, 0x67, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x23, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
0x49, 0x64, 0x1a, 0x4a, 0x0a, 0x12, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbc,
0x02, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69,
0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x1a,
0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x72,
0x6f, 0x77, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x72, 0x6f,
0x77, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02,
0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04,
0x69, 0x63, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e,
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x73,
0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x73, 0x65, 0x65, 0x6e, 0x41, 0x74,
0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x1a, 0xd0, 0x0a,
0x0a, 0x06, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f,
0x6d, 0x61, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74,
0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69,
0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a,
0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11,
0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65,
0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07,
0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x61, 0x62, 0x6c,
0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69,
0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65,
0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61,
0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x69, 0x6f,
0x5f, 0x72, 0x61, 0x77, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x6f, 0x52,
0x61, 0x77, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a,
0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, 0x78, 0x69, 0x74, 0x12, 0x3a,
0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
0x69, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x08, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75,
0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75,
0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x64, 0x65, 0x66,
0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x1b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
0x68, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70,
0x6c, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x6d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x65, 0x6d,
0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65,
0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
0x26, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65,
0x72, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x65,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x5f, 0x61,
0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0d, 0x63, 0x61, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
0x2c, 0x0a, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f,
0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x75, 0x62,
0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a,
0x11, 0x69, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x61, 0x69, 0x6c, 0x62, 0x6f, 0x78, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6d, 0x61, 0x70, 0x4d, 0x61,
0x69, 0x6c, 0x62, 0x6f, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x77, 0x61, 0x74,
0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69,
0x64, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x05, 0x52, 0x13, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69,
0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x32, 0x0a,
0x15, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x05, 0x52, 0x13, 0x74, 0x72,
0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
0x73, 0x12, 0x46, 0x0a, 0x20, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69,
0x72, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x05, 0x52, 0x1c, 0x77, 0x61, 0x74,
0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x67,
0x75, 0x6c, 0x61, 0x72, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64,
0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6d,
0x75, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64,
0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x43, 0x61,
0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x74,
0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x73, 0x12, 0x37,
0x0a, 0x18, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74,
0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x09,
0x52, 0x15, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50,
0x6f, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b,
0x69, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x73, 0x54, 0x61, 0x67, 0x73, 0x12, 0x21,
0x0a, 0x0c, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1f,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x54, 0x61, 0x67,
0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18,
0x20, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x54, 0x61, 0x67, 0x73,
0x1a, 0x85, 0x01, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12,
0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73,
0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65,
0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x11, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
0x08, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x1a, 0x88, 0x0b, 0x0a, 0x0a, 0x55, 0x73, 0x65,
0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74,
0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x61, 0x69,
0x6c, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3d, 0x0a, 0x1b,
0x6d, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64,
0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x18, 0x6d, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f,
0x64, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65,
0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73,
0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x65, 0x76, 0x65,
0x6c, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x12, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x4c, 0x65,
0x76, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x19, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f,
0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62,
0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x62, 0x12, 0x24, 0x0a,
0x0e, 0x64, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x61, 0x72, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x6d,
0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66,
0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x79,
0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x6f, 0x74,
0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65,
0x66, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x44, 0x65, 0x66, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74,
0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x41, 0x66, 0x74, 0x65,
0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x6f,
0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x75, 0x6e, 0x70, 0x69, 0x6e, 0x5f,
0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x75,
0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x55, 0x6e, 0x70, 0x69, 0x6e,
0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x42, 0x0a, 0x1e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x74,
0x72, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x66, 0x74, 0x65,
0x72, 0x73, 0x5f, 0x6d, 0x73, 0x65, 0x63, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a,
0x61, 0x75, 0x74, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x41,
0x66, 0x74, 0x65, 0x72, 0x73, 0x4d, 0x73, 0x65, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x6e, 0x6f,
0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x05, 0x52, 0x1d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x57, 0x68, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79,
0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63,
0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65,
0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x6e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69,
0x63, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73,
0x12, 0x34, 0x0a, 0x16, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f,
0x75, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05,
0x52, 0x14, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52,
0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x11, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f,
0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54,
0x6f, 0x12, 0x3e, 0x0a, 0x1b, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79,
0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x6c, 0x69, 0x6b, 0x65, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x79, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x6c, 0x30,
0x5f, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28,
0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x6c, 0x30, 0x49, 0x6e, 0x44,
0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f,
0x69, 0x64, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x74, 0x68, 0x65, 0x6d, 0x65,
0x49, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79,
0x5f, 0x73, 0x65, 0x71, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x68, 0x65, 0x6d,
0x65, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x72,
0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x35, 0x0a,
0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f,
0x70, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50, 0x6d, 0x55,
0x73, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f,
0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x73,
0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x68, 0x69, 0x64, 0x65, 0x50, 0x72, 0x6f,
0x66, 0x69, 0x6c, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x12,
0x1b, 0x0a, 0x09, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x1a, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x78, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0d,
0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x1b, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x71,
0x12, 0x28, 0x0a, 0x10, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
0x6d, 0x6f, 0x64, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x69, 0x74, 0x6c,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69,
0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69,
0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6e,
0x65, 0x77, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x18, 0x1e, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x54,
0x69, 0x70, 0x73, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x2e, 0x30, 0x63, 0x64, 0x2e, 0x78,
0x79, 0x7a, 0x2f, 0x6d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x75, 0x72, 0x73, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x69,
0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_users_proto_rawDescOnce sync.Once
file_users_proto_rawDescData = file_users_proto_rawDesc
)
func file_users_proto_rawDescGZIP() []byte {
file_users_proto_rawDescOnce.Do(func() {
file_users_proto_rawDescData = protoimpl.X.CompressGZIP(file_users_proto_rawDescData)
})
return file_users_proto_rawDescData
}
var file_users_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_users_proto_goTypes = []interface{}{
(*Users)(nil), // 0: discourse.protobuf.Users
(*Users_UserBadges)(nil), // 1: discourse.protobuf.Users.UserBadges
(*Users_Badges)(nil), // 2: discourse.protobuf.Users.Badges
(*Users_BadgeTypes)(nil), // 3: discourse.protobuf.Users.BadgeTypes
(*Users_Users)(nil), // 4: discourse.protobuf.Users.Users
(*Users_Topics)(nil), // 5: discourse.protobuf.Users.Topics
(*Users_User)(nil), // 6: discourse.protobuf.Users.User
(*Users_User_FeaturedTopic)(nil), // 7: discourse.protobuf.Users.User.FeaturedTopic
(*Users_User_AssociatedAccounts)(nil), // 8: discourse.protobuf.Users.User.AssociatedAccounts
(*Users_User_UserAuthTokens)(nil), // 9: discourse.protobuf.Users.User.UserAuthTokens
(*Users_User_Groups)(nil), // 10: discourse.protobuf.Users.User.Groups
(*Users_User_GroupUsers)(nil), // 11: discourse.protobuf.Users.User.GroupUsers
(*Users_User_UserOption)(nil), // 12: discourse.protobuf.Users.User.UserOption
(*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
}
var file_users_proto_depIdxs = []int32{
1, // 0: discourse.protobuf.Users.user_badges:type_name -> discourse.protobuf.Users.UserBadges
2, // 1: discourse.protobuf.Users.badges:type_name -> discourse.protobuf.Users.Badges
3, // 2: discourse.protobuf.Users.badge_types:type_name -> discourse.protobuf.Users.BadgeTypes
4, // 3: discourse.protobuf.Users.users:type_name -> discourse.protobuf.Users.Users
5, // 4: discourse.protobuf.Users.topics:type_name -> discourse.protobuf.Users.Topics
6, // 5: discourse.protobuf.Users.user:type_name -> discourse.protobuf.Users.User
13, // 6: discourse.protobuf.Users.UserBadges.granted_at:type_name -> google.protobuf.Timestamp
13, // 7: discourse.protobuf.Users.UserBadges.created_at:type_name -> google.protobuf.Timestamp
13, // 8: discourse.protobuf.Users.User.last_posted_at:type_name -> google.protobuf.Timestamp
13, // 9: discourse.protobuf.Users.User.last_seen_at:type_name -> google.protobuf.Timestamp
13, // 10: discourse.protobuf.Users.User.created_at:type_name -> google.protobuf.Timestamp
7, // 11: discourse.protobuf.Users.User.featured_topic:type_name -> discourse.protobuf.Users.User.FeaturedTopic
8, // 12: discourse.protobuf.Users.User.associated_accounts:type_name -> discourse.protobuf.Users.User.AssociatedAccounts
9, // 13: discourse.protobuf.Users.User.user_auth_tokens:type_name -> discourse.protobuf.Users.User.UserAuthTokens
10, // 14: discourse.protobuf.Users.User.groups:type_name -> discourse.protobuf.Users.User.Groups
11, // 15: discourse.protobuf.Users.User.group_users:type_name -> discourse.protobuf.Users.User.GroupUsers
12, // 16: discourse.protobuf.Users.User.user_option:type_name -> discourse.protobuf.Users.User.UserOption
13, // 17: discourse.protobuf.Users.User.FeaturedTopic.last_posted_at:type_name -> google.protobuf.Timestamp
13, // 18: discourse.protobuf.Users.User.FeaturedTopic.created_at:type_name -> google.protobuf.Timestamp
13, // 19: discourse.protobuf.Users.User.FeaturedTopic.updated_at:type_name -> google.protobuf.Timestamp
13, // 20: discourse.protobuf.Users.User.FeaturedTopic.bumped_at:type_name -> google.protobuf.Timestamp
13, // 21: discourse.protobuf.Users.User.UserAuthTokens.created_at:type_name -> google.protobuf.Timestamp
13, // 22: discourse.protobuf.Users.User.UserAuthTokens.seen_at:type_name -> google.protobuf.Timestamp
23, // [23:23] is the sub-list for method output_type
23, // [23:23] is the sub-list for method input_type
23, // [23:23] is the sub-list for extension type_name
23, // [23:23] is the sub-list for extension extendee
0, // [0:23] is the sub-list for field type_name
}
func init() { file_users_proto_init() }
func file_users_proto_init() {
if File_users_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_users_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_UserBadges); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_Badges); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_BadgeTypes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_Users); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_Topics); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_User); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_User_FeaturedTopic); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_User_AssociatedAccounts); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_User_UserAuthTokens); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_User_Groups); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_User_GroupUsers); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_users_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Users_User_UserOption); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_users_proto_rawDesc,
NumEnums: 0,
NumMessages: 13,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_users_proto_goTypes,
DependencyIndexes: file_users_proto_depIdxs,
MessageInfos: file_users_proto_msgTypes,
}.Build()
File_users_proto = out.File
file_users_proto_rawDesc = nil
file_users_proto_goTypes = nil
file_users_proto_depIdxs = nil
}