diff --git a/internal/controller/aryshare_comment.go b/internal/controller/aryshare_comment.go index d5c2bf3..6ce5856 100644 --- a/internal/controller/aryshare_comment.go +++ b/internal/controller/aryshare_comment.go @@ -124,6 +124,9 @@ func (a *AyrshareProvider) PostComment(_ context.Context, req *aryshare.PostComm Code: int32(e.Code), Message: e.Message, Platform: e.Platform, + Post: e.Post, + Detail: e.Detail, + Id: e.ID, }) } } diff --git a/internal/dto/aryshare_comment.go b/internal/dto/aryshare_comment.go index 8c711ef..d7561ea 100644 --- a/internal/dto/aryshare_comment.go +++ b/internal/dto/aryshare_comment.go @@ -61,6 +61,9 @@ type PlatformError struct { Code int `json:"code"` Message string `json:"message"` Platform string `json:"platform"` + Post string `json:"post,omitempty"` // 重复评论错误时包含的评论内容 + Detail string `json:"detail,omitempty"` // 错误详情 + ID string `json:"id,omitempty"` // Ayrshare Post ID(错误响应中可能包含) } // PostCommentResponse 发布评论响应 diff --git a/pb/aryshare/ayrshare.pb.go b/pb/aryshare/ayrshare.pb.go index 7487e34..ade4d4d 100644 --- a/pb/aryshare/ayrshare.pb.go +++ b/pb/aryshare/ayrshare.pb.go @@ -28,9 +28,9 @@ type UserTag struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username"` - X float64 `protobuf:"fixed64,2,opt,name=x,proto3" json:"x"` // Required for images, cannot be used with Reels - Y float64 `protobuf:"fixed64,3,opt,name=y,proto3" json:"y"` // Required for images, cannot be used with Reels + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + X float64 `protobuf:"fixed64,2,opt,name=x,proto3" json:"x,omitempty"` // Required for images, cannot be used with Reels + Y float64 `protobuf:"fixed64,3,opt,name=y,proto3" json:"y,omitempty"` // Required for images, cannot be used with Reels } func (x *UserTag) Reset() { @@ -92,17 +92,17 @@ type InstagramOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ShareReelsFeed bool `protobuf:"varint,1,opt,name=shareReelsFeed,proto3" json:"shareReelsFeed"` // Whether Reel can appear in both Feed and Reels tabs - AudioName string `protobuf:"bytes,2,opt,name=audioName,proto3" json:"audioName"` // Name of the audio music for Reels - ThumbNail string `protobuf:"bytes,3,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of the Reel cover image (thumbnail) - ThumbNailOffset int32 `protobuf:"varint,4,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Offset in milliseconds of the thumbnail frame - Stories bool `protobuf:"varint,5,opt,name=stories,proto3" json:"stories"` // Whether to post as Instagram Story - AltText []string `protobuf:"bytes,6,rep,name=altText,proto3" json:"altText"` // Array of alternative text for images (up to 1000 chars per image) - LocationId string `protobuf:"bytes,7,opt,name=locationId,proto3" json:"locationId"` // Facebook Page ID or Page name - UserTags []*UserTag `protobuf:"bytes,8,rep,name=userTags,proto3" json:"userTags"` // Array of user tags with username and coordinates - Collaborators []string `protobuf:"bytes,9,rep,name=collaborators,proto3" json:"collaborators"` // Array of Instagram usernames (up to 3) - AutoResize bool `protobuf:"varint,10,opt,name=autoResize,proto3" json:"autoResize"` // Auto resize images to 1080x1080px (Max Pack required) - DisableComments bool `protobuf:"varint,11,opt,name=disableComments,proto3" json:"disableComments"` // Disable comments on the published post + ShareReelsFeed bool `protobuf:"varint,1,opt,name=shareReelsFeed,proto3" json:"shareReelsFeed,omitempty"` // Whether Reel can appear in both Feed and Reels tabs + AudioName string `protobuf:"bytes,2,opt,name=audioName,proto3" json:"audioName,omitempty"` // Name of the audio music for Reels + ThumbNail string `protobuf:"bytes,3,opt,name=thumbNail,proto3" json:"thumbNail,omitempty"` // URL of the Reel cover image (thumbnail) + ThumbNailOffset int32 `protobuf:"varint,4,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset,omitempty"` // Offset in milliseconds of the thumbnail frame + Stories bool `protobuf:"varint,5,opt,name=stories,proto3" json:"stories,omitempty"` // Whether to post as Instagram Story + AltText []string `protobuf:"bytes,6,rep,name=altText,proto3" json:"altText,omitempty"` // Array of alternative text for images (up to 1000 chars per image) + LocationId string `protobuf:"bytes,7,opt,name=locationId,proto3" json:"locationId,omitempty"` // Facebook Page ID or Page name + UserTags []*UserTag `protobuf:"bytes,8,rep,name=userTags,proto3" json:"userTags,omitempty"` // Array of user tags with username and coordinates + Collaborators []string `protobuf:"bytes,9,rep,name=collaborators,proto3" json:"collaborators,omitempty"` // Array of Instagram usernames (up to 3) + AutoResize bool `protobuf:"varint,10,opt,name=autoResize,proto3" json:"autoResize,omitempty"` // Auto resize images to 1080x1080px (Max Pack required) + DisableComments bool `protobuf:"varint,11,opt,name=disableComments,proto3" json:"disableComments,omitempty"` // Disable comments on the published post } func (x *InstagramOptions) Reset() { @@ -220,19 +220,19 @@ type TikTokOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AutoAddMusic bool `protobuf:"varint,1,opt,name=autoAddMusic,proto3" json:"autoAddMusic"` // Whether to automatically add recommended music (image only) - DisableComments bool `protobuf:"varint,2,opt,name=disableComments,proto3" json:"disableComments"` // Whether to disable comments on the published post - DisableDuet bool `protobuf:"varint,3,opt,name=disableDuet,proto3" json:"disableDuet"` // Disable duets on the published video (video only) - DisableStitch bool `protobuf:"varint,4,opt,name=disableStitch,proto3" json:"disableStitch"` // Disable stitch on the published video (video only) - Draft bool `protobuf:"varint,5,opt,name=draft,proto3" json:"draft"` // Whether to create a draft post - IsAIGenerated bool `protobuf:"varint,6,opt,name=isAIGenerated,proto3" json:"isAIGenerated"` // Whether to enable AI-generated content toggle (video only) - IsBrandedContent bool `protobuf:"varint,7,opt,name=isBrandedContent,proto3" json:"isBrandedContent"` // Whether to enable Branded Content toggle - IsBrandOrganic bool `protobuf:"varint,8,opt,name=isBrandOrganic,proto3" json:"isBrandOrganic"` // Whether to enable Brand Organic Content toggle - ImageCoverIndex int32 `protobuf:"varint,9,opt,name=imageCoverIndex,proto3" json:"imageCoverIndex"` // Index of mediaUrls to be used as cover (image only, default 0) - Title string `protobuf:"bytes,10,opt,name=title,proto3" json:"title"` // Title of the post (image only) - ThumbNailOffset int32 `protobuf:"varint,11,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Frame to use for video cover in milliseconds (video only) - ThumbNail string `protobuf:"bytes,12,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of thumbnail image for video (video only) - Visibility string `protobuf:"bytes,13,opt,name=visibility,proto3" json:"visibility"` // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") + AutoAddMusic bool `protobuf:"varint,1,opt,name=autoAddMusic,proto3" json:"autoAddMusic,omitempty"` // Whether to automatically add recommended music (image only) + DisableComments bool `protobuf:"varint,2,opt,name=disableComments,proto3" json:"disableComments,omitempty"` // Whether to disable comments on the published post + DisableDuet bool `protobuf:"varint,3,opt,name=disableDuet,proto3" json:"disableDuet,omitempty"` // Disable duets on the published video (video only) + DisableStitch bool `protobuf:"varint,4,opt,name=disableStitch,proto3" json:"disableStitch,omitempty"` // Disable stitch on the published video (video only) + Draft bool `protobuf:"varint,5,opt,name=draft,proto3" json:"draft,omitempty"` // Whether to create a draft post + IsAIGenerated bool `protobuf:"varint,6,opt,name=isAIGenerated,proto3" json:"isAIGenerated,omitempty"` // Whether to enable AI-generated content toggle (video only) + IsBrandedContent bool `protobuf:"varint,7,opt,name=isBrandedContent,proto3" json:"isBrandedContent,omitempty"` // Whether to enable Branded Content toggle + IsBrandOrganic bool `protobuf:"varint,8,opt,name=isBrandOrganic,proto3" json:"isBrandOrganic,omitempty"` // Whether to enable Brand Organic Content toggle + ImageCoverIndex int32 `protobuf:"varint,9,opt,name=imageCoverIndex,proto3" json:"imageCoverIndex,omitempty"` // Index of mediaUrls to be used as cover (image only, default 0) + Title string `protobuf:"bytes,10,opt,name=title,proto3" json:"title,omitempty"` // Title of the post (image only) + ThumbNailOffset int32 `protobuf:"varint,11,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset,omitempty"` // Frame to use for video cover in milliseconds (video only) + ThumbNail string `protobuf:"bytes,12,opt,name=thumbNail,proto3" json:"thumbNail,omitempty"` // URL of thumbnail image for video (video only) + Visibility string `protobuf:"bytes,13,opt,name=visibility,proto3" json:"visibility,omitempty"` // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") } func (x *TikTokOptions) Reset() { @@ -364,15 +364,15 @@ type YouTubeOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` // Video title (required for YouTube) - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description"` // Video description - Privacy string `protobuf:"bytes,3,opt,name=privacy,proto3" json:"privacy"` // Privacy status: "public", "unlisted", "private" (default "public") - Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags"` // Video tags - CategoryId string `protobuf:"bytes,5,opt,name=categoryId,proto3" json:"categoryId"` // YouTube category ID - MadeForKids bool `protobuf:"varint,6,opt,name=madeForKids,proto3" json:"madeForKids"` // Whether the video is made for kids - ThumbNail string `protobuf:"bytes,7,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of custom thumbnail image - PlaylistId string `protobuf:"bytes,8,opt,name=playlistId,proto3" json:"playlistId"` // Playlist ID to add the video to - NotifySubscribers bool `protobuf:"varint,9,opt,name=notifySubscribers,proto3" json:"notifySubscribers"` // Whether to notify subscribers (default true) + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` // Video title (required for YouTube) + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // Video description + Privacy string `protobuf:"bytes,3,opt,name=privacy,proto3" json:"privacy,omitempty"` // Privacy status: "public", "unlisted", "private" (default "public") + Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` // Video tags + CategoryId string `protobuf:"bytes,5,opt,name=categoryId,proto3" json:"categoryId,omitempty"` // YouTube category ID + MadeForKids bool `protobuf:"varint,6,opt,name=madeForKids,proto3" json:"madeForKids,omitempty"` // Whether the video is made for kids + ThumbNail string `protobuf:"bytes,7,opt,name=thumbNail,proto3" json:"thumbNail,omitempty"` // URL of custom thumbnail image + PlaylistId string `protobuf:"bytes,8,opt,name=playlistId,proto3" json:"playlistId,omitempty"` // Playlist ID to add the video to + NotifySubscribers bool `protobuf:"varint,9,opt,name=notifySubscribers,proto3" json:"notifySubscribers,omitempty"` // Whether to notify subscribers (default true) } func (x *YouTubeOptions) Reset() { @@ -476,11 +476,11 @@ type BlueskyOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Labels []string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels"` // Content labels for the post - Langs []string `protobuf:"bytes,2,rep,name=langs,proto3" json:"langs"` // Language codes (e.g., ["en", "zh"]) - QuotedPostUri string `protobuf:"bytes,3,opt,name=quotedPostUri,proto3" json:"quotedPostUri"` // URI of the post to quote - ReplyToPostUri string `protobuf:"bytes,4,opt,name=replyToPostUri,proto3" json:"replyToPostUri"` // URI of the post to reply to - ReplyToPostCid string `protobuf:"bytes,5,opt,name=replyToPostCid,proto3" json:"replyToPostCid"` // CID of the post to reply to + Labels []string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty"` // Content labels for the post + Langs []string `protobuf:"bytes,2,rep,name=langs,proto3" json:"langs,omitempty"` // Language codes (e.g., ["en", "zh"]) + QuotedPostUri string `protobuf:"bytes,3,opt,name=quotedPostUri,proto3" json:"quotedPostUri,omitempty"` // URI of the post to quote + ReplyToPostUri string `protobuf:"bytes,4,opt,name=replyToPostUri,proto3" json:"replyToPostUri,omitempty"` // URI of the post to reply to + ReplyToPostCid string `protobuf:"bytes,5,opt,name=replyToPostCid,proto3" json:"replyToPostCid,omitempty"` // CID of the post to reply to } func (x *BlueskyOptions) Reset() { @@ -556,19 +556,19 @@ type PostRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post"` - Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` - MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls"` - IsVideo bool `protobuf:"varint,4,opt,name=isVideo,proto3" json:"isVideo"` - ScheduleDate string `protobuf:"bytes,5,opt,name=scheduleDate,proto3" json:"scheduleDate"` - ValidateScheduled bool `protobuf:"varint,6,opt,name=validateScheduled,proto3" json:"validateScheduled"` - ShortenLinks bool `protobuf:"varint,7,opt,name=shortenLinks,proto3" json:"shortenLinks"` - DisableComments bool `protobuf:"varint,8,opt,name=disableComments,proto3" json:"disableComments"` - InstagramOptions *InstagramOptions `protobuf:"bytes,9,opt,name=instagramOptions,proto3" json:"instagramOptions"` - TikTokOptions *TikTokOptions `protobuf:"bytes,10,opt,name=tikTokOptions,proto3" json:"tikTokOptions"` - ProfileKey string `protobuf:"bytes,11,opt,name=profileKey,proto3" json:"profileKey"` - YouTubeOptions *YouTubeOptions `protobuf:"bytes,12,opt,name=youTubeOptions,proto3" json:"youTubeOptions"` - BlueskyOptions *BlueskyOptions `protobuf:"bytes,13,opt,name=blueskyOptions,proto3" json:"blueskyOptions"` + Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms,omitempty"` + MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls,omitempty"` + IsVideo bool `protobuf:"varint,4,opt,name=isVideo,proto3" json:"isVideo,omitempty"` + ScheduleDate string `protobuf:"bytes,5,opt,name=scheduleDate,proto3" json:"scheduleDate,omitempty"` + ValidateScheduled bool `protobuf:"varint,6,opt,name=validateScheduled,proto3" json:"validateScheduled,omitempty"` + ShortenLinks bool `protobuf:"varint,7,opt,name=shortenLinks,proto3" json:"shortenLinks,omitempty"` + DisableComments bool `protobuf:"varint,8,opt,name=disableComments,proto3" json:"disableComments,omitempty"` + InstagramOptions *InstagramOptions `protobuf:"bytes,9,opt,name=instagramOptions,proto3" json:"instagramOptions,omitempty"` + TikTokOptions *TikTokOptions `protobuf:"bytes,10,opt,name=tikTokOptions,proto3" json:"tikTokOptions,omitempty"` + ProfileKey string `protobuf:"bytes,11,opt,name=profileKey,proto3" json:"profileKey,omitempty"` + YouTubeOptions *YouTubeOptions `protobuf:"bytes,12,opt,name=youTubeOptions,proto3" json:"youTubeOptions,omitempty"` + BlueskyOptions *BlueskyOptions `protobuf:"bytes,13,opt,name=blueskyOptions,proto3" json:"blueskyOptions,omitempty"` } func (x *PostRequest) Reset() { @@ -700,18 +700,18 @@ type PostId struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` - Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid"` - PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` - Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type"` - Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner"` - MediaId string `protobuf:"bytes,8,opt,name=mediaId,proto3" json:"mediaId"` - Ended string `protobuf:"bytes,9,opt,name=ended,proto3" json:"ended"` - IdShare string `protobuf:"bytes,10,opt,name=idShare,proto3" json:"idShare"` - IsVideo bool `protobuf:"varint,11,opt,name=isVideo,proto3" json:"isVideo"` - UsedQuota int32 `protobuf:"varint,12,opt,name=usedQuota,proto3" json:"usedQuota"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` + PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` + Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner,omitempty"` + MediaId string `protobuf:"bytes,8,opt,name=mediaId,proto3" json:"mediaId,omitempty"` + Ended string `protobuf:"bytes,9,opt,name=ended,proto3" json:"ended,omitempty"` + IdShare string `protobuf:"bytes,10,opt,name=idShare,proto3" json:"idShare,omitempty"` + IsVideo bool `protobuf:"varint,11,opt,name=isVideo,proto3" json:"isVideo,omitempty"` + UsedQuota int32 `protobuf:"varint,12,opt,name=usedQuota,proto3" json:"usedQuota,omitempty"` } func (x *PostId) Reset() { @@ -836,14 +836,14 @@ type PostItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` - PostIds []*PostId `protobuf:"bytes,3,rep,name=postIds,proto3" json:"postIds"` - Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` - RefId string `protobuf:"bytes,5,opt,name=refId,proto3" json:"refId"` - ProfileTitle string `protobuf:"bytes,6,opt,name=profileTitle,proto3" json:"profileTitle"` - Post string `protobuf:"bytes,7,opt,name=post,proto3" json:"post"` - TikTokId string `protobuf:"bytes,8,opt,name=tikTokId,proto3" json:"tikTokId"` // TikTok 特定的 ID + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"` + PostIds []*PostId `protobuf:"bytes,3,rep,name=postIds,proto3" json:"postIds,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + RefId string `protobuf:"bytes,5,opt,name=refId,proto3" json:"refId,omitempty"` + ProfileTitle string `protobuf:"bytes,6,opt,name=profileTitle,proto3" json:"profileTitle,omitempty"` + Post string `protobuf:"bytes,7,opt,name=post,proto3" json:"post,omitempty"` + TikTokId string `protobuf:"bytes,8,opt,name=tikTokId,proto3" json:"tikTokId,omitempty"` // TikTok 特定的 ID } func (x *PostItem) Reset() { @@ -940,13 +940,13 @@ type PostResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Posts []*PostItem `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Posts []*PostItem `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts,omitempty"` // 兼容旧版本响应格式(不使用 profile key 时) - Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors"` - PostIds []*PostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"` - Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id"` - IsValidated bool `protobuf:"varint,6,opt,name=isValidated,json=validate,proto3" json:"isValidated"` // validateScheduled 请求的验证结果 + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` + PostIds []*PostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds,omitempty"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + IsValidated bool `protobuf:"varint,6,opt,name=isValidated,json=validate,proto3" json:"isValidated,omitempty"` // validateScheduled 请求的验证结果 } func (x *PostResponse) Reset() { @@ -1029,8 +1029,8 @@ type GetPostRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetPostRequest) Reset() { @@ -1085,19 +1085,19 @@ type GetPostResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` - Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` - MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls"` - Platforms []string `protobuf:"bytes,5,rep,name=platforms,proto3" json:"platforms"` - Post string `protobuf:"bytes,6,opt,name=post,proto3" json:"post"` - PostIds []*PostId `protobuf:"bytes,7,rep,name=postIds,proto3" json:"postIds"` - ProfileTitle string `protobuf:"bytes,8,opt,name=profileTitle,proto3" json:"profileTitle"` - RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId"` - ScheduleDate string `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate"` - ShortenLinks bool `protobuf:"varint,11,opt,name=shortenLinks,proto3" json:"shortenLinks"` - Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status"` - Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type"` + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls,omitempty"` + Platforms []string `protobuf:"bytes,5,rep,name=platforms,proto3" json:"platforms,omitempty"` + Post string `protobuf:"bytes,6,opt,name=post,proto3" json:"post,omitempty"` + PostIds []*PostId `protobuf:"bytes,7,rep,name=postIds,proto3" json:"postIds,omitempty"` + ProfileTitle string `protobuf:"bytes,8,opt,name=profileTitle,proto3" json:"profileTitle,omitempty"` + RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId,omitempty"` + ScheduleDate string `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate,omitempty"` + ShortenLinks bool `protobuf:"varint,11,opt,name=shortenLinks,proto3" json:"shortenLinks,omitempty"` + Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"` } func (x *GetPostResponse) Reset() { @@ -1229,8 +1229,8 @@ type GetUserRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProfileKey string `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey"` - InstagramDetails bool `protobuf:"varint,2,opt,name=instagramDetails,proto3" json:"instagramDetails"` + ProfileKey string `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey,omitempty"` + InstagramDetails bool `protobuf:"varint,2,opt,name=instagramDetails,proto3" json:"instagramDetails,omitempty"` } func (x *GetUserRequest) Reset() { @@ -1285,9 +1285,9 @@ type Timestamp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Seconds int64 `protobuf:"varint,1,opt,name=seconds,json=_seconds,proto3" json:"seconds"` - Nanoseconds int64 `protobuf:"varint,2,opt,name=nanoseconds,json=_nanoseconds,proto3" json:"nanoseconds"` - Utc string `protobuf:"bytes,3,opt,name=utc,proto3" json:"utc"` + Seconds int64 `protobuf:"varint,1,opt,name=seconds,json=_seconds,proto3" json:"seconds,omitempty"` + Nanoseconds int64 `protobuf:"varint,2,opt,name=nanoseconds,json=_nanoseconds,proto3" json:"nanoseconds,omitempty"` + Utc string `protobuf:"bytes,3,opt,name=utc,proto3" json:"utc,omitempty"` } func (x *Timestamp) Reset() { @@ -1349,9 +1349,9 @@ type TwitterUsage struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MonthlyUsage int32 `protobuf:"varint,1,opt,name=monthlyUsage,proto3" json:"monthlyUsage"` - MonthlyLimit int32 `protobuf:"varint,2,opt,name=monthlyLimit,proto3" json:"monthlyLimit"` - MonthlyReset string `protobuf:"bytes,3,opt,name=monthlyReset,proto3" json:"monthlyReset"` + MonthlyUsage int32 `protobuf:"varint,1,opt,name=monthlyUsage,proto3" json:"monthlyUsage,omitempty"` + MonthlyLimit int32 `protobuf:"varint,2,opt,name=monthlyLimit,proto3" json:"monthlyLimit,omitempty"` + MonthlyReset string `protobuf:"bytes,3,opt,name=monthlyReset,proto3" json:"monthlyReset,omitempty"` } func (x *TwitterUsage) Reset() { @@ -1413,30 +1413,30 @@ type DisplayName struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` - DisplayName string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` - Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` - ProfileUrl string `protobuf:"bytes,5,opt,name=profileUrl,proto3" json:"profileUrl"` - UserImage string `protobuf:"bytes,6,opt,name=userImage,proto3" json:"userImage"` - Username string `protobuf:"bytes,7,opt,name=username,proto3" json:"username"` - Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description"` - MessagingActive bool `protobuf:"varint,9,opt,name=messagingActive,proto3" json:"messagingActive"` - PageName string `protobuf:"bytes,10,opt,name=pageName,proto3" json:"pageName"` - UserId string `protobuf:"bytes,11,opt,name=userId,proto3" json:"userId"` - MapsUrl string `protobuf:"bytes,12,opt,name=mapsUrl,proto3" json:"mapsUrl"` - PlaceId string `protobuf:"bytes,13,opt,name=placeId,proto3" json:"placeId"` - ReviewUrl string `protobuf:"bytes,14,opt,name=reviewUrl,proto3" json:"reviewUrl"` - IgId string `protobuf:"bytes,15,opt,name=igId,proto3" json:"igId"` - Type string `protobuf:"bytes,16,opt,name=type,proto3" json:"type"` - UsedQuota int32 `protobuf:"varint,17,opt,name=usedQuota,proto3" json:"usedQuota"` - RefreshDaysRemaining int32 `protobuf:"varint,18,opt,name=refreshDaysRemaining,proto3" json:"refreshDaysRemaining"` - RefreshRequired string `protobuf:"bytes,19,opt,name=refreshRequired,proto3" json:"refreshRequired"` - IsEligibleForGeoRestrictions bool `protobuf:"varint,20,opt,name=isEligibleForGeoRestrictions,proto3" json:"isEligibleForGeoRestrictions"` - IsVerified bool `protobuf:"varint,21,opt,name=isVerified,proto3" json:"isVerified"` - SubscriptionType string `protobuf:"bytes,22,opt,name=subscriptionType,proto3" json:"subscriptionType"` - TwitterUsage *TwitterUsage `protobuf:"bytes,23,opt,name=twitterUsage,proto3" json:"twitterUsage"` - VerifiedType string `protobuf:"bytes,24,opt,name=verifiedType,proto3" json:"verifiedType"` + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileUrl string `protobuf:"bytes,5,opt,name=profileUrl,proto3" json:"profileUrl,omitempty"` + UserImage string `protobuf:"bytes,6,opt,name=userImage,proto3" json:"userImage,omitempty"` + Username string `protobuf:"bytes,7,opt,name=username,proto3" json:"username,omitempty"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` + MessagingActive bool `protobuf:"varint,9,opt,name=messagingActive,proto3" json:"messagingActive,omitempty"` + PageName string `protobuf:"bytes,10,opt,name=pageName,proto3" json:"pageName,omitempty"` + UserId string `protobuf:"bytes,11,opt,name=userId,proto3" json:"userId,omitempty"` + MapsUrl string `protobuf:"bytes,12,opt,name=mapsUrl,proto3" json:"mapsUrl,omitempty"` + PlaceId string `protobuf:"bytes,13,opt,name=placeId,proto3" json:"placeId,omitempty"` + ReviewUrl string `protobuf:"bytes,14,opt,name=reviewUrl,proto3" json:"reviewUrl,omitempty"` + IgId string `protobuf:"bytes,15,opt,name=igId,proto3" json:"igId,omitempty"` + Type string `protobuf:"bytes,16,opt,name=type,proto3" json:"type,omitempty"` + UsedQuota int32 `protobuf:"varint,17,opt,name=usedQuota,proto3" json:"usedQuota,omitempty"` + RefreshDaysRemaining int32 `protobuf:"varint,18,opt,name=refreshDaysRemaining,proto3" json:"refreshDaysRemaining,omitempty"` + RefreshRequired string `protobuf:"bytes,19,opt,name=refreshRequired,proto3" json:"refreshRequired,omitempty"` + IsEligibleForGeoRestrictions bool `protobuf:"varint,20,opt,name=isEligibleForGeoRestrictions,proto3" json:"isEligibleForGeoRestrictions,omitempty"` + IsVerified bool `protobuf:"varint,21,opt,name=isVerified,proto3" json:"isVerified,omitempty"` + SubscriptionType string `protobuf:"bytes,22,opt,name=subscriptionType,proto3" json:"subscriptionType,omitempty"` + TwitterUsage *TwitterUsage `protobuf:"bytes,23,opt,name=twitterUsage,proto3" json:"twitterUsage,omitempty"` + VerifiedType string `protobuf:"bytes,24,opt,name=verifiedType,proto3" json:"verifiedType,omitempty"` } func (x *DisplayName) Reset() { @@ -1645,21 +1645,21 @@ type GetUserResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ActiveSocialAccounts []string `protobuf:"bytes,1,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` - Created *Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created"` - DisplayNames []*DisplayName `protobuf:"bytes,3,rep,name=displayNames,proto3" json:"displayNames"` - Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email"` - LastApiCall string `protobuf:"bytes,5,opt,name=lastApiCall,proto3" json:"lastApiCall"` - MessagingConversationMonthlyCount int32 `protobuf:"varint,6,opt,name=messagingConversationMonthlyCount,proto3" json:"messagingConversationMonthlyCount"` - MessagingEnabled bool `protobuf:"varint,7,opt,name=messagingEnabled,proto3" json:"messagingEnabled"` - MonthlyApiCalls int32 `protobuf:"varint,8,opt,name=monthlyApiCalls,proto3" json:"monthlyApiCalls"` - MonthlyPostCount int32 `protobuf:"varint,9,opt,name=monthlyPostCount,proto3" json:"monthlyPostCount"` - MonthlyPostQuota int32 `protobuf:"varint,10,opt,name=monthlyPostQuota,proto3" json:"monthlyPostQuota"` - MonthlyApiCallsQuota int32 `protobuf:"varint,11,opt,name=monthlyApiCallsQuota,proto3" json:"monthlyApiCallsQuota"` - RefId string `protobuf:"bytes,12,opt,name=refId,proto3" json:"refId"` - Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title"` - LastUpdated string `protobuf:"bytes,14,opt,name=lastUpdated,proto3" json:"lastUpdated"` - NextUpdate string `protobuf:"bytes,15,opt,name=nextUpdate,proto3" json:"nextUpdate"` + ActiveSocialAccounts []string `protobuf:"bytes,1,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts,omitempty"` + Created *Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"` + DisplayNames []*DisplayName `protobuf:"bytes,3,rep,name=displayNames,proto3" json:"displayNames,omitempty"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + LastApiCall string `protobuf:"bytes,5,opt,name=lastApiCall,proto3" json:"lastApiCall,omitempty"` + MessagingConversationMonthlyCount int32 `protobuf:"varint,6,opt,name=messagingConversationMonthlyCount,proto3" json:"messagingConversationMonthlyCount,omitempty"` + MessagingEnabled bool `protobuf:"varint,7,opt,name=messagingEnabled,proto3" json:"messagingEnabled,omitempty"` + MonthlyApiCalls int32 `protobuf:"varint,8,opt,name=monthlyApiCalls,proto3" json:"monthlyApiCalls,omitempty"` + MonthlyPostCount int32 `protobuf:"varint,9,opt,name=monthlyPostCount,proto3" json:"monthlyPostCount,omitempty"` + MonthlyPostQuota int32 `protobuf:"varint,10,opt,name=monthlyPostQuota,proto3" json:"monthlyPostQuota,omitempty"` + MonthlyApiCallsQuota int32 `protobuf:"varint,11,opt,name=monthlyApiCallsQuota,proto3" json:"monthlyApiCallsQuota,omitempty"` + RefId string `protobuf:"bytes,12,opt,name=refId,proto3" json:"refId,omitempty"` + Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title,omitempty"` + LastUpdated string `protobuf:"bytes,14,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + NextUpdate string `protobuf:"bytes,15,opt,name=nextUpdate,proto3" json:"nextUpdate,omitempty"` } func (x *GetUserResponse) Reset() { @@ -1805,15 +1805,15 @@ type CreateProfileRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` - MessagingActive bool `protobuf:"varint,2,opt,name=messagingActive,proto3" json:"messagingActive"` - HideTopHeader bool `protobuf:"varint,3,opt,name=hideTopHeader,proto3" json:"hideTopHeader"` - TopHeader string `protobuf:"bytes,4,opt,name=topHeader,proto3" json:"topHeader"` - DisableSocial []string `protobuf:"bytes,5,rep,name=disableSocial,proto3" json:"disableSocial"` - Team bool `protobuf:"varint,6,opt,name=team,proto3" json:"team"` - Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email"` - SubHeader string `protobuf:"bytes,8,opt,name=subHeader,proto3" json:"subHeader"` - Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + MessagingActive bool `protobuf:"varint,2,opt,name=messagingActive,proto3" json:"messagingActive,omitempty"` + HideTopHeader bool `protobuf:"varint,3,opt,name=hideTopHeader,proto3" json:"hideTopHeader,omitempty"` + TopHeader string `protobuf:"bytes,4,opt,name=topHeader,proto3" json:"topHeader,omitempty"` + DisableSocial []string `protobuf:"bytes,5,rep,name=disableSocial,proto3" json:"disableSocial,omitempty"` + Team bool `protobuf:"varint,6,opt,name=team,proto3" json:"team,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + SubHeader string `protobuf:"bytes,8,opt,name=subHeader,proto3" json:"subHeader,omitempty"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"` } func (x *CreateProfileRequest) Reset() { @@ -1917,11 +1917,11 @@ type CreateProfileResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` - RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId"` - ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` - MessagingActive bool `protobuf:"varint,5,opt,name=messagingActive,proto3" json:"messagingActive"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId,omitempty"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey,omitempty"` + MessagingActive bool `protobuf:"varint,5,opt,name=messagingActive,proto3" json:"messagingActive,omitempty"` } func (x *CreateProfileResponse) Reset() { @@ -1997,17 +1997,17 @@ type GetProfilesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` - RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId"` - HasActiveSocialAccounts bool `protobuf:"varint,3,opt,name=hasActiveSocialAccounts,proto3" json:"hasActiveSocialAccounts"` - IncludesActiveSocialAccounts []string `protobuf:"bytes,4,rep,name=includesActiveSocialAccounts,proto3" json:"includesActiveSocialAccounts"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId,omitempty"` + HasActiveSocialAccounts bool `protobuf:"varint,3,opt,name=hasActiveSocialAccounts,proto3" json:"hasActiveSocialAccounts,omitempty"` + IncludesActiveSocialAccounts []string `protobuf:"bytes,4,rep,name=includesActiveSocialAccounts,proto3" json:"includesActiveSocialAccounts,omitempty"` // Types that are assignable to ActionLog: // // *GetProfilesRequest_ActionLogBool // *GetProfilesRequest_ActionLogInt ActionLog isGetProfilesRequest_ActionLog `protobuf_oneof:"actionLog"` - Limit int32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit"` - Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor"` + Limit int32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit,omitempty"` + Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor,omitempty"` } func (x *GetProfilesRequest) Reset() { @@ -2127,14 +2127,14 @@ type ProfileItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` - DisplayTitle string `protobuf:"bytes,3,opt,name=displayTitle,proto3" json:"displayTitle"` - Created *Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - CreatedUTC string `protobuf:"bytes,5,opt,name=createdUTC,proto3" json:"createdUTC"` - RefId string `protobuf:"bytes,6,opt,name=refId,proto3" json:"refId"` - ActiveSocialAccounts []string `protobuf:"bytes,7,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` - Suspended bool `protobuf:"varint,8,opt,name=suspended,proto3" json:"suspended"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + DisplayTitle string `protobuf:"bytes,3,opt,name=displayTitle,proto3" json:"displayTitle,omitempty"` + Created *Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + CreatedUTC string `protobuf:"bytes,5,opt,name=createdUTC,proto3" json:"createdUTC,omitempty"` + RefId string `protobuf:"bytes,6,opt,name=refId,proto3" json:"refId,omitempty"` + ActiveSocialAccounts []string `protobuf:"bytes,7,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts,omitempty"` + Suspended bool `protobuf:"varint,8,opt,name=suspended,proto3" json:"suspended,omitempty"` } func (x *ProfileItem) Reset() { @@ -2231,9 +2231,9 @@ type Pagination struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HasMore bool `protobuf:"varint,1,opt,name=hasMore,proto3" json:"hasMore"` - NextCursor string `protobuf:"bytes,2,opt,name=nextCursor,proto3" json:"nextCursor"` - Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit"` + HasMore bool `protobuf:"varint,1,opt,name=hasMore,proto3" json:"hasMore,omitempty"` + NextCursor string `protobuf:"bytes,2,opt,name=nextCursor,proto3" json:"nextCursor,omitempty"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *Pagination) Reset() { @@ -2295,11 +2295,11 @@ type GetProfilesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Profiles []*ProfileItem `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles"` - Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` - LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"` - NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"` - Pagination *Pagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination"` + Profiles []*ProfileItem `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles,omitempty"` + Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` + LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate,omitempty"` + Pagination *Pagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (x *GetProfilesResponse) Reset() { @@ -2375,9 +2375,9 @@ type Email struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - To string `protobuf:"bytes,1,opt,name=to,proto3" json:"to"` - Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` - Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body"` + To string `protobuf:"bytes,1,opt,name=to,proto3" json:"to,omitempty"` + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` } func (x *Email) Reset() { @@ -2439,16 +2439,16 @@ type GenerateJWTRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` - PrivateKey string `protobuf:"bytes,2,opt,name=privateKey,proto3" json:"privateKey"` - ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` - Logout bool `protobuf:"varint,4,opt,name=logout,proto3" json:"logout"` - Redirect string `protobuf:"bytes,5,opt,name=redirect,proto3" json:"redirect"` - AllowedSocial []string `protobuf:"bytes,6,rep,name=allowedSocial,proto3" json:"allowedSocial"` - Verify bool `protobuf:"varint,7,opt,name=verify,proto3" json:"verify"` - Base64 bool `protobuf:"varint,8,opt,name=base64,proto3" json:"base64"` - ExpiresIn int32 `protobuf:"varint,9,opt,name=expiresIn,proto3" json:"expiresIn"` - Email *Email `protobuf:"bytes,10,opt,name=email,proto3" json:"email"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + PrivateKey string `protobuf:"bytes,2,opt,name=privateKey,proto3" json:"privateKey,omitempty"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey,omitempty"` + Logout bool `protobuf:"varint,4,opt,name=logout,proto3" json:"logout,omitempty"` + Redirect string `protobuf:"bytes,5,opt,name=redirect,proto3" json:"redirect,omitempty"` + AllowedSocial []string `protobuf:"bytes,6,rep,name=allowedSocial,proto3" json:"allowedSocial,omitempty"` + Verify bool `protobuf:"varint,7,opt,name=verify,proto3" json:"verify,omitempty"` + Base64 bool `protobuf:"varint,8,opt,name=base64,proto3" json:"base64,omitempty"` + ExpiresIn int32 `protobuf:"varint,9,opt,name=expiresIn,proto3" json:"expiresIn,omitempty"` + Email *Email `protobuf:"bytes,10,opt,name=email,proto3" json:"email,omitempty"` } func (x *GenerateJWTRequest) Reset() { @@ -2559,12 +2559,12 @@ type GenerateJWTResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"` - Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url"` - EmailSent bool `protobuf:"varint,5,opt,name=emailSent,proto3" json:"emailSent"` - ExpiresIn string `protobuf:"bytes,6,opt,name=expiresIn,proto3" json:"expiresIn"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` + Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` + EmailSent bool `protobuf:"varint,5,opt,name=emailSent,proto3" json:"emailSent,omitempty"` + ExpiresIn string `protobuf:"bytes,6,opt,name=expiresIn,proto3" json:"expiresIn,omitempty"` } func (x *GenerateJWTResponse) Reset() { @@ -2647,11 +2647,11 @@ type HistoryPostId struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` - Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform"` - PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"` - IsVideo bool `protobuf:"varint,5,opt,name=isVideo,proto3" json:"isVideo"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` + PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl,omitempty"` + IsVideo bool `protobuf:"varint,5,opt,name=isVideo,proto3" json:"isVideo,omitempty"` } func (x *HistoryPostId) Reset() { @@ -2727,26 +2727,26 @@ type HistoryItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Post string `protobuf:"bytes,2,opt,name=post,proto3" json:"post"` - Platforms []string `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms"` - PostIds []*HistoryPostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"` - Errors []string `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors"` - Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type"` - Notes string `protobuf:"bytes,7,opt,name=notes,proto3" json:"notes"` - Created string `protobuf:"bytes,8,opt,name=created,proto3" json:"created"` - Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status"` - ScheduleDate *Timestamp `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate"` - Approved bool `protobuf:"varint,11,opt,name=approved,proto3" json:"approved"` - ApprovedBy string `protobuf:"bytes,12,opt,name=approvedBy,proto3" json:"approvedBy"` - ApprovedDate string `protobuf:"bytes,13,opt,name=approvedDate,proto3" json:"approvedDate"` - RejectedBy string `protobuf:"bytes,14,opt,name=rejectedBy,proto3" json:"rejectedBy"` - RejectedDate string `protobuf:"bytes,15,opt,name=rejectedDate,proto3" json:"rejectedDate"` - RequiresApproval bool `protobuf:"varint,16,opt,name=requiresApproval,proto3" json:"requiresApproval"` - ProfileTitle string `protobuf:"bytes,17,opt,name=profileTitle,proto3" json:"profileTitle"` - RefId string `protobuf:"bytes,18,opt,name=refId,proto3" json:"refId"` - MediaUrls []string `protobuf:"bytes,19,rep,name=mediaUrls,proto3" json:"mediaUrls"` - ShortenLinks bool `protobuf:"varint,20,opt,name=shortenLinks,proto3" json:"shortenLinks"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Post string `protobuf:"bytes,2,opt,name=post,proto3" json:"post,omitempty"` + Platforms []string `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms,omitempty"` + PostIds []*HistoryPostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds,omitempty"` + Errors []string `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors,omitempty"` + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` + Notes string `protobuf:"bytes,7,opt,name=notes,proto3" json:"notes,omitempty"` + Created string `protobuf:"bytes,8,opt,name=created,proto3" json:"created,omitempty"` + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` + ScheduleDate *Timestamp `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate,omitempty"` + Approved bool `protobuf:"varint,11,opt,name=approved,proto3" json:"approved,omitempty"` + ApprovedBy string `protobuf:"bytes,12,opt,name=approvedBy,proto3" json:"approvedBy,omitempty"` + ApprovedDate string `protobuf:"bytes,13,opt,name=approvedDate,proto3" json:"approvedDate,omitempty"` + RejectedBy string `protobuf:"bytes,14,opt,name=rejectedBy,proto3" json:"rejectedBy,omitempty"` + RejectedDate string `protobuf:"bytes,15,opt,name=rejectedDate,proto3" json:"rejectedDate,omitempty"` + RequiresApproval bool `protobuf:"varint,16,opt,name=requiresApproval,proto3" json:"requiresApproval,omitempty"` + ProfileTitle string `protobuf:"bytes,17,opt,name=profileTitle,proto3" json:"profileTitle,omitempty"` + RefId string `protobuf:"bytes,18,opt,name=refId,proto3" json:"refId,omitempty"` + MediaUrls []string `protobuf:"bytes,19,rep,name=mediaUrls,proto3" json:"mediaUrls,omitempty"` + ShortenLinks bool `protobuf:"varint,20,opt,name=shortenLinks,proto3" json:"shortenLinks,omitempty"` } func (x *HistoryItem) Reset() { @@ -2927,15 +2927,15 @@ type GetHistoryRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - StartDate string `protobuf:"bytes,1,opt,name=startDate,proto3" json:"startDate"` - EndDate string `protobuf:"bytes,2,opt,name=endDate,proto3" json:"endDate"` - Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit"` - Platforms []string `protobuf:"bytes,4,rep,name=platforms,proto3" json:"platforms"` - LastDays int32 `protobuf:"varint,5,opt,name=lastDays,proto3" json:"lastDays"` - Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status"` - Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type"` - AutoRepostId string `protobuf:"bytes,8,opt,name=autoRepostId,proto3" json:"autoRepostId"` - ProfileKey string `protobuf:"bytes,9,opt,name=profileKey,proto3" json:"profileKey"` + StartDate string `protobuf:"bytes,1,opt,name=startDate,proto3" json:"startDate,omitempty"` + EndDate string `protobuf:"bytes,2,opt,name=endDate,proto3" json:"endDate,omitempty"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + Platforms []string `protobuf:"bytes,4,rep,name=platforms,proto3" json:"platforms,omitempty"` + LastDays int32 `protobuf:"varint,5,opt,name=lastDays,proto3" json:"lastDays,omitempty"` + Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` + Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` + AutoRepostId string `protobuf:"bytes,8,opt,name=autoRepostId,proto3" json:"autoRepostId,omitempty"` + ProfileKey string `protobuf:"bytes,9,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetHistoryRequest) Reset() { @@ -3039,11 +3039,11 @@ type GetHistoryResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - History []*HistoryItem `protobuf:"bytes,1,rep,name=history,proto3" json:"history"` - RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId"` - Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count"` - LastUpdated string `protobuf:"bytes,4,opt,name=lastUpdated,proto3" json:"lastUpdated"` - NextUpdate string `protobuf:"bytes,5,opt,name=nextUpdate,proto3" json:"nextUpdate"` + History []*HistoryItem `protobuf:"bytes,1,rep,name=history,proto3" json:"history,omitempty"` + RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId,omitempty"` + Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` + LastUpdated string `protobuf:"bytes,4,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + NextUpdate string `protobuf:"bytes,5,opt,name=nextUpdate,proto3" json:"nextUpdate,omitempty"` } func (x *GetHistoryResponse) Reset() { @@ -3119,9 +3119,9 @@ type GetHistoryByIdRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - SearchAllPosts bool `protobuf:"varint,2,opt,name=searchAllPosts,proto3" json:"searchAllPosts"` - ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SearchAllPosts bool `protobuf:"varint,2,opt,name=searchAllPosts,proto3" json:"searchAllPosts,omitempty"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetHistoryByIdRequest) Reset() { @@ -3183,19 +3183,19 @@ type GetHistoryByIdResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tier string `protobuf:"bytes,1,opt,name=tier,proto3" json:"tier"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"` - MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls"` - PostIds []*HistoryPostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"` - Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id"` - Errors []string `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors"` - Platforms []string `protobuf:"bytes,7,rep,name=platforms,proto3" json:"platforms"` - ScheduleDate *Timestamp `protobuf:"bytes,8,opt,name=scheduleDate,proto3" json:"scheduleDate"` - Created string `protobuf:"bytes,9,opt,name=created,proto3" json:"created"` - ShortenLinks bool `protobuf:"varint,10,opt,name=shortenLinks,proto3" json:"shortenLinks"` - Post string `protobuf:"bytes,11,opt,name=post,proto3" json:"post"` - Notes string `protobuf:"bytes,12,opt,name=notes,proto3" json:"notes"` - Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type"` + Tier string `protobuf:"bytes,1,opt,name=tier,proto3" json:"tier,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls,omitempty"` + PostIds []*HistoryPostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds,omitempty"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + Errors []string `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"` + Platforms []string `protobuf:"bytes,7,rep,name=platforms,proto3" json:"platforms,omitempty"` + ScheduleDate *Timestamp `protobuf:"bytes,8,opt,name=scheduleDate,proto3" json:"scheduleDate,omitempty"` + Created string `protobuf:"bytes,9,opt,name=created,proto3" json:"created,omitempty"` + ShortenLinks bool `protobuf:"varint,10,opt,name=shortenLinks,proto3" json:"shortenLinks,omitempty"` + Post string `protobuf:"bytes,11,opt,name=post,proto3" json:"post,omitempty"` + Notes string `protobuf:"bytes,12,opt,name=notes,proto3" json:"notes,omitempty"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"` } func (x *GetHistoryByIdResponse) Reset() { @@ -3327,11 +3327,11 @@ type PlatformPost struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Post string `protobuf:"bytes,2,opt,name=post,proto3" json:"post"` - PostUrl string `protobuf:"bytes,3,opt,name=postUrl,proto3" json:"postUrl"` - Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - CreatedAt string `protobuf:"bytes,5,opt,name=createdAt,proto3" json:"createdAt"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Post string `protobuf:"bytes,2,opt,name=post,proto3" json:"post,omitempty"` + PostUrl string `protobuf:"bytes,3,opt,name=postUrl,proto3" json:"postUrl,omitempty"` + Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + CreatedAt string `protobuf:"bytes,5,opt,name=createdAt,proto3" json:"createdAt,omitempty"` } func (x *PlatformPost) Reset() { @@ -3407,8 +3407,8 @@ type GetHistoryByPlatformRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"` - ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetHistoryByPlatformRequest) Reset() { @@ -3463,10 +3463,10 @@ type GetHistoryByPlatformResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Posts []*PlatformPost `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts"` - LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"` - NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Posts []*PlatformPost `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts,omitempty"` + LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate,omitempty"` } func (x *GetHistoryByPlatformResponse) Reset() { @@ -3535,11 +3535,11 @@ type SendMessageRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"` - RecipientId string `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId"` - Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message"` - MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls"` - ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"` + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + RecipientId string `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls,omitempty"` + ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *SendMessageRequest) Reset() { @@ -3615,14 +3615,14 @@ type MessageItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - RecipientId string `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId"` - MessageId string `protobuf:"bytes,3,opt,name=messageId,proto3" json:"messageId"` - Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message"` - Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type"` - MediaUrl string `protobuf:"bytes,6,opt,name=mediaUrl,proto3" json:"mediaUrl"` - Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + RecipientId string `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId,omitempty"` + MessageId string `protobuf:"bytes,3,opt,name=messageId,proto3" json:"messageId,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` + MediaUrl string `protobuf:"bytes,6,opt,name=mediaUrl,proto3" json:"mediaUrl,omitempty"` + Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code,omitempty"` } func (x *MessageItem) Reset() { @@ -3719,15 +3719,15 @@ type SendMessageResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - RecipientId string `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId"` - MessageId string `protobuf:"bytes,3,opt,name=messageId,proto3" json:"messageId"` - Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message"` // 成功消息的内容或错误消息的内容(根据 status 判断) - Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type"` - MediaUrl string `protobuf:"bytes,6,opt,name=mediaUrl,proto3" json:"mediaUrl"` - Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code"` - Messages []*MessageItem `protobuf:"bytes,9,rep,name=messages,proto3" json:"messages"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + RecipientId string `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId,omitempty"` + MessageId string `protobuf:"bytes,3,opt,name=messageId,proto3" json:"messageId,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` // 成功消息的内容或错误消息的内容(根据 status 判断) + Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` + MediaUrl string `protobuf:"bytes,6,opt,name=mediaUrl,proto3" json:"mediaUrl,omitempty"` + Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code,omitempty"` + Messages []*MessageItem `protobuf:"bytes,9,rep,name=messages,proto3" json:"messages,omitempty"` } func (x *SendMessageResponse) Reset() { @@ -3831,11 +3831,11 @@ type GetMessagesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"` - ConversationId string `protobuf:"bytes,3,opt,name=conversationId,proto3" json:"conversationId"` - ConversationsOnly bool `protobuf:"varint,4,opt,name=conversationsOnly,proto3" json:"conversationsOnly"` - ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"` + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + ConversationId string `protobuf:"bytes,3,opt,name=conversationId,proto3" json:"conversationId,omitempty"` + ConversationsOnly bool `protobuf:"varint,4,opt,name=conversationsOnly,proto3" json:"conversationsOnly,omitempty"` + ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetMessagesRequest) Reset() { @@ -3911,8 +3911,8 @@ type MessageAttachment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type"` - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` } func (x *MessageAttachment) Reset() { @@ -3967,10 +3967,10 @@ type MessageSenderDetails struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` - Picture string `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture"` - ProfileImage string `protobuf:"bytes,4,opt,name=profileImage,proto3" json:"profileImage"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Picture string `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture,omitempty"` + ProfileImage string `protobuf:"bytes,4,opt,name=profileImage,proto3" json:"profileImage,omitempty"` } func (x *MessageSenderDetails) Reset() { @@ -4039,9 +4039,9 @@ type MessageRecipientDetails struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` - Picture string `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Picture string `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture,omitempty"` } func (x *MessageRecipientDetails) Reset() { @@ -4103,8 +4103,8 @@ type MessageReaction struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId"` - Emoji string `protobuf:"bytes,2,opt,name=emoji,proto3" json:"emoji"` + UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` + Emoji string `protobuf:"bytes,2,opt,name=emoji,proto3" json:"emoji,omitempty"` } func (x *MessageReaction) Reset() { @@ -4159,19 +4159,19 @@ type GetMessagesItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - SenderId string `protobuf:"bytes,2,opt,name=senderId,proto3" json:"senderId"` - SenderDetails *MessageSenderDetails `protobuf:"bytes,3,opt,name=senderDetails,proto3" json:"senderDetails"` - RecipientId string `protobuf:"bytes,4,opt,name=recipientId,proto3" json:"recipientId"` - RecipientDetails *MessageRecipientDetails `protobuf:"bytes,5,opt,name=recipientDetails,proto3" json:"recipientDetails"` - ConversationId string `protobuf:"bytes,6,opt,name=conversationId,proto3" json:"conversationId"` - Message string `protobuf:"bytes,7,opt,name=message,proto3" json:"message"` - Platform string `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform"` - Action string `protobuf:"bytes,9,opt,name=action,proto3" json:"action"` - Created string `protobuf:"bytes,10,opt,name=created,proto3" json:"created"` - Updated string `protobuf:"bytes,11,opt,name=updated,proto3" json:"updated"` - Attachments []*MessageAttachment `protobuf:"bytes,12,rep,name=attachments,proto3" json:"attachments"` - Reactions []*MessageReaction `protobuf:"bytes,13,rep,name=reactions,proto3" json:"reactions"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SenderId string `protobuf:"bytes,2,opt,name=senderId,proto3" json:"senderId,omitempty"` + SenderDetails *MessageSenderDetails `protobuf:"bytes,3,opt,name=senderDetails,proto3" json:"senderDetails,omitempty"` + RecipientId string `protobuf:"bytes,4,opt,name=recipientId,proto3" json:"recipientId,omitempty"` + RecipientDetails *MessageRecipientDetails `protobuf:"bytes,5,opt,name=recipientDetails,proto3" json:"recipientDetails,omitempty"` + ConversationId string `protobuf:"bytes,6,opt,name=conversationId,proto3" json:"conversationId,omitempty"` + Message string `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"` + Platform string `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform,omitempty"` + Action string `protobuf:"bytes,9,opt,name=action,proto3" json:"action,omitempty"` + Created string `protobuf:"bytes,10,opt,name=created,proto3" json:"created,omitempty"` + Updated string `protobuf:"bytes,11,opt,name=updated,proto3" json:"updated,omitempty"` + Attachments []*MessageAttachment `protobuf:"bytes,12,rep,name=attachments,proto3" json:"attachments,omitempty"` + Reactions []*MessageReaction `protobuf:"bytes,13,rep,name=reactions,proto3" json:"reactions,omitempty"` } func (x *GetMessagesItem) Reset() { @@ -4303,9 +4303,9 @@ type ConversationParticipant struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` - Picture string `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Picture string `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture,omitempty"` } func (x *ConversationParticipant) Reset() { @@ -4367,10 +4367,10 @@ type ConversationDetail struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Participant *ConversationParticipant `protobuf:"bytes,2,opt,name=participant,proto3" json:"participant"` - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status"` - Watermark int64 `protobuf:"varint,4,opt,name=watermark,proto3" json:"watermark"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Participant *ConversationParticipant `protobuf:"bytes,2,opt,name=participant,proto3" json:"participant,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Watermark int64 `protobuf:"varint,4,opt,name=watermark,proto3" json:"watermark,omitempty"` } func (x *ConversationDetail) Reset() { @@ -4439,15 +4439,15 @@ type GetMessagesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Messages []*GetMessagesItem `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages"` - LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"` - NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"` - ConversationIds []string `protobuf:"bytes,5,rep,name=conversationIds,proto3" json:"conversationIds"` - ConversationsDetails []*ConversationDetail `protobuf:"bytes,6,rep,name=conversationsDetails,proto3" json:"conversationsDetails"` - Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code"` - ErrMsg string `protobuf:"bytes,9,opt,name=errMsg,json=message,proto3" json:"errMsg"` // 错误消息(JSON 字段名为 "message",但 proto 字段名为 errMsg 以区分) + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Messages []*GetMessagesItem `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` + LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate,omitempty"` + ConversationIds []string `protobuf:"bytes,5,rep,name=conversationIds,proto3" json:"conversationIds,omitempty"` + ConversationsDetails []*ConversationDetail `protobuf:"bytes,6,rep,name=conversationsDetails,proto3" json:"conversationsDetails,omitempty"` + Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code,omitempty"` + ErrMsg string `protobuf:"bytes,9,opt,name=errMsg,json=message,proto3" json:"errMsg,omitempty"` // 错误消息(JSON 字段名为 "message",但 proto 字段名为 errMsg 以区分) } func (x *GetMessagesResponse) Reset() { @@ -4551,12 +4551,12 @@ type PostCommentRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"` - Platforms []string `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms"` - SearchPlatformId bool `protobuf:"varint,4,opt,name=searchPlatformId,proto3" json:"searchPlatformId"` - MediaUrls []string `protobuf:"bytes,5,rep,name=mediaUrls,proto3" json:"mediaUrls"` - ProfileKey string `protobuf:"bytes,6,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + Platforms []string `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms,omitempty"` + SearchPlatformId bool `protobuf:"varint,4,opt,name=searchPlatformId,proto3" json:"searchPlatformId,omitempty"` + MediaUrls []string `protobuf:"bytes,5,rep,name=mediaUrls,proto3" json:"mediaUrls,omitempty"` + ProfileKey string `protobuf:"bytes,6,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *PostCommentRequest) Reset() { @@ -4639,10 +4639,10 @@ type InstagramCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *InstagramCommentResponse) Reset() { @@ -4711,11 +4711,11 @@ type TikTokCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` - VideoId string `protobuf:"bytes,5,opt,name=videoId,proto3" json:"videoId"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` + VideoId string `protobuf:"bytes,5,opt,name=videoId,proto3" json:"videoId,omitempty"` } func (x *TikTokCommentResponse) Reset() { @@ -4791,12 +4791,12 @@ type BlueskyCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` - PostUrl string `protobuf:"bytes,6,opt,name=postUrl,proto3" json:"postUrl"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` + PostUrl string `protobuf:"bytes,6,opt,name=postUrl,proto3" json:"postUrl,omitempty"` } func (x *BlueskyCommentResponse) Reset() { @@ -4879,10 +4879,10 @@ type FacebookCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *FacebookCommentResponse) Reset() { @@ -4951,11 +4951,11 @@ type LinkedInCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"` - CommentUrn string `protobuf:"bytes,4,opt,name=commentUrn,proto3" json:"commentUrn"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + CommentUrn string `protobuf:"bytes,4,opt,name=commentUrn,proto3" json:"commentUrn,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *LinkedInCommentResponse) Reset() { @@ -5031,10 +5031,10 @@ type TwitterCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"` - PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl,omitempty"` } func (x *TwitterCommentResponse) Reset() { @@ -5103,10 +5103,10 @@ type YouTubeCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *YouTubeCommentResponse) Reset() { @@ -5175,11 +5175,14 @@ type PlatformError struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"` - Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` + Post string `protobuf:"bytes,6,opt,name=post,proto3" json:"post,omitempty"` // 重复评论错误时包含的评论内容 + Detail string `protobuf:"bytes,7,opt,name=detail,proto3" json:"detail,omitempty"` // 错误详情 + Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` // Ayrshare Post ID(错误响应中可能包含) } func (x *PlatformError) Reset() { @@ -5249,29 +5252,50 @@ func (x *PlatformError) GetPlatform() string { return "" } +func (x *PlatformError) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *PlatformError) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +func (x *PlatformError) GetId() string { + if x != nil { + return x.Id + } + return "" +} + // 发布评论响应 type PostCommentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentID string `protobuf:"bytes,2,opt,name=commentID,proto3" json:"commentID"` - CommentIdAlt string `protobuf:"bytes,3,opt,name=commentIdAlt,json=commentId,proto3" json:"commentIdAlt"` // 备用字段,用于错误响应 - Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` - Instagram *InstagramCommentResponse `protobuf:"bytes,5,opt,name=instagram,proto3" json:"instagram"` - Tiktok *TikTokCommentResponse `protobuf:"bytes,6,opt,name=tiktok,proto3" json:"tiktok"` - Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,9,opt,name=message,proto3" json:"message"` - Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` - Errors []*PlatformError `protobuf:"bytes,11,rep,name=errors,proto3" json:"errors"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentID string `protobuf:"bytes,2,opt,name=commentID,proto3" json:"commentID,omitempty"` + CommentIdAlt string `protobuf:"bytes,3,opt,name=commentIdAlt,json=commentId,proto3" json:"commentIdAlt,omitempty"` // 备用字段,用于错误响应 + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + Instagram *InstagramCommentResponse `protobuf:"bytes,5,opt,name=instagram,proto3" json:"instagram,omitempty"` + Tiktok *TikTokCommentResponse `protobuf:"bytes,6,opt,name=tiktok,proto3" json:"tiktok,omitempty"` + Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,9,opt,name=message,proto3" json:"message,omitempty"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform,omitempty"` + Errors []*PlatformError `protobuf:"bytes,11,rep,name=errors,proto3" json:"errors,omitempty"` // 其它平台的发布评论结果 - Bluesky *BlueskyCommentResponse `protobuf:"bytes,12,opt,name=bluesky,proto3" json:"bluesky"` - Facebook *FacebookCommentResponse `protobuf:"bytes,13,opt,name=facebook,proto3" json:"facebook"` - Linkedin *LinkedInCommentResponse `protobuf:"bytes,14,opt,name=linkedin,proto3" json:"linkedin"` - Twitter *TwitterCommentResponse `protobuf:"bytes,15,opt,name=twitter,proto3" json:"twitter"` - Youtube *YouTubeCommentResponse `protobuf:"bytes,16,opt,name=youtube,proto3" json:"youtube"` + Bluesky *BlueskyCommentResponse `protobuf:"bytes,12,opt,name=bluesky,proto3" json:"bluesky,omitempty"` + Facebook *FacebookCommentResponse `protobuf:"bytes,13,opt,name=facebook,proto3" json:"facebook,omitempty"` + Linkedin *LinkedInCommentResponse `protobuf:"bytes,14,opt,name=linkedin,proto3" json:"linkedin,omitempty"` + Twitter *TwitterCommentResponse `protobuf:"bytes,15,opt,name=twitter,proto3" json:"twitter,omitempty"` + Youtube *YouTubeCommentResponse `protobuf:"bytes,16,opt,name=youtube,proto3" json:"youtube,omitempty"` } func (x *PostCommentResponse) Reset() { @@ -5424,8 +5448,8 @@ type GetCommentRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetCommentRequest) Reset() { @@ -5480,9 +5504,9 @@ type InstagramUser struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` - Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` } func (x *InstagramUser) Reset() { @@ -5544,7 +5568,7 @@ type InstagramUserInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *InstagramUserInfo) Reset() { @@ -5592,20 +5616,20 @@ type InstagramComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` - Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - From *InstagramUser `protobuf:"bytes,5,opt,name=from,proto3" json:"from"` - Hidden bool `protobuf:"varint,6,opt,name=hidden,proto3" json:"hidden"` - LikeCount int32 `protobuf:"varint,7,opt,name=likeCount,proto3" json:"likeCount"` - ParentId string `protobuf:"bytes,8,opt,name=parentId,proto3" json:"parentId"` - Platform string `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform"` - PostId string `protobuf:"bytes,10,opt,name=postId,proto3" json:"postId"` - Replies []*InstagramComment `protobuf:"bytes,11,rep,name=replies,proto3" json:"replies"` - User *InstagramUserInfo `protobuf:"bytes,12,opt,name=user,proto3" json:"user"` - UserName string `protobuf:"bytes,13,opt,name=userName,proto3" json:"userName"` - UsernameAlt string `protobuf:"bytes,14,opt,name=usernameAlt,json=username,proto3" json:"usernameAlt"` // 备用字段,用于回复评论 + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + From *InstagramUser `protobuf:"bytes,5,opt,name=from,proto3" json:"from,omitempty"` + Hidden bool `protobuf:"varint,6,opt,name=hidden,proto3" json:"hidden,omitempty"` + LikeCount int32 `protobuf:"varint,7,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + ParentId string `protobuf:"bytes,8,opt,name=parentId,proto3" json:"parentId,omitempty"` + Platform string `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"` + PostId string `protobuf:"bytes,10,opt,name=postId,proto3" json:"postId,omitempty"` + Replies []*InstagramComment `protobuf:"bytes,11,rep,name=replies,proto3" json:"replies,omitempty"` + User *InstagramUserInfo `protobuf:"bytes,12,opt,name=user,proto3" json:"user,omitempty"` + UserName string `protobuf:"bytes,13,opt,name=userName,proto3" json:"userName,omitempty"` + UsernameAlt string `protobuf:"bytes,14,opt,name=usernameAlt,json=username,proto3" json:"usernameAlt,omitempty"` // 备用字段,用于回复评论 } func (x *InstagramComment) Reset() { @@ -5744,25 +5768,25 @@ type TikTokComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Created string `protobuf:"bytes,3,opt,name=created,proto3" json:"created"` - CreateTime string `protobuf:"bytes,4,opt,name=createTime,proto3" json:"createTime"` - DisplayName string `protobuf:"bytes,5,opt,name=displayName,proto3" json:"displayName"` - Liked bool `protobuf:"varint,6,opt,name=liked,proto3" json:"liked"` - Likes int32 `protobuf:"varint,7,opt,name=likes,proto3" json:"likes"` - LikeCount int32 `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount"` - Owner bool `protobuf:"varint,9,opt,name=owner,proto3" json:"owner"` - ParentCommentId string `protobuf:"bytes,10,opt,name=parentCommentId,proto3" json:"parentCommentId"` - Pinned bool `protobuf:"varint,11,opt,name=pinned,proto3" json:"pinned"` - Platform string `protobuf:"bytes,12,opt,name=platform,proto3" json:"platform"` - ProfileImageUrl string `protobuf:"bytes,13,opt,name=profileImageUrl,proto3" json:"profileImageUrl"` - Replies []*TikTokComment `protobuf:"bytes,14,rep,name=replies,proto3" json:"replies"` - Status string `protobuf:"bytes,15,opt,name=status,proto3" json:"status"` - UserId string `protobuf:"bytes,16,opt,name=userId,proto3" json:"userId"` - Username string `protobuf:"bytes,17,opt,name=username,proto3" json:"username"` - VideoId string `protobuf:"bytes,18,opt,name=videoId,proto3" json:"videoId"` - Visibility string `protobuf:"bytes,19,opt,name=visibility,proto3" json:"visibility"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Created string `protobuf:"bytes,3,opt,name=created,proto3" json:"created,omitempty"` + CreateTime string `protobuf:"bytes,4,opt,name=createTime,proto3" json:"createTime,omitempty"` + DisplayName string `protobuf:"bytes,5,opt,name=displayName,proto3" json:"displayName,omitempty"` + Liked bool `protobuf:"varint,6,opt,name=liked,proto3" json:"liked,omitempty"` + Likes int32 `protobuf:"varint,7,opt,name=likes,proto3" json:"likes,omitempty"` + LikeCount int32 `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + Owner bool `protobuf:"varint,9,opt,name=owner,proto3" json:"owner,omitempty"` + ParentCommentId string `protobuf:"bytes,10,opt,name=parentCommentId,proto3" json:"parentCommentId,omitempty"` + Pinned bool `protobuf:"varint,11,opt,name=pinned,proto3" json:"pinned,omitempty"` + Platform string `protobuf:"bytes,12,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileImageUrl string `protobuf:"bytes,13,opt,name=profileImageUrl,proto3" json:"profileImageUrl,omitempty"` + Replies []*TikTokComment `protobuf:"bytes,14,rep,name=replies,proto3" json:"replies,omitempty"` + Status string `protobuf:"bytes,15,opt,name=status,proto3" json:"status,omitempty"` + UserId string `protobuf:"bytes,16,opt,name=userId,proto3" json:"userId,omitempty"` + Username string `protobuf:"bytes,17,opt,name=username,proto3" json:"username,omitempty"` + VideoId string `protobuf:"bytes,18,opt,name=videoId,proto3" json:"videoId,omitempty"` + Visibility string `protobuf:"bytes,19,opt,name=visibility,proto3" json:"visibility,omitempty"` } func (x *TikTokComment) Reset() { @@ -5936,19 +5960,19 @@ type BlueskyComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Created string `protobuf:"bytes,3,opt,name=created,proto3" json:"created"` - DisplayName string `protobuf:"bytes,4,opt,name=displayName,proto3" json:"displayName"` - LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"` - Platform string `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform"` - ProfileImageUrl string `protobuf:"bytes,7,opt,name=profileImageUrl,proto3" json:"profileImageUrl"` - QuoteCount int32 `protobuf:"varint,8,opt,name=quoteCount,proto3" json:"quoteCount"` - Replies []*BlueskyComment `protobuf:"bytes,9,rep,name=replies,proto3" json:"replies"` - ReplyCount int32 `protobuf:"varint,10,opt,name=replyCount,proto3" json:"replyCount"` - ReplyTo string `protobuf:"bytes,11,opt,name=replyTo,proto3" json:"replyTo"` - RepostCount int32 `protobuf:"varint,12,opt,name=repostCount,proto3" json:"repostCount"` - UserName string `protobuf:"bytes,13,opt,name=userName,proto3" json:"userName"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Created string `protobuf:"bytes,3,opt,name=created,proto3" json:"created,omitempty"` + DisplayName string `protobuf:"bytes,4,opt,name=displayName,proto3" json:"displayName,omitempty"` + LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + Platform string `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileImageUrl string `protobuf:"bytes,7,opt,name=profileImageUrl,proto3" json:"profileImageUrl,omitempty"` + QuoteCount int32 `protobuf:"varint,8,opt,name=quoteCount,proto3" json:"quoteCount,omitempty"` + Replies []*BlueskyComment `protobuf:"bytes,9,rep,name=replies,proto3" json:"replies,omitempty"` + ReplyCount int32 `protobuf:"varint,10,opt,name=replyCount,proto3" json:"replyCount,omitempty"` + ReplyTo string `protobuf:"bytes,11,opt,name=replyTo,proto3" json:"replyTo,omitempty"` + RepostCount int32 `protobuf:"varint,12,opt,name=repostCount,proto3" json:"repostCount,omitempty"` + UserName string `protobuf:"bytes,13,opt,name=userName,proto3" json:"userName,omitempty"` } func (x *BlueskyComment) Reset() { @@ -6080,8 +6104,8 @@ type FacebookUser struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` } func (x *FacebookUser) Reset() { @@ -6136,10 +6160,10 @@ type FacebookParent struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CreatedTime string `protobuf:"bytes,1,opt,name=createdTime,proto3" json:"createdTime"` - From *FacebookUser `protobuf:"bytes,2,opt,name=from,proto3" json:"from"` - Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message"` - Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` + CreatedTime string `protobuf:"bytes,1,opt,name=createdTime,proto3" json:"createdTime,omitempty"` + From *FacebookUser `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` } func (x *FacebookParent) Reset() { @@ -6208,18 +6232,18 @@ type FacebookComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - CommentCount int32 `protobuf:"varint,3,opt,name=commentCount,proto3" json:"commentCount"` - CommentUrl string `protobuf:"bytes,4,opt,name=commentUrl,proto3" json:"commentUrl"` - Company bool `protobuf:"varint,5,opt,name=company,proto3" json:"company"` - Created string `protobuf:"bytes,6,opt,name=created,proto3" json:"created"` - From *FacebookUser `protobuf:"bytes,7,opt,name=from,proto3" json:"from"` - LikeCount int32 `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount"` - Parent *FacebookParent `protobuf:"bytes,9,opt,name=parent,proto3" json:"parent"` - Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` - UserLikes bool `protobuf:"varint,11,opt,name=userLikes,proto3" json:"userLikes"` - Replies []*FacebookComment `protobuf:"bytes,12,rep,name=replies,proto3" json:"replies"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + CommentCount int32 `protobuf:"varint,3,opt,name=commentCount,proto3" json:"commentCount,omitempty"` + CommentUrl string `protobuf:"bytes,4,opt,name=commentUrl,proto3" json:"commentUrl,omitempty"` + Company bool `protobuf:"varint,5,opt,name=company,proto3" json:"company,omitempty"` + Created string `protobuf:"bytes,6,opt,name=created,proto3" json:"created,omitempty"` + From *FacebookUser `protobuf:"bytes,7,opt,name=from,proto3" json:"from,omitempty"` + LikeCount int32 `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + Parent *FacebookParent `protobuf:"bytes,9,opt,name=parent,proto3" json:"parent,omitempty"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform,omitempty"` + UserLikes bool `protobuf:"varint,11,opt,name=userLikes,proto3" json:"userLikes,omitempty"` + Replies []*FacebookComment `protobuf:"bytes,12,rep,name=replies,proto3" json:"replies,omitempty"` } func (x *FacebookComment) Reset() { @@ -6344,8 +6368,8 @@ type LinkedInMedia struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type"` - Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` } func (x *LinkedInMedia) Reset() { @@ -6400,10 +6424,10 @@ type LinkedInFrom struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` - Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` } func (x *LinkedInFrom) Reset() { @@ -6472,19 +6496,19 @@ type LinkedInComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - CommentUrn string `protobuf:"bytes,3,opt,name=commentUrn,proto3" json:"commentUrn"` - Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - From *LinkedInFrom `protobuf:"bytes,5,opt,name=from,proto3" json:"from"` - LikeCount int32 `protobuf:"varint,6,opt,name=likeCount,proto3" json:"likeCount"` - Media []*LinkedInMedia `protobuf:"bytes,7,rep,name=media,proto3" json:"media"` - Platform string `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform"` - ProfileImageUrl string `protobuf:"bytes,9,opt,name=profileImageUrl,proto3" json:"profileImageUrl"` - UserName string `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName"` - Founded int32 `protobuf:"varint,11,opt,name=founded,proto3" json:"founded"` - OrganizationType string `protobuf:"bytes,12,opt,name=organizationType,proto3" json:"organizationType"` - Website string `protobuf:"bytes,13,opt,name=website,proto3" json:"website"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + CommentUrn string `protobuf:"bytes,3,opt,name=commentUrn,proto3" json:"commentUrn,omitempty"` + Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + From *LinkedInFrom `protobuf:"bytes,5,opt,name=from,proto3" json:"from,omitempty"` + LikeCount int32 `protobuf:"varint,6,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + Media []*LinkedInMedia `protobuf:"bytes,7,rep,name=media,proto3" json:"media,omitempty"` + Platform string `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileImageUrl string `protobuf:"bytes,9,opt,name=profileImageUrl,proto3" json:"profileImageUrl,omitempty"` + UserName string `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName,omitempty"` + Founded int32 `protobuf:"varint,11,opt,name=founded,proto3" json:"founded,omitempty"` + OrganizationType string `protobuf:"bytes,12,opt,name=organizationType,proto3" json:"organizationType,omitempty"` + Website string `protobuf:"bytes,13,opt,name=website,proto3" json:"website,omitempty"` } func (x *LinkedInComment) Reset() { @@ -6616,8 +6640,8 @@ type RedditUser struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` } func (x *RedditUser) Reset() { @@ -6672,14 +6696,14 @@ type RedditComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Created string `protobuf:"bytes,3,opt,name=created,proto3" json:"created"` - From *RedditUser `protobuf:"bytes,4,opt,name=from,proto3" json:"from"` - CommentUrl string `protobuf:"bytes,5,opt,name=commentUrl,proto3" json:"commentUrl"` - Subreddit string `protobuf:"bytes,6,opt,name=subreddit,proto3" json:"subreddit"` - Ups int32 `protobuf:"varint,7,opt,name=ups,proto3" json:"ups"` - IsSubmitter bool `protobuf:"varint,8,opt,name=isSubmitter,proto3" json:"isSubmitter"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Created string `protobuf:"bytes,3,opt,name=created,proto3" json:"created,omitempty"` + From *RedditUser `protobuf:"bytes,4,opt,name=from,proto3" json:"from,omitempty"` + CommentUrl string `protobuf:"bytes,5,opt,name=commentUrl,proto3" json:"commentUrl,omitempty"` + Subreddit string `protobuf:"bytes,6,opt,name=subreddit,proto3" json:"subreddit,omitempty"` + Ups int32 `protobuf:"varint,7,opt,name=ups,proto3" json:"ups,omitempty"` + IsSubmitter bool `protobuf:"varint,8,opt,name=isSubmitter,proto3" json:"isSubmitter,omitempty"` } func (x *RedditComment) Reset() { @@ -6776,22 +6800,22 @@ type ThreadsComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - CommentUrl string `protobuf:"bytes,3,opt,name=commentUrl,proto3" json:"commentUrl"` - Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - HasReplies bool `protobuf:"varint,5,opt,name=hasReplies,proto3" json:"hasReplies"` - IsQuotePost bool `protobuf:"varint,6,opt,name=isQuotePost,proto3" json:"isQuotePost"` - IsReply bool `protobuf:"varint,7,opt,name=isReply,proto3" json:"isReply"` - IsReplyOwnedByMe bool `protobuf:"varint,8,opt,name=isReplyOwnedByMe,proto3" json:"isReplyOwnedByMe"` - MediaType string `protobuf:"bytes,9,opt,name=mediaType,proto3" json:"mediaType"` - ParentId string `protobuf:"bytes,10,opt,name=parentId,proto3" json:"parentId"` - Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` - PostId string `protobuf:"bytes,12,opt,name=postId,proto3" json:"postId"` - Replies []*ThreadsComment `protobuf:"bytes,13,rep,name=replies,proto3" json:"replies"` - ReplyAudience string `protobuf:"bytes,14,opt,name=replyAudience,proto3" json:"replyAudience"` - Shortcode string `protobuf:"bytes,15,opt,name=shortcode,proto3" json:"shortcode"` - UserName string `protobuf:"bytes,16,opt,name=userName,proto3" json:"userName"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + CommentUrl string `protobuf:"bytes,3,opt,name=commentUrl,proto3" json:"commentUrl,omitempty"` + Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + HasReplies bool `protobuf:"varint,5,opt,name=hasReplies,proto3" json:"hasReplies,omitempty"` + IsQuotePost bool `protobuf:"varint,6,opt,name=isQuotePost,proto3" json:"isQuotePost,omitempty"` + IsReply bool `protobuf:"varint,7,opt,name=isReply,proto3" json:"isReply,omitempty"` + IsReplyOwnedByMe bool `protobuf:"varint,8,opt,name=isReplyOwnedByMe,proto3" json:"isReplyOwnedByMe,omitempty"` + MediaType string `protobuf:"bytes,9,opt,name=mediaType,proto3" json:"mediaType,omitempty"` + ParentId string `protobuf:"bytes,10,opt,name=parentId,proto3" json:"parentId,omitempty"` + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform,omitempty"` + PostId string `protobuf:"bytes,12,opt,name=postId,proto3" json:"postId,omitempty"` + Replies []*ThreadsComment `protobuf:"bytes,13,rep,name=replies,proto3" json:"replies,omitempty"` + ReplyAudience string `protobuf:"bytes,14,opt,name=replyAudience,proto3" json:"replyAudience,omitempty"` + Shortcode string `protobuf:"bytes,15,opt,name=shortcode,proto3" json:"shortcode,omitempty"` + UserName string `protobuf:"bytes,16,opt,name=userName,proto3" json:"userName,omitempty"` } func (x *ThreadsComment) Reset() { @@ -6944,12 +6968,12 @@ type TwitterPublicMetrics struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FollowersCount int32 `protobuf:"varint,1,opt,name=followersCount,proto3" json:"followersCount"` - FollowingCount int32 `protobuf:"varint,2,opt,name=followingCount,proto3" json:"followingCount"` - TweetCount int32 `protobuf:"varint,3,opt,name=tweetCount,proto3" json:"tweetCount"` - ListedCount int32 `protobuf:"varint,4,opt,name=listedCount,proto3" json:"listedCount"` - LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"` - MediaCount int32 `protobuf:"varint,6,opt,name=mediaCount,proto3" json:"mediaCount"` + FollowersCount int32 `protobuf:"varint,1,opt,name=followersCount,proto3" json:"followersCount,omitempty"` + FollowingCount int32 `protobuf:"varint,2,opt,name=followingCount,proto3" json:"followingCount,omitempty"` + TweetCount int32 `protobuf:"varint,3,opt,name=tweetCount,proto3" json:"tweetCount,omitempty"` + ListedCount int32 `protobuf:"varint,4,opt,name=listedCount,proto3" json:"listedCount,omitempty"` + LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + MediaCount int32 `protobuf:"varint,6,opt,name=mediaCount,proto3" json:"mediaCount,omitempty"` } func (x *TwitterPublicMetrics) Reset() { @@ -7032,8 +7056,8 @@ type TwitterReferencedTweet struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` } func (x *TwitterReferencedTweet) Reset() { @@ -7088,15 +7112,15 @@ type TwitterReplyTo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CreatedAt string `protobuf:"bytes,1,opt,name=createdAt,proto3" json:"createdAt"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` - Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location"` - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name"` - ProfileImageUrl string `protobuf:"bytes,6,opt,name=profileImageUrl,proto3" json:"profileImageUrl"` - PublicMetrics *TwitterPublicMetrics `protobuf:"bytes,7,opt,name=publicMetrics,proto3" json:"publicMetrics"` - Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url"` - Username string `protobuf:"bytes,9,opt,name=username,proto3" json:"username"` + CreatedAt string `protobuf:"bytes,1,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + ProfileImageUrl string `protobuf:"bytes,6,opt,name=profileImageUrl,proto3" json:"profileImageUrl,omitempty"` + PublicMetrics *TwitterPublicMetrics `protobuf:"bytes,7,opt,name=publicMetrics,proto3" json:"publicMetrics,omitempty"` + Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url,omitempty"` + Username string `protobuf:"bytes,9,opt,name=username,proto3" json:"username,omitempty"` } func (x *TwitterReplyTo) Reset() { @@ -7200,24 +7224,24 @@ type TwitterComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BookmarkCount int32 `protobuf:"varint,1,opt,name=bookmarkCount,proto3" json:"bookmarkCount"` - Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"` - Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description"` - Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id"` - ImpressionCount int32 `protobuf:"varint,7,opt,name=impressionCount,proto3" json:"impressionCount"` - LikeCount int32 `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount"` - Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name"` - Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` - ProfileImageUrl string `protobuf:"bytes,11,opt,name=profileImageUrl,proto3" json:"profileImageUrl"` - PublicMetrics *TwitterPublicMetrics `protobuf:"bytes,12,opt,name=publicMetrics,proto3" json:"publicMetrics"` - QuoteCount int32 `protobuf:"varint,13,opt,name=quoteCount,proto3" json:"quoteCount"` - ReferencedTweets []*TwitterReferencedTweet `protobuf:"bytes,14,rep,name=referencedTweets,proto3" json:"referencedTweets"` - ReplyCount int32 `protobuf:"varint,15,opt,name=replyCount,proto3" json:"replyCount"` - ReplyTo *TwitterReplyTo `protobuf:"bytes,16,opt,name=replyTo,proto3" json:"replyTo"` - ThreadNumber int32 `protobuf:"varint,17,opt,name=threadNumber,proto3" json:"threadNumber"` - UserName string `protobuf:"bytes,18,opt,name=userName,proto3" json:"userName"` + BookmarkCount int32 `protobuf:"varint,1,opt,name=bookmarkCount,proto3" json:"bookmarkCount,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId,omitempty"` + Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` + ImpressionCount int32 `protobuf:"varint,7,opt,name=impressionCount,proto3" json:"impressionCount,omitempty"` + LikeCount int32 `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileImageUrl string `protobuf:"bytes,11,opt,name=profileImageUrl,proto3" json:"profileImageUrl,omitempty"` + PublicMetrics *TwitterPublicMetrics `protobuf:"bytes,12,opt,name=publicMetrics,proto3" json:"publicMetrics,omitempty"` + QuoteCount int32 `protobuf:"varint,13,opt,name=quoteCount,proto3" json:"quoteCount,omitempty"` + ReferencedTweets []*TwitterReferencedTweet `protobuf:"bytes,14,rep,name=referencedTweets,proto3" json:"referencedTweets,omitempty"` + ReplyCount int32 `protobuf:"varint,15,opt,name=replyCount,proto3" json:"replyCount,omitempty"` + ReplyTo *TwitterReplyTo `protobuf:"bytes,16,opt,name=replyTo,proto3" json:"replyTo,omitempty"` + ThreadNumber int32 `protobuf:"varint,17,opt,name=threadNumber,proto3" json:"threadNumber,omitempty"` + UserName string `protobuf:"bytes,18,opt,name=userName,proto3" json:"userName,omitempty"` } func (x *TwitterComment) Reset() { @@ -7384,15 +7408,15 @@ type YouTubeReply struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ChannelUrl string `protobuf:"bytes,1,opt,name=channelUrl,proto3" json:"channelUrl"` - Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"` - Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"` - Platform string `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform"` - ProfileImageUrl string `protobuf:"bytes,7,opt,name=profileImageUrl,proto3" json:"profileImageUrl"` - UserName string `protobuf:"bytes,8,opt,name=userName,proto3" json:"userName"` - ParentId string `protobuf:"bytes,9,opt,name=parentId,proto3" json:"parentId"` + ChannelUrl string `protobuf:"bytes,1,opt,name=channelUrl,proto3" json:"channelUrl,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId,omitempty"` + Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + Platform string `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileImageUrl string `protobuf:"bytes,7,opt,name=profileImageUrl,proto3" json:"profileImageUrl,omitempty"` + UserName string `protobuf:"bytes,8,opt,name=userName,proto3" json:"userName,omitempty"` + ParentId string `protobuf:"bytes,9,opt,name=parentId,proto3" json:"parentId,omitempty"` } func (x *YouTubeReply) Reset() { @@ -7496,16 +7520,16 @@ type YouTubeComment struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ChannelUrl string `protobuf:"bytes,1,opt,name=channelUrl,proto3" json:"channelUrl"` - Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"` - CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"` - Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` - IsPublic bool `protobuf:"varint,5,opt,name=isPublic,proto3" json:"isPublic"` - LikeCount int32 `protobuf:"varint,6,opt,name=likeCount,proto3" json:"likeCount"` - Platform string `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform"` - ProfileImageUrl string `protobuf:"bytes,8,opt,name=profileImageUrl,proto3" json:"profileImageUrl"` - Replies []*YouTubeReply `protobuf:"bytes,9,rep,name=replies,proto3" json:"replies"` - UserName string `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName"` + ChannelUrl string `protobuf:"bytes,1,opt,name=channelUrl,proto3" json:"channelUrl,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId,omitempty"` + Created string `protobuf:"bytes,4,opt,name=created,proto3" json:"created,omitempty"` + IsPublic bool `protobuf:"varint,5,opt,name=isPublic,proto3" json:"isPublic,omitempty"` + LikeCount int32 `protobuf:"varint,6,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + Platform string `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform,omitempty"` + ProfileImageUrl string `protobuf:"bytes,8,opt,name=profileImageUrl,proto3" json:"profileImageUrl,omitempty"` + Replies []*YouTubeReply `protobuf:"bytes,9,rep,name=replies,proto3" json:"replies,omitempty"` + UserName string `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName,omitempty"` } func (x *YouTubeComment) Reset() { @@ -7616,23 +7640,23 @@ type GetCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Instagram []*InstagramComment `protobuf:"bytes,1,rep,name=instagram,proto3" json:"instagram"` - Tiktok []*TikTokComment `protobuf:"bytes,2,rep,name=tiktok,proto3" json:"tiktok"` - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status"` - Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` - LastUpdated string `protobuf:"bytes,5,opt,name=lastUpdated,proto3" json:"lastUpdated"` - NextUpdate string `protobuf:"bytes,6,opt,name=nextUpdate,proto3" json:"nextUpdate"` - Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,9,opt,name=message,proto3" json:"message"` + Instagram []*InstagramComment `protobuf:"bytes,1,rep,name=instagram,proto3" json:"instagram,omitempty"` + Tiktok []*TikTokComment `protobuf:"bytes,2,rep,name=tiktok,proto3" json:"tiktok,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + LastUpdated string `protobuf:"bytes,5,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + NextUpdate string `protobuf:"bytes,6,opt,name=nextUpdate,proto3" json:"nextUpdate,omitempty"` + Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,9,opt,name=message,proto3" json:"message,omitempty"` // 其它平台的评论列表 - Bluesky []*BlueskyComment `protobuf:"bytes,10,rep,name=bluesky,proto3" json:"bluesky"` - Facebook []*FacebookComment `protobuf:"bytes,11,rep,name=facebook,proto3" json:"facebook"` - Linkedin []*LinkedInComment `protobuf:"bytes,12,rep,name=linkedin,proto3" json:"linkedin"` - Reddit []*RedditComment `protobuf:"bytes,13,rep,name=reddit,proto3" json:"reddit"` - Threads []*ThreadsComment `protobuf:"bytes,14,rep,name=threads,proto3" json:"threads"` - Twitter []*TwitterComment `protobuf:"bytes,15,rep,name=twitter,proto3" json:"twitter"` - Youtube []*YouTubeComment `protobuf:"bytes,16,rep,name=youtube,proto3" json:"youtube"` + Bluesky []*BlueskyComment `protobuf:"bytes,10,rep,name=bluesky,proto3" json:"bluesky,omitempty"` + Facebook []*FacebookComment `protobuf:"bytes,11,rep,name=facebook,proto3" json:"facebook,omitempty"` + Linkedin []*LinkedInComment `protobuf:"bytes,12,rep,name=linkedin,proto3" json:"linkedin,omitempty"` + Reddit []*RedditComment `protobuf:"bytes,13,rep,name=reddit,proto3" json:"reddit,omitempty"` + Threads []*ThreadsComment `protobuf:"bytes,14,rep,name=threads,proto3" json:"threads,omitempty"` + Twitter []*TwitterComment `protobuf:"bytes,15,rep,name=twitter,proto3" json:"twitter,omitempty"` + Youtube []*YouTubeComment `protobuf:"bytes,16,rep,name=youtube,proto3" json:"youtube,omitempty"` } func (x *GetCommentResponse) Reset() { @@ -7785,11 +7809,11 @@ type DeleteCommentRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` - Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform"` - SearchPlatformId bool `protobuf:"varint,4,opt,name=searchPlatformId,proto3" json:"searchPlatformId"` - ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms,omitempty"` + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` + SearchPlatformId bool `protobuf:"varint,4,opt,name=searchPlatformId,proto3" json:"searchPlatformId,omitempty"` + ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *DeleteCommentRequest) Reset() { @@ -7865,10 +7889,10 @@ type InstagramDeleteResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` } func (x *InstagramDeleteResponse) Reset() { @@ -7937,11 +7961,11 @@ type TikTokDeleteResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action"` - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"` - Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` - Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment"` + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` } func (x *TikTokDeleteResponse) Reset() { @@ -8017,20 +8041,20 @@ type DeleteCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // Instagram 和 TikTok 可能是单个对象或数组,使用 JSON 字符串存储 - Instagram string `protobuf:"bytes,2,opt,name=instagram,proto3" json:"instagram"` - Tiktok string `protobuf:"bytes,3,opt,name=tiktok,proto3" json:"tiktok"` - Action string `protobuf:"bytes,4,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,5,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message"` + Instagram string `protobuf:"bytes,2,opt,name=instagram,proto3" json:"instagram,omitempty"` + Tiktok string `protobuf:"bytes,3,opt,name=tiktok,proto3" json:"tiktok,omitempty"` + Action string `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,5,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` // 其它平台删除结果,同样使用 JSON 字符串存储,兼容单条或多条返回 - Bluesky string `protobuf:"bytes,7,opt,name=bluesky,proto3" json:"bluesky"` - Facebook string `protobuf:"bytes,8,opt,name=facebook,proto3" json:"facebook"` - Linkedin string `protobuf:"bytes,9,opt,name=linkedin,proto3" json:"linkedin"` - Threads string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads"` - Twitter string `protobuf:"bytes,11,opt,name=twitter,proto3" json:"twitter"` - Youtube string `protobuf:"bytes,12,opt,name=youtube,proto3" json:"youtube"` + Bluesky string `protobuf:"bytes,7,opt,name=bluesky,proto3" json:"bluesky,omitempty"` + Facebook string `protobuf:"bytes,8,opt,name=facebook,proto3" json:"facebook,omitempty"` + Linkedin string `protobuf:"bytes,9,opt,name=linkedin,proto3" json:"linkedin,omitempty"` + Threads string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads,omitempty"` + Twitter string `protobuf:"bytes,11,opt,name=twitter,proto3" json:"twitter,omitempty"` + Youtube string `protobuf:"bytes,12,opt,name=youtube,proto3" json:"youtube,omitempty"` } func (x *DeleteCommentResponse) Reset() { @@ -8155,10 +8179,10 @@ type ReplyCommentRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"` - Platforms []string `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms"` - ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + Platforms []string `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms,omitempty"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *ReplyCommentRequest) Reset() { @@ -8227,11 +8251,11 @@ type InstagramReplyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *InstagramReplyResponse) Reset() { @@ -8307,12 +8331,12 @@ type TikTokReplyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` - VideoId string `protobuf:"bytes,6,opt,name=videoId,proto3" json:"videoId"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` + VideoId string `protobuf:"bytes,6,opt,name=videoId,proto3" json:"videoId,omitempty"` } func (x *TikTokReplyResponse) Reset() { @@ -8395,13 +8419,13 @@ type BlueskyReplyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` - Cid string `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid"` - PostUrl string `protobuf:"bytes,7,opt,name=postUrl,proto3" json:"postUrl"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` + Cid string `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid,omitempty"` + PostUrl string `protobuf:"bytes,7,opt,name=postUrl,proto3" json:"postUrl,omitempty"` } func (x *BlueskyReplyResponse) Reset() { @@ -8491,11 +8515,11 @@ type FacebookReplyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *FacebookReplyResponse) Reset() { @@ -8571,11 +8595,11 @@ type LinkedInReplyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *LinkedInReplyResponse) Reset() { @@ -8651,12 +8675,12 @@ type TwitterReplyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` - PostUrl string `protobuf:"bytes,6,opt,name=postUrl,proto3" json:"postUrl"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` + PostUrl string `protobuf:"bytes,6,opt,name=postUrl,proto3" json:"postUrl,omitempty"` } func (x *TwitterReplyResponse) Reset() { @@ -8739,11 +8763,11 @@ type YouTubeReplyResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"` - Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"` - Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + SourceCommentId string `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId,omitempty"` + Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *YouTubeReplyResponse) Reset() { @@ -8819,20 +8843,20 @@ type ReplyCommentResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` - Instagram *InstagramReplyResponse `protobuf:"bytes,4,opt,name=instagram,proto3" json:"instagram"` - Tiktok *TikTokReplyResponse `protobuf:"bytes,5,opt,name=tiktok,proto3" json:"tiktok"` - Action string `protobuf:"bytes,6,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,7,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,8,opt,name=message,proto3" json:"message"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + CommentId string `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Instagram *InstagramReplyResponse `protobuf:"bytes,4,opt,name=instagram,proto3" json:"instagram,omitempty"` + Tiktok *TikTokReplyResponse `protobuf:"bytes,5,opt,name=tiktok,proto3" json:"tiktok,omitempty"` + Action string `protobuf:"bytes,6,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,7,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,8,opt,name=message,proto3" json:"message,omitempty"` // 其它平台的回复结果 - Bluesky *BlueskyReplyResponse `protobuf:"bytes,9,opt,name=bluesky,proto3" json:"bluesky"` - Facebook *FacebookReplyResponse `protobuf:"bytes,10,opt,name=facebook,proto3" json:"facebook"` - Linkedin *LinkedInReplyResponse `protobuf:"bytes,11,opt,name=linkedin,proto3" json:"linkedin"` - Twitter *TwitterReplyResponse `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter"` - Youtube *YouTubeReplyResponse `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube"` + Bluesky *BlueskyReplyResponse `protobuf:"bytes,9,opt,name=bluesky,proto3" json:"bluesky,omitempty"` + Facebook *FacebookReplyResponse `protobuf:"bytes,10,opt,name=facebook,proto3" json:"facebook,omitempty"` + Linkedin *LinkedInReplyResponse `protobuf:"bytes,11,opt,name=linkedin,proto3" json:"linkedin,omitempty"` + Twitter *TwitterReplyResponse `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter,omitempty"` + Youtube *YouTubeReplyResponse `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube,omitempty"` } func (x *ReplyCommentResponse) Reset() { @@ -8964,9 +8988,9 @@ type GetPostAnalyticsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` - ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms,omitempty"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetPostAnalyticsRequest) Reset() { @@ -9028,10 +9052,10 @@ type GetPostAnalyticsBySocialIDRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` - SearchPlatformId bool `protobuf:"varint,3,opt,name=searchPlatformId,proto3" json:"searchPlatformId"` - ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms,omitempty"` + SearchPlatformId bool `protobuf:"varint,3,opt,name=searchPlatformId,proto3" json:"searchPlatformId,omitempty"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetPostAnalyticsBySocialIDRequest) Reset() { @@ -9100,20 +9124,20 @@ type GetPostAnalyticsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` // 各平台的分析数据以 JSON 字符串形式存储 - Bluesky string `protobuf:"bytes,4,opt,name=bluesky,proto3" json:"bluesky"` - Facebook string `protobuf:"bytes,5,opt,name=facebook,proto3" json:"facebook"` - Instagram string `protobuf:"bytes,6,opt,name=instagram,proto3" json:"instagram"` - Linkedin string `protobuf:"bytes,7,opt,name=linkedin,proto3" json:"linkedin"` - Pinterest string `protobuf:"bytes,8,opt,name=pinterest,proto3" json:"pinterest"` - Snapchat string `protobuf:"bytes,9,opt,name=snapchat,proto3" json:"snapchat"` - Threads string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads"` - Tiktok string `protobuf:"bytes,11,opt,name=tiktok,proto3" json:"tiktok"` - Twitter string `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter"` - Youtube string `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube"` + Bluesky string `protobuf:"bytes,4,opt,name=bluesky,proto3" json:"bluesky,omitempty"` + Facebook string `protobuf:"bytes,5,opt,name=facebook,proto3" json:"facebook,omitempty"` + Instagram string `protobuf:"bytes,6,opt,name=instagram,proto3" json:"instagram,omitempty"` + Linkedin string `protobuf:"bytes,7,opt,name=linkedin,proto3" json:"linkedin,omitempty"` + Pinterest string `protobuf:"bytes,8,opt,name=pinterest,proto3" json:"pinterest,omitempty"` + Snapchat string `protobuf:"bytes,9,opt,name=snapchat,proto3" json:"snapchat,omitempty"` + Threads string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads,omitempty"` + Tiktok string `protobuf:"bytes,11,opt,name=tiktok,proto3" json:"tiktok,omitempty"` + Twitter string `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter,omitempty"` + Youtube string `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube,omitempty"` } func (x *GetPostAnalyticsResponse) Reset() { @@ -9245,8 +9269,8 @@ type GetSocialAnalyticsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Platforms []string `protobuf:"bytes,1,rep,name=platforms,proto3" json:"platforms"` - ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + Platforms []string `protobuf:"bytes,1,rep,name=platforms,proto3" json:"platforms,omitempty"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *GetSocialAnalyticsRequest) Reset() { @@ -9301,20 +9325,20 @@ type GetSocialAnalyticsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // 各平台的分析数据以 JSON 字符串形式存储 - Bluesky string `protobuf:"bytes,2,opt,name=bluesky,proto3" json:"bluesky"` - Facebook string `protobuf:"bytes,3,opt,name=facebook,proto3" json:"facebook"` - Gmb string `protobuf:"bytes,4,opt,name=gmb,proto3" json:"gmb"` - Instagram string `protobuf:"bytes,5,opt,name=instagram,proto3" json:"instagram"` - Linkedin string `protobuf:"bytes,6,opt,name=linkedin,proto3" json:"linkedin"` - Pinterest string `protobuf:"bytes,7,opt,name=pinterest,proto3" json:"pinterest"` - Reddit string `protobuf:"bytes,8,opt,name=reddit,proto3" json:"reddit"` - Snapchat string `protobuf:"bytes,9,opt,name=snapchat,proto3" json:"snapchat"` - Threads string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads"` - Tiktok string `protobuf:"bytes,11,opt,name=tiktok,proto3" json:"tiktok"` - Twitter string `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter"` - Youtube string `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube"` + Bluesky string `protobuf:"bytes,2,opt,name=bluesky,proto3" json:"bluesky,omitempty"` + Facebook string `protobuf:"bytes,3,opt,name=facebook,proto3" json:"facebook,omitempty"` + Gmb string `protobuf:"bytes,4,opt,name=gmb,proto3" json:"gmb,omitempty"` + Instagram string `protobuf:"bytes,5,opt,name=instagram,proto3" json:"instagram,omitempty"` + Linkedin string `protobuf:"bytes,6,opt,name=linkedin,proto3" json:"linkedin,omitempty"` + Pinterest string `protobuf:"bytes,7,opt,name=pinterest,proto3" json:"pinterest,omitempty"` + Reddit string `protobuf:"bytes,8,opt,name=reddit,proto3" json:"reddit,omitempty"` + Snapchat string `protobuf:"bytes,9,opt,name=snapchat,proto3" json:"snapchat,omitempty"` + Threads string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads,omitempty"` + Tiktok string `protobuf:"bytes,11,opt,name=tiktok,proto3" json:"tiktok,omitempty"` + Twitter string `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter,omitempty"` + Youtube string `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube,omitempty"` } func (x *GetSocialAnalyticsResponse) Reset() { @@ -9446,11 +9470,11 @@ type AutoHashtagsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post"` - Max int32 `protobuf:"varint,2,opt,name=max,proto3" json:"max"` - Position string `protobuf:"bytes,3,opt,name=position,proto3" json:"position"` - Language string `protobuf:"bytes,4,opt,name=language,proto3" json:"language"` - ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"` + Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` + Max int32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` + Position string `protobuf:"bytes,3,opt,name=position,proto3" json:"position,omitempty"` + Language string `protobuf:"bytes,4,opt,name=language,proto3" json:"language,omitempty"` + ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *AutoHashtagsRequest) Reset() { @@ -9526,11 +9550,11 @@ type AutoHashtagsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post"` - Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action"` - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status"` - Code int32 `protobuf:"varint,4,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message"` + Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` + Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Code int32 `protobuf:"varint,4,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"` } func (x *AutoHashtagsResponse) Reset() { @@ -9606,8 +9630,8 @@ type CheckBannedHashtagRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Hashtag string `protobuf:"bytes,1,opt,name=hashtag,proto3" json:"hashtag"` - ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + Hashtag string `protobuf:"bytes,1,opt,name=hashtag,proto3" json:"hashtag,omitempty"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *CheckBannedHashtagRequest) Reset() { @@ -9662,12 +9686,12 @@ type CheckBannedHashtagResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Hashtag string `protobuf:"bytes,1,opt,name=hashtag,proto3" json:"hashtag"` - Banned bool `protobuf:"varint,2,opt,name=banned,proto3" json:"banned"` - Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action"` - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status"` - Code int32 `protobuf:"varint,5,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message"` + Hashtag string `protobuf:"bytes,1,opt,name=hashtag,proto3" json:"hashtag,omitempty"` + Banned bool `protobuf:"varint,2,opt,name=banned,proto3" json:"banned,omitempty"` + Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + Code int32 `protobuf:"varint,5,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` } func (x *CheckBannedHashtagResponse) Reset() { @@ -9750,8 +9774,8 @@ type HashtagRecommendation struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ViewCount int64 `protobuf:"varint,1,opt,name=viewCount,proto3" json:"viewCount"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + ViewCount int64 `protobuf:"varint,1,opt,name=viewCount,proto3" json:"viewCount,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *HashtagRecommendation) Reset() { @@ -9806,8 +9830,8 @@ type RecommendHashtagsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"` - ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *RecommendHashtagsRequest) Reset() { @@ -9862,12 +9886,12 @@ type RecommendHashtagsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"` - Recommendations []*HashtagRecommendation `protobuf:"bytes,2,rep,name=recommendations,proto3" json:"recommendations"` - Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action"` - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status"` - Code int32 `protobuf:"varint,5,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message"` + Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` + Recommendations []*HashtagRecommendation `protobuf:"bytes,2,rep,name=recommendations,proto3" json:"recommendations,omitempty"` + Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + Code int32 `protobuf:"varint,5,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` } func (x *RecommendHashtagsResponse) Reset() { @@ -9950,9 +9974,9 @@ type SearchHashtagsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"` - SearchType string `protobuf:"bytes,2,opt,name=searchType,proto3" json:"searchType"` - ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` + SearchType string `protobuf:"bytes,2,opt,name=searchType,proto3" json:"searchType,omitempty"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey,omitempty"` } func (x *SearchHashtagsRequest) Reset() { @@ -10014,8 +10038,8 @@ type SearchHashtagInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *SearchHashtagInfo) Reset() { @@ -10070,7 +10094,7 @@ type SearchHashtagChild struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *SearchHashtagChild) Reset() { @@ -10118,7 +10142,7 @@ type SearchHashtagChildren struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*SearchHashtagChild `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` + Data []*SearchHashtagChild `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` } func (x *SearchHashtagChildren) Reset() { @@ -10166,15 +10190,15 @@ type SearchHashtagMedia struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Caption string `protobuf:"bytes,1,opt,name=caption,proto3" json:"caption"` - Children *SearchHashtagChildren `protobuf:"bytes,2,opt,name=children,proto3" json:"children"` - CommentsCount int32 `protobuf:"varint,3,opt,name=commentsCount,proto3" json:"commentsCount"` - Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` - LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"` - MediaType string `protobuf:"bytes,6,opt,name=mediaType,proto3" json:"mediaType"` - MediaUrl string `protobuf:"bytes,7,opt,name=mediaUrl,proto3" json:"mediaUrl"` - Permalink string `protobuf:"bytes,8,opt,name=permalink,proto3" json:"permalink"` - Timestamp string `protobuf:"bytes,9,opt,name=timestamp,proto3" json:"timestamp"` + Caption string `protobuf:"bytes,1,opt,name=caption,proto3" json:"caption,omitempty"` + Children *SearchHashtagChildren `protobuf:"bytes,2,opt,name=children,proto3" json:"children,omitempty"` + CommentsCount int32 `protobuf:"varint,3,opt,name=commentsCount,proto3" json:"commentsCount,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + LikeCount int32 `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount,omitempty"` + MediaType string `protobuf:"bytes,6,opt,name=mediaType,proto3" json:"mediaType,omitempty"` + MediaUrl string `protobuf:"bytes,7,opt,name=mediaUrl,proto3" json:"mediaUrl,omitempty"` + Permalink string `protobuf:"bytes,8,opt,name=permalink,proto3" json:"permalink,omitempty"` + Timestamp string `protobuf:"bytes,9,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (x *SearchHashtagMedia) Reset() { @@ -10278,15 +10302,15 @@ type SearchHashtagsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` - Hashtag *SearchHashtagInfo `protobuf:"bytes,2,opt,name=hashtag,proto3" json:"hashtag"` - SearchResults []*SearchHashtagMedia `protobuf:"bytes,3,rep,name=searchResults,proto3" json:"searchResults"` - Count int32 `protobuf:"varint,4,opt,name=count,proto3" json:"count"` - LastUpdated string `protobuf:"bytes,5,opt,name=lastUpdated,proto3" json:"lastUpdated"` - NextUpdate string `protobuf:"bytes,6,opt,name=nextUpdate,proto3" json:"nextUpdate"` - Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action"` - Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code"` - Message string `protobuf:"bytes,9,opt,name=message,proto3" json:"message"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Hashtag *SearchHashtagInfo `protobuf:"bytes,2,opt,name=hashtag,proto3" json:"hashtag,omitempty"` + SearchResults []*SearchHashtagMedia `protobuf:"bytes,3,rep,name=searchResults,proto3" json:"searchResults,omitempty"` + Count int32 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"` + LastUpdated string `protobuf:"bytes,5,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + NextUpdate string `protobuf:"bytes,6,opt,name=nextUpdate,proto3" json:"nextUpdate,omitempty"` + Action string `protobuf:"bytes,7,opt,name=action,proto3" json:"action,omitempty"` + Code int32 `protobuf:"varint,8,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,9,opt,name=message,proto3" json:"message,omitempty"` } func (x *SearchHashtagsResponse) Reset() { @@ -11207,7 +11231,7 @@ var file_pb_ayrshare_proto_rawDesc = []byte{ 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x89, 0x01, 0x0a, 0x0d, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xc5, 0x01, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, @@ -11216,522 +11240,574 @@ var file_pb_ayrshare_proto_rawDesc = []byte{ 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xbc, 0x05, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1f, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x41, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, - 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x72, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, - 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, - 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, - 0x12, 0x3d, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, - 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, - 0x3d, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x6e, - 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x3a, - 0x0a, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, - 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x07, 0x79, 0x6f, - 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x79, - 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x2a, 0x0e, 0x69, - 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x4b, 0x65, 0x79, 0x22, 0x4f, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc9, 0x03, 0x0a, 0x10, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x2b, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, - 0x72, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68, - 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x41, 0x6c, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc4, 0x04, 0x0a, 0x0d, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x69, 0x6b, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x55, 0x72, 0x6c, 0x12, 0x31, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0e, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, - 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xb4, 0x03, 0x0a, - 0x0e, 0x42, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, - 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, - 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, - 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, - 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x74, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x0c, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x04, - 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0xac, 0x03, 0x0a, 0x0f, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, - 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, - 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x30, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, - 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x07, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, - 0x73, 0x22, 0x35, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x66, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x6b, - 0x65, 0x64, 0x49, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xbe, 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2d, 0x0a, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, - 0x64, 0x49, 0x6e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, - 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, - 0x65, 0x22, 0x30, 0x0a, 0x0a, 0x52, 0x65, 0x64, 0x64, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x22, 0xfd, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x64, 0x69, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x52, 0x65, 0x64, 0x64, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x66, 0x72, 0x6f, - 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, - 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x70, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x70, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x72, 0x22, 0x8c, 0x04, 0x0a, 0x0e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, - 0x73, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x51, 0x75, - 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, - 0x73, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4f, - 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x4d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x4d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x32, - 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, - 0x64, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, - 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x75, 0x64, 0x69, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x79, - 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x14, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, - 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x6f, 0x6c, - 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, - 0x77, 0x65, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x74, 0x77, 0x65, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x16, 0x54, - 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, - 0x54, 0x77, 0x65, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xae, 0x02, 0x0a, 0x0e, 0x54, 0x77, - 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0d, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa4, 0x05, 0x0a, 0x0e, 0x54, - 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, - 0x0d, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, - 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, - 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, - 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x4c, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x77, 0x65, - 0x65, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x77, 0x65, 0x65, 0x74, 0x52, 0x10, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x77, 0x65, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x0a, - 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, - 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x54, - 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x9c, 0x02, 0x0a, 0x0c, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, - 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, - 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, - 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x22, 0xd0, 0x02, 0x0a, 0x0e, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x2e, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x07, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x05, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, - 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x12, 0x2f, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, - 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x66, 0x61, 0x63, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, - 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, - 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x64, 0x69, - 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x2e, 0x52, 0x65, 0x64, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x06, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, - 0x61, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x07, - 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, - 0x12, 0x32, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x59, 0x6f, 0x75, - 0x54, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x79, 0x6f, 0x75, - 0x74, 0x75, 0x62, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x2a, - 0x0e, 0x69, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, - 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x73, 0x0a, 0x17, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x22, 0x8e, 0x01, 0x0a, 0x14, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0xcb, 0x02, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0xbc, 0x05, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x63, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x63, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, - 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, - 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x77, - 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x22, - 0xdf, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x44, 0x12, 0x1f, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x41, 0x6c, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x40, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x12, 0x37, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x2f, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x12, 0x3a, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x75, + 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x3d, 0x0a, 0x08, + 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x3d, 0x0a, 0x08, 0x6c, + 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x07, 0x74, 0x77, + 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x74, + 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, + 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, + 0x62, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x2a, 0x0e, 0x69, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x35, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x1b, 0xe2, 0xdf, 0x1f, 0x17, 0x2a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0xe4, - 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2b, 0xe2, 0xdf, 0x1f, 0x27, 0x2a, - 0x21, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, - 0xe5, 0x88, 0x97, 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, - 0xa9, 0xba, 0x58, 0x01, 0x60, 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, - 0x79, 0x22, 0xae, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, - 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, + 0x4f, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x23, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc9, 0x03, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x22, 0xc5, 0x01, 0x0a, 0x13, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x52, 0x65, 0x70, + 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x04, + 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x64, + 0x64, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, + 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x34, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x6c, + 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xc4, 0x04, 0x0a, 0x0d, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, + 0x6b, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x31, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6b, 0x54, + 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xb4, 0x03, 0x0a, 0x0e, 0x42, 0x6c, 0x75, + 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x42, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x79, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x70, + 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, + 0x54, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x54, + 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x32, 0x0a, 0x0c, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, + 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xac, + 0x03, 0x0a, 0x0f, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, + 0x73, 0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x22, 0x35, 0x0a, + 0x0d, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x22, 0x66, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, + 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x03, 0x0a, + 0x0f, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, + 0x65, 0x64, 0x49, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x05, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x22, 0x30, 0x0a, + 0x0a, 0x52, 0x65, 0x64, 0x64, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0xfd, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x64, + 0x64, 0x69, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1e, 0x0a, + 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x75, 0x62, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x75, 0x62, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x70, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x70, 0x73, 0x12, 0x20, 0x0a, + 0x0b, 0x69, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x22, + 0x8c, 0x04, 0x0a, 0x0e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x50, + 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x51, 0x75, 0x6f, + 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x64, + 0x42, 0x79, 0x4d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x42, 0x79, 0x4d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x75, 0x64, 0x69, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe6, + 0x01, 0x0a, 0x14, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x77, 0x65, 0x65, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x77, 0x65, + 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, + 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x16, 0x54, 0x77, 0x69, 0x74, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x77, 0x65, 0x65, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xae, 0x02, 0x0a, 0x0e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa4, 0x05, 0x0a, 0x0e, 0x54, 0x77, 0x69, 0x74, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, + 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0d, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x10, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x77, 0x65, 0x65, 0x74, 0x73, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x64, 0x54, 0x77, 0x65, 0x65, 0x74, 0x52, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x64, 0x54, 0x77, 0x65, 0x65, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, + 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, + 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, 0x70, + 0x6c, 0x79, 0x54, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x54, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x6f, 0x12, 0x22, 0x0a, + 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x02, + 0x0a, 0x0c, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xd0, 0x02, 0x0a, + 0x0e, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1c, 0x0a, + 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x30, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x59, 0x6f, + 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x9e, 0x05, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x12, 0x2f, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6b, 0x54, + 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, + 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, + 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x32, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x42, 0x6c, + 0x75, 0x65, 0x73, 0x6b, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x6c, + 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x35, 0x0a, 0x08, + 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, + 0x49, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, + 0x64, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, + 0x65, 0x64, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x72, 0x65, + 0x64, 0x64, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x74, 0x77, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, + 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, + 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x2a, 0x0e, 0x69, 0x64, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x73, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x67, 0x72, 0x61, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8e, 0x01, 0x0a, + 0x14, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xcb, 0x02, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, + 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, + 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, + 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x13, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x2a, 0x0e, 0x69, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, + 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe2, 0xdf, + 0x1f, 0x17, 0x2a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, + 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2b, 0xe2, 0xdf, 0x1f, 0x27, 0x2a, 0x21, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, 0xe8, + 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, + 0x60, 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xae, 0x01, + 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, + 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xc5, + 0x01, 0x0a, 0x13, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x22, 0xd8, 0x01, 0x0a, 0x14, 0x42, 0x6c, 0x75, 0x65, 0x73, + 0x6b, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, + 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, + 0x6c, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x14, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, @@ -11742,9 +11818,9 @@ var file_pb_ayrshare_proto_rawDesc = []byte{ 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x22, 0xd8, 0x01, 0x0a, 0x14, 0x42, - 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x59, + 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, @@ -11754,411 +11830,362 @@ var file_pb_ayrshare_proto_rawDesc = []byte{ 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, - 0x73, 0x74, 0x55, 0x72, 0x6c, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, - 0x49, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xc6, 0x01, 0x0a, 0x14, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x22, 0xac, - 0x01, 0x0a, 0x14, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xc1, 0x04, 0x0a, 0x14, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x35, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, + 0x6f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, + 0x3b, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x63, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x3b, 0x0a, 0x08, + 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, + 0x49, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x77, 0x69, + 0x74, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x22, 0xb2, 0x01, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, + 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe5, 0xb8, 0x96, + 0xe5, 0xad, 0x90, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, + 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2b, 0xe2, 0xdf, 0x1f, 0x27, + 0x2a, 0x21, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, + 0xb0, 0xe5, 0x88, 0x97, 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, + 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x60, 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, + 0x65, 0x79, 0x22, 0xee, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, + 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x6c, 0x20, 0x50, 0x6f, 0x73, 0x74, 0x20, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x09, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x2b, 0xe2, 0xdf, 0x1f, 0x27, 0x2a, 0x21, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, + 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, + 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x60, 0x01, 0x52, 0x09, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x4b, 0x65, 0x79, 0x22, 0xe6, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, + 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6e, + 0x61, 0x70, 0x63, 0x68, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6e, + 0x61, 0x70, 0x63, 0x68, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, + 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x22, 0x86, 0x01, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2b, 0xe2, + 0xdf, 0x1f, 0x27, 0x2a, 0x21, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, + 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x60, 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xee, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, + 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x6d, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x67, 0x6d, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x64, 0x64, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x63, 0x68, 0x61, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x63, 0x68, 0x61, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, + 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, + 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x79, + 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x48, + 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, + 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x6f, 0x73, 0x74, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe4, 0xb8, + 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x70, 0x6f, + 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x6d, 0x61, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x88, 0x01, 0x0a, + 0x14, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe2, 0xdf, 0x1f, 0x17, 0x2a, 0x13, 0x68, 0x61, 0x73, + 0x68, 0x74, 0x61, 0x67, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, + 0x58, 0x01, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xac, 0x01, 0x0a, 0x1a, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, + 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, + 0x73, 0x68, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, + 0x68, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x49, 0x0a, 0x15, 0x48, 0x61, + 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x18, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x35, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x1b, 0xe2, 0xdf, 0x1f, 0x17, 0x2a, 0x13, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, + 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0x49, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x15, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe2, 0xdf, 0x1f, 0x17, 0x2a, 0x13, 0x6b, 0x65, 0x79, 0x77, + 0x6f, 0x72, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, + 0x01, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x37, 0x0a, 0x11, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, + 0x68, 0x74, 0x61, 0x67, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x15, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, + 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xb5, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, + 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, + 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, + 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6b, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x69, 0x6b, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, + 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, 0x02, 0x0a, + 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, - 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xc1, 0x04, - 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x09, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x35, 0x0a, 0x06, - 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, - 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x74, 0x69, 0x6b, - 0x74, 0x6f, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x62, 0x6c, 0x75, - 0x65, 0x73, 0x6b, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, - 0x73, 0x6b, 0x79, 0x12, 0x3b, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, - 0x12, 0x3b, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x69, - 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x12, 0x38, 0x0a, - 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, - 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, - 0x62, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x59, 0x6f, 0x75, 0x54, 0x75, 0x62, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, - 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, - 0x14, 0xe5, 0xb8, 0x96, 0xe5, 0xad, 0x90, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, - 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x09, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2b, - 0xe2, 0xdf, 0x1f, 0x27, 0x2a, 0x21, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, - 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, - 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x60, 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xee, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x6c, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe2, 0xdf, 0x1f, 0x1e, 0x2a, 0x1a, - 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x50, 0x6f, 0x73, 0x74, 0x20, 0x49, 0x44, 0xe4, 0xb8, - 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x49, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x2b, 0xe2, 0xdf, 0x1f, 0x27, 0x2a, 0x21, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, 0xe8, 0xa1, 0xa8, - 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x60, 0x01, - 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xe6, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, - 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, - 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, - 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, - 0x72, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x63, 0x68, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x63, 0x68, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, - 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x72, - 0x65, 0x61, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, - 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, - 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, - 0x22, 0x86, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, - 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x2b, 0xe2, 0xdf, 0x1f, 0x27, 0x2a, 0x21, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, - 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x60, 0x01, 0x52, 0x09, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xee, 0x02, 0x0a, 0x1a, 0x47, 0x65, - 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x6b, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, - 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, - 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x6d, 0x62, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x6d, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, - 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, - 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x64, 0x64, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, - 0x63, 0x68, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, - 0x63, 0x68, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, - 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x13, 0x41, - 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x6f, 0x73, 0x74, 0xe5, 0x86, 0x85, 0xe5, - 0xae, 0xb9, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, - 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, - 0x22, 0x88, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x19, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, - 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe2, 0xdf, 0x1f, 0x17, 0x2a, - 0x13, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, - 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, - 0xac, 0x01, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, - 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x49, - 0x0a, 0x15, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x76, 0x69, 0x65, 0x77, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x18, 0x52, 0x65, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe2, 0xdf, 0x1f, 0x17, 0x2a, 0x13, 0x6b, 0x65, - 0x79, 0x77, 0x6f, 0x72, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, - 0xba, 0x58, 0x01, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xde, 0x01, 0x0a, - 0x19, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, - 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, - 0x77, 0x6f, 0x72, 0x64, 0x12, 0x49, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, - 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, - 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8e, 0x01, - 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, - 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe2, 0xdf, 0x1f, 0x17, 0x2a, 0x13, - 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, - 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x37, - 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x49, 0x0a, - 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x43, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x43, 0x68, 0x69, - 0x6c, 0x64, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb5, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x08, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, - 0x68, 0x74, 0x61, 0x67, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x08, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x69, - 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0xc9, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, - 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, - 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x8c, 0x0e, 0x0a, - 0x08, 0x41, 0x79, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x50, 0x6f, 0x73, - 0x74, 0x12, 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3e, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x72, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3e, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x72, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x50, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, - 0x0a, 0x0b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x12, 0x1c, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, - 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, - 0x57, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, - 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x25, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4a, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, - 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, - 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x35, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x68, + 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, + 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x0d, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x8c, 0x0e, 0x0a, 0x08, 0x41, 0x79, 0x72, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, + 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, + 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, + 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x53, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, + 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x25, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x53, + 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, - 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, - 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, - 0x73, 0x12, 0x21, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, - 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x42, 0x79, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, - 0x63, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x6f, - 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x12, 0x23, 0x2e, - 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x12, 0x22, 0x2e, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, + 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x12, 0x21, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x42, 0x79, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x49, 0x44, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x42, 0x79, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, + 0x73, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x6c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, + 0x74, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x41, + 0x75, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x61, 0x6e, 0x6e, + 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x64, + 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, + 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x12, 0x22, 0x2e, 0x61, 0x72, 0x79, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x48, 0x61, + 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, - 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, - 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, - 0x2f, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6e, 0x64, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, + 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/aryshare/ayrshare.validator.pb.go b/pb/aryshare/ayrshare.validator.pb.go index 7028841..6854fcd 100644 --- a/pb/aryshare/ayrshare.validator.pb.go +++ b/pb/aryshare/ayrshare.validator.pb.go @@ -7,8 +7,8 @@ import ( fmt "fmt" math "math" proto "github.com/golang/protobuf/proto" - _ "github.com/mwitkow/go-proto-validators" _ "google.golang.org/protobuf/types/descriptorpb" + _ "github.com/mwitkow/go-proto-validators" github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" ) diff --git a/pb/ayrshare.proto b/pb/ayrshare.proto index 4528210..305ef58 100644 --- a/pb/ayrshare.proto +++ b/pb/ayrshare.proto @@ -644,6 +644,9 @@ message PlatformError { int32 code = 3 [json_name = "code"]; string message = 4 [json_name = "message"]; string platform = 5 [json_name = "platform"]; + string post = 6 [json_name = "post"]; // 重复评论错误时包含的评论内容 + string detail = 7 [json_name = "detail"]; // 错误详情 + string id = 8 [json_name = "id"]; // Ayrshare Post ID(错误响应中可能包含) } // 发布评论响应