3763 lines
134 KiB
Go
3763 lines
134 KiB
Go
// Extracted from: Spotify 1.1.73.517 (macOS)
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.28.1
|
|
// protoc v3.21.12
|
|
// source: playlist4_external.proto
|
|
|
|
package proto
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type ListAttributeKind int32
|
|
|
|
const (
|
|
ListAttributeKind_LIST_UNKNOWN ListAttributeKind = 0
|
|
ListAttributeKind_LIST_NAME ListAttributeKind = 1
|
|
ListAttributeKind_LIST_DESCRIPTION ListAttributeKind = 2
|
|
ListAttributeKind_LIST_PICTURE ListAttributeKind = 3
|
|
ListAttributeKind_LIST_COLLABORATIVE ListAttributeKind = 4
|
|
ListAttributeKind_LIST_PL3_VERSION ListAttributeKind = 5
|
|
ListAttributeKind_LIST_DELETED_BY_OWNER ListAttributeKind = 6
|
|
ListAttributeKind_LIST_CLIENT_ID ListAttributeKind = 10
|
|
ListAttributeKind_LIST_FORMAT ListAttributeKind = 11
|
|
ListAttributeKind_LIST_FORMAT_ATTRIBUTES ListAttributeKind = 12
|
|
ListAttributeKind_LIST_PICTURE_SIZE ListAttributeKind = 13
|
|
)
|
|
|
|
// Enum value maps for ListAttributeKind.
|
|
var (
|
|
ListAttributeKind_name = map[int32]string{
|
|
0: "LIST_UNKNOWN",
|
|
1: "LIST_NAME",
|
|
2: "LIST_DESCRIPTION",
|
|
3: "LIST_PICTURE",
|
|
4: "LIST_COLLABORATIVE",
|
|
5: "LIST_PL3_VERSION",
|
|
6: "LIST_DELETED_BY_OWNER",
|
|
10: "LIST_CLIENT_ID",
|
|
11: "LIST_FORMAT",
|
|
12: "LIST_FORMAT_ATTRIBUTES",
|
|
13: "LIST_PICTURE_SIZE",
|
|
}
|
|
ListAttributeKind_value = map[string]int32{
|
|
"LIST_UNKNOWN": 0,
|
|
"LIST_NAME": 1,
|
|
"LIST_DESCRIPTION": 2,
|
|
"LIST_PICTURE": 3,
|
|
"LIST_COLLABORATIVE": 4,
|
|
"LIST_PL3_VERSION": 5,
|
|
"LIST_DELETED_BY_OWNER": 6,
|
|
"LIST_CLIENT_ID": 10,
|
|
"LIST_FORMAT": 11,
|
|
"LIST_FORMAT_ATTRIBUTES": 12,
|
|
"LIST_PICTURE_SIZE": 13,
|
|
}
|
|
)
|
|
|
|
func (x ListAttributeKind) Enum() *ListAttributeKind {
|
|
p := new(ListAttributeKind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ListAttributeKind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ListAttributeKind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_playlist4_external_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (ListAttributeKind) Type() protoreflect.EnumType {
|
|
return &file_playlist4_external_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x ListAttributeKind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *ListAttributeKind) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = ListAttributeKind(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use ListAttributeKind.Descriptor instead.
|
|
func (ListAttributeKind) EnumDescriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
type ItemAttributeKind int32
|
|
|
|
const (
|
|
ItemAttributeKind_ITEM_UNKNOWN ItemAttributeKind = 0
|
|
ItemAttributeKind_ITEM_ADDED_BY ItemAttributeKind = 1
|
|
ItemAttributeKind_ITEM_TIMESTAMP ItemAttributeKind = 2
|
|
ItemAttributeKind_ITEM_SEEN_AT ItemAttributeKind = 9
|
|
ItemAttributeKind_ITEM_PUBLIC ItemAttributeKind = 10
|
|
ItemAttributeKind_ITEM_FORMAT_ATTRIBUTES ItemAttributeKind = 11
|
|
ItemAttributeKind_ITEM_ID ItemAttributeKind = 12
|
|
)
|
|
|
|
// Enum value maps for ItemAttributeKind.
|
|
var (
|
|
ItemAttributeKind_name = map[int32]string{
|
|
0: "ITEM_UNKNOWN",
|
|
1: "ITEM_ADDED_BY",
|
|
2: "ITEM_TIMESTAMP",
|
|
9: "ITEM_SEEN_AT",
|
|
10: "ITEM_PUBLIC",
|
|
11: "ITEM_FORMAT_ATTRIBUTES",
|
|
12: "ITEM_ID",
|
|
}
|
|
ItemAttributeKind_value = map[string]int32{
|
|
"ITEM_UNKNOWN": 0,
|
|
"ITEM_ADDED_BY": 1,
|
|
"ITEM_TIMESTAMP": 2,
|
|
"ITEM_SEEN_AT": 9,
|
|
"ITEM_PUBLIC": 10,
|
|
"ITEM_FORMAT_ATTRIBUTES": 11,
|
|
"ITEM_ID": 12,
|
|
}
|
|
)
|
|
|
|
func (x ItemAttributeKind) Enum() *ItemAttributeKind {
|
|
p := new(ItemAttributeKind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ItemAttributeKind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ItemAttributeKind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_playlist4_external_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (ItemAttributeKind) Type() protoreflect.EnumType {
|
|
return &file_playlist4_external_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x ItemAttributeKind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *ItemAttributeKind) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = ItemAttributeKind(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use ItemAttributeKind.Descriptor instead.
|
|
func (ItemAttributeKind) EnumDescriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
type GeoblockBlockingType int32
|
|
|
|
const (
|
|
GeoblockBlockingType_GEOBLOCK_BLOCKING_TYPE_UNSPECIFIED GeoblockBlockingType = 0
|
|
GeoblockBlockingType_GEOBLOCK_BLOCKING_TYPE_TITLE GeoblockBlockingType = 1
|
|
GeoblockBlockingType_GEOBLOCK_BLOCKING_TYPE_DESCRIPTION GeoblockBlockingType = 2
|
|
GeoblockBlockingType_GEOBLOCK_BLOCKING_TYPE_IMAGE GeoblockBlockingType = 3
|
|
)
|
|
|
|
// Enum value maps for GeoblockBlockingType.
|
|
var (
|
|
GeoblockBlockingType_name = map[int32]string{
|
|
0: "GEOBLOCK_BLOCKING_TYPE_UNSPECIFIED",
|
|
1: "GEOBLOCK_BLOCKING_TYPE_TITLE",
|
|
2: "GEOBLOCK_BLOCKING_TYPE_DESCRIPTION",
|
|
3: "GEOBLOCK_BLOCKING_TYPE_IMAGE",
|
|
}
|
|
GeoblockBlockingType_value = map[string]int32{
|
|
"GEOBLOCK_BLOCKING_TYPE_UNSPECIFIED": 0,
|
|
"GEOBLOCK_BLOCKING_TYPE_TITLE": 1,
|
|
"GEOBLOCK_BLOCKING_TYPE_DESCRIPTION": 2,
|
|
"GEOBLOCK_BLOCKING_TYPE_IMAGE": 3,
|
|
}
|
|
)
|
|
|
|
func (x GeoblockBlockingType) Enum() *GeoblockBlockingType {
|
|
p := new(GeoblockBlockingType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x GeoblockBlockingType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (GeoblockBlockingType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_playlist4_external_proto_enumTypes[2].Descriptor()
|
|
}
|
|
|
|
func (GeoblockBlockingType) Type() protoreflect.EnumType {
|
|
return &file_playlist4_external_proto_enumTypes[2]
|
|
}
|
|
|
|
func (x GeoblockBlockingType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *GeoblockBlockingType) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = GeoblockBlockingType(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use GeoblockBlockingType.Descriptor instead.
|
|
func (GeoblockBlockingType) EnumDescriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
type Op_Kind int32
|
|
|
|
const (
|
|
Op_KIND_UNKNOWN Op_Kind = 0
|
|
Op_ADD Op_Kind = 2
|
|
Op_REM Op_Kind = 3
|
|
Op_MOV Op_Kind = 4
|
|
Op_UPDATE_ITEM_ATTRIBUTES Op_Kind = 5
|
|
Op_UPDATE_LIST_ATTRIBUTES Op_Kind = 6
|
|
)
|
|
|
|
// Enum value maps for Op_Kind.
|
|
var (
|
|
Op_Kind_name = map[int32]string{
|
|
0: "KIND_UNKNOWN",
|
|
2: "ADD",
|
|
3: "REM",
|
|
4: "MOV",
|
|
5: "UPDATE_ITEM_ATTRIBUTES",
|
|
6: "UPDATE_LIST_ATTRIBUTES",
|
|
}
|
|
Op_Kind_value = map[string]int32{
|
|
"KIND_UNKNOWN": 0,
|
|
"ADD": 2,
|
|
"REM": 3,
|
|
"MOV": 4,
|
|
"UPDATE_ITEM_ATTRIBUTES": 5,
|
|
"UPDATE_LIST_ATTRIBUTES": 6,
|
|
}
|
|
)
|
|
|
|
func (x Op_Kind) Enum() *Op_Kind {
|
|
p := new(Op_Kind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Op_Kind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Op_Kind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_playlist4_external_proto_enumTypes[3].Descriptor()
|
|
}
|
|
|
|
func (Op_Kind) Type() protoreflect.EnumType {
|
|
return &file_playlist4_external_proto_enumTypes[3]
|
|
}
|
|
|
|
func (x Op_Kind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Op_Kind) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Op_Kind(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Op_Kind.Descriptor instead.
|
|
func (Op_Kind) EnumDescriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{14, 0}
|
|
}
|
|
|
|
type SourceInfo_Client int32
|
|
|
|
const (
|
|
SourceInfo_CLIENT_UNKNOWN SourceInfo_Client = 0
|
|
SourceInfo_NATIVE_HERMES SourceInfo_Client = 1
|
|
SourceInfo_CLIENT SourceInfo_Client = 2
|
|
SourceInfo_PYTHON SourceInfo_Client = 3
|
|
SourceInfo_JAVA SourceInfo_Client = 4
|
|
SourceInfo_WEBPLAYER SourceInfo_Client = 5
|
|
SourceInfo_LIBSPOTIFY SourceInfo_Client = 6
|
|
)
|
|
|
|
// Enum value maps for SourceInfo_Client.
|
|
var (
|
|
SourceInfo_Client_name = map[int32]string{
|
|
0: "CLIENT_UNKNOWN",
|
|
1: "NATIVE_HERMES",
|
|
2: "CLIENT",
|
|
3: "PYTHON",
|
|
4: "JAVA",
|
|
5: "WEBPLAYER",
|
|
6: "LIBSPOTIFY",
|
|
}
|
|
SourceInfo_Client_value = map[string]int32{
|
|
"CLIENT_UNKNOWN": 0,
|
|
"NATIVE_HERMES": 1,
|
|
"CLIENT": 2,
|
|
"PYTHON": 3,
|
|
"JAVA": 4,
|
|
"WEBPLAYER": 5,
|
|
"LIBSPOTIFY": 6,
|
|
}
|
|
)
|
|
|
|
func (x SourceInfo_Client) Enum() *SourceInfo_Client {
|
|
p := new(SourceInfo_Client)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x SourceInfo_Client) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (SourceInfo_Client) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_playlist4_external_proto_enumTypes[4].Descriptor()
|
|
}
|
|
|
|
func (SourceInfo_Client) Type() protoreflect.EnumType {
|
|
return &file_playlist4_external_proto_enumTypes[4]
|
|
}
|
|
|
|
func (x SourceInfo_Client) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *SourceInfo_Client) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = SourceInfo_Client(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use SourceInfo_Client.Descriptor instead.
|
|
func (SourceInfo_Client) EnumDescriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{17, 0}
|
|
}
|
|
|
|
type Item struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uri *string `protobuf:"bytes,1,req,name=uri" json:"uri,omitempty"`
|
|
Attributes *ItemAttributes `protobuf:"bytes,2,opt,name=attributes" json:"attributes,omitempty"`
|
|
}
|
|
|
|
func (x *Item) Reset() {
|
|
*x = Item{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Item) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Item) ProtoMessage() {}
|
|
|
|
func (x *Item) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Item.ProtoReflect.Descriptor instead.
|
|
func (*Item) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *Item) GetUri() string {
|
|
if x != nil && x.Uri != nil {
|
|
return *x.Uri
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Item) GetAttributes() *ItemAttributes {
|
|
if x != nil {
|
|
return x.Attributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type MetaItem struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Revision []byte `protobuf:"bytes,1,opt,name=revision" json:"revision,omitempty"`
|
|
Attributes *ListAttributes `protobuf:"bytes,2,opt,name=attributes" json:"attributes,omitempty"`
|
|
Length *int32 `protobuf:"varint,3,opt,name=length" json:"length,omitempty"`
|
|
Timestamp *int64 `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"`
|
|
OwnerUsername *string `protobuf:"bytes,5,opt,name=owner_username,json=ownerUsername" json:"owner_username,omitempty"`
|
|
AbuseReportingEnabled *bool `protobuf:"varint,6,opt,name=abuse_reporting_enabled,json=abuseReportingEnabled" json:"abuse_reporting_enabled,omitempty"`
|
|
Capabilities *Capabilities `protobuf:"bytes,7,opt,name=capabilities" json:"capabilities,omitempty"`
|
|
}
|
|
|
|
func (x *MetaItem) Reset() {
|
|
*x = MetaItem{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *MetaItem) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MetaItem) ProtoMessage() {}
|
|
|
|
func (x *MetaItem) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MetaItem.ProtoReflect.Descriptor instead.
|
|
func (*MetaItem) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *MetaItem) GetRevision() []byte {
|
|
if x != nil {
|
|
return x.Revision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MetaItem) GetAttributes() *ListAttributes {
|
|
if x != nil {
|
|
return x.Attributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MetaItem) GetLength() int32 {
|
|
if x != nil && x.Length != nil {
|
|
return *x.Length
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MetaItem) GetTimestamp() int64 {
|
|
if x != nil && x.Timestamp != nil {
|
|
return *x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MetaItem) GetOwnerUsername() string {
|
|
if x != nil && x.OwnerUsername != nil {
|
|
return *x.OwnerUsername
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MetaItem) GetAbuseReportingEnabled() bool {
|
|
if x != nil && x.AbuseReportingEnabled != nil {
|
|
return *x.AbuseReportingEnabled
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *MetaItem) GetCapabilities() *Capabilities {
|
|
if x != nil {
|
|
return x.Capabilities
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ListItems struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Pos *int32 `protobuf:"varint,1,req,name=pos" json:"pos,omitempty"`
|
|
Truncated *bool `protobuf:"varint,2,req,name=truncated" json:"truncated,omitempty"`
|
|
Items []*Item `protobuf:"bytes,3,rep,name=items" json:"items,omitempty"`
|
|
MetaItems []*MetaItem `protobuf:"bytes,4,rep,name=meta_items,json=metaItems" json:"meta_items,omitempty"`
|
|
}
|
|
|
|
func (x *ListItems) Reset() {
|
|
*x = ListItems{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListItems) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListItems) ProtoMessage() {}
|
|
|
|
func (x *ListItems) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListItems.ProtoReflect.Descriptor instead.
|
|
func (*ListItems) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *ListItems) GetPos() int32 {
|
|
if x != nil && x.Pos != nil {
|
|
return *x.Pos
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ListItems) GetTruncated() bool {
|
|
if x != nil && x.Truncated != nil {
|
|
return *x.Truncated
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ListItems) GetItems() []*Item {
|
|
if x != nil {
|
|
return x.Items
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListItems) GetMetaItems() []*MetaItem {
|
|
if x != nil {
|
|
return x.MetaItems
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type FormatListAttribute struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
|
|
Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
|
|
}
|
|
|
|
func (x *FormatListAttribute) Reset() {
|
|
*x = FormatListAttribute{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *FormatListAttribute) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FormatListAttribute) ProtoMessage() {}
|
|
|
|
func (x *FormatListAttribute) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FormatListAttribute.ProtoReflect.Descriptor instead.
|
|
func (*FormatListAttribute) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *FormatListAttribute) GetKey() string {
|
|
if x != nil && x.Key != nil {
|
|
return *x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FormatListAttribute) GetValue() string {
|
|
if x != nil && x.Value != nil {
|
|
return *x.Value
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type PictureSize struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
TargetName *string `protobuf:"bytes,1,opt,name=target_name,json=targetName" json:"target_name,omitempty"`
|
|
Url *string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
|
|
}
|
|
|
|
func (x *PictureSize) Reset() {
|
|
*x = PictureSize{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PictureSize) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PictureSize) ProtoMessage() {}
|
|
|
|
func (x *PictureSize) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[4]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PictureSize.ProtoReflect.Descriptor instead.
|
|
func (*PictureSize) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *PictureSize) GetTargetName() string {
|
|
if x != nil && x.TargetName != nil {
|
|
return *x.TargetName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PictureSize) GetUrl() string {
|
|
if x != nil && x.Url != nil {
|
|
return *x.Url
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type ListAttributes struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
|
|
Description *string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
|
|
Picture []byte `protobuf:"bytes,3,opt,name=picture" json:"picture,omitempty"`
|
|
Collaborative *bool `protobuf:"varint,4,opt,name=collaborative" json:"collaborative,omitempty"`
|
|
Pl3Version *string `protobuf:"bytes,5,opt,name=pl3_version,json=pl3Version" json:"pl3_version,omitempty"`
|
|
DeletedByOwner *bool `protobuf:"varint,6,opt,name=deleted_by_owner,json=deletedByOwner" json:"deleted_by_owner,omitempty"`
|
|
ClientId *string `protobuf:"bytes,10,opt,name=client_id,json=clientId" json:"client_id,omitempty"`
|
|
Format *string `protobuf:"bytes,11,opt,name=format" json:"format,omitempty"`
|
|
FormatAttributes []*FormatListAttribute `protobuf:"bytes,12,rep,name=format_attributes,json=formatAttributes" json:"format_attributes,omitempty"`
|
|
PictureSize []*PictureSize `protobuf:"bytes,13,rep,name=picture_size,json=pictureSize" json:"picture_size,omitempty"`
|
|
}
|
|
|
|
func (x *ListAttributes) Reset() {
|
|
*x = ListAttributes{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListAttributes) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListAttributes) ProtoMessage() {}
|
|
|
|
func (x *ListAttributes) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[5]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListAttributes.ProtoReflect.Descriptor instead.
|
|
func (*ListAttributes) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *ListAttributes) GetName() string {
|
|
if x != nil && x.Name != nil {
|
|
return *x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListAttributes) GetDescription() string {
|
|
if x != nil && x.Description != nil {
|
|
return *x.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListAttributes) GetPicture() []byte {
|
|
if x != nil {
|
|
return x.Picture
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListAttributes) GetCollaborative() bool {
|
|
if x != nil && x.Collaborative != nil {
|
|
return *x.Collaborative
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ListAttributes) GetPl3Version() string {
|
|
if x != nil && x.Pl3Version != nil {
|
|
return *x.Pl3Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListAttributes) GetDeletedByOwner() bool {
|
|
if x != nil && x.DeletedByOwner != nil {
|
|
return *x.DeletedByOwner
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ListAttributes) GetClientId() string {
|
|
if x != nil && x.ClientId != nil {
|
|
return *x.ClientId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListAttributes) GetFormat() string {
|
|
if x != nil && x.Format != nil {
|
|
return *x.Format
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ListAttributes) GetFormatAttributes() []*FormatListAttribute {
|
|
if x != nil {
|
|
return x.FormatAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListAttributes) GetPictureSize() []*PictureSize {
|
|
if x != nil {
|
|
return x.PictureSize
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ItemAttributes struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
AddedBy *string `protobuf:"bytes,1,opt,name=added_by,json=addedBy" json:"added_by,omitempty"`
|
|
Timestamp *int64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
|
|
SeenAt *int64 `protobuf:"varint,9,opt,name=seen_at,json=seenAt" json:"seen_at,omitempty"`
|
|
Public *bool `protobuf:"varint,10,opt,name=public" json:"public,omitempty"`
|
|
FormatAttributes []*FormatListAttribute `protobuf:"bytes,11,rep,name=format_attributes,json=formatAttributes" json:"format_attributes,omitempty"`
|
|
ItemId []byte `protobuf:"bytes,12,opt,name=item_id,json=itemId" json:"item_id,omitempty"`
|
|
}
|
|
|
|
func (x *ItemAttributes) Reset() {
|
|
*x = ItemAttributes{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ItemAttributes) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ItemAttributes) ProtoMessage() {}
|
|
|
|
func (x *ItemAttributes) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[6]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ItemAttributes.ProtoReflect.Descriptor instead.
|
|
func (*ItemAttributes) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *ItemAttributes) GetAddedBy() string {
|
|
if x != nil && x.AddedBy != nil {
|
|
return *x.AddedBy
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ItemAttributes) GetTimestamp() int64 {
|
|
if x != nil && x.Timestamp != nil {
|
|
return *x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ItemAttributes) GetSeenAt() int64 {
|
|
if x != nil && x.SeenAt != nil {
|
|
return *x.SeenAt
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ItemAttributes) GetPublic() bool {
|
|
if x != nil && x.Public != nil {
|
|
return *x.Public
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ItemAttributes) GetFormatAttributes() []*FormatListAttribute {
|
|
if x != nil {
|
|
return x.FormatAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ItemAttributes) GetItemId() []byte {
|
|
if x != nil {
|
|
return x.ItemId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Add struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
FromIndex *int32 `protobuf:"varint,1,opt,name=from_index,json=fromIndex" json:"from_index,omitempty"`
|
|
Items []*Item `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"`
|
|
AddLast *bool `protobuf:"varint,4,opt,name=add_last,json=addLast" json:"add_last,omitempty"`
|
|
AddFirst *bool `protobuf:"varint,5,opt,name=add_first,json=addFirst" json:"add_first,omitempty"`
|
|
}
|
|
|
|
func (x *Add) Reset() {
|
|
*x = Add{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Add) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Add) ProtoMessage() {}
|
|
|
|
func (x *Add) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[7]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Add.ProtoReflect.Descriptor instead.
|
|
func (*Add) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *Add) GetFromIndex() int32 {
|
|
if x != nil && x.FromIndex != nil {
|
|
return *x.FromIndex
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Add) GetItems() []*Item {
|
|
if x != nil {
|
|
return x.Items
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Add) GetAddLast() bool {
|
|
if x != nil && x.AddLast != nil {
|
|
return *x.AddLast
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Add) GetAddFirst() bool {
|
|
if x != nil && x.AddFirst != nil {
|
|
return *x.AddFirst
|
|
}
|
|
return false
|
|
}
|
|
|
|
type Rem struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
FromIndex *int32 `protobuf:"varint,1,opt,name=from_index,json=fromIndex" json:"from_index,omitempty"`
|
|
Length *int32 `protobuf:"varint,2,opt,name=length" json:"length,omitempty"`
|
|
Items []*Item `protobuf:"bytes,3,rep,name=items" json:"items,omitempty"`
|
|
ItemsAsKey *bool `protobuf:"varint,7,opt,name=items_as_key,json=itemsAsKey" json:"items_as_key,omitempty"`
|
|
}
|
|
|
|
func (x *Rem) Reset() {
|
|
*x = Rem{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Rem) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Rem) ProtoMessage() {}
|
|
|
|
func (x *Rem) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[8]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Rem.ProtoReflect.Descriptor instead.
|
|
func (*Rem) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *Rem) GetFromIndex() int32 {
|
|
if x != nil && x.FromIndex != nil {
|
|
return *x.FromIndex
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Rem) GetLength() int32 {
|
|
if x != nil && x.Length != nil {
|
|
return *x.Length
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Rem) GetItems() []*Item {
|
|
if x != nil {
|
|
return x.Items
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Rem) GetItemsAsKey() bool {
|
|
if x != nil && x.ItemsAsKey != nil {
|
|
return *x.ItemsAsKey
|
|
}
|
|
return false
|
|
}
|
|
|
|
type Mov struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
FromIndex *int32 `protobuf:"varint,1,req,name=from_index,json=fromIndex" json:"from_index,omitempty"`
|
|
Length *int32 `protobuf:"varint,2,req,name=length" json:"length,omitempty"`
|
|
ToIndex *int32 `protobuf:"varint,3,req,name=to_index,json=toIndex" json:"to_index,omitempty"`
|
|
}
|
|
|
|
func (x *Mov) Reset() {
|
|
*x = Mov{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Mov) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Mov) ProtoMessage() {}
|
|
|
|
func (x *Mov) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[9]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Mov.ProtoReflect.Descriptor instead.
|
|
func (*Mov) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *Mov) GetFromIndex() int32 {
|
|
if x != nil && x.FromIndex != nil {
|
|
return *x.FromIndex
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Mov) GetLength() int32 {
|
|
if x != nil && x.Length != nil {
|
|
return *x.Length
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Mov) GetToIndex() int32 {
|
|
if x != nil && x.ToIndex != nil {
|
|
return *x.ToIndex
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type ItemAttributesPartialState struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Values *ItemAttributes `protobuf:"bytes,1,req,name=values" json:"values,omitempty"`
|
|
NoValue []ItemAttributeKind `protobuf:"varint,2,rep,name=no_value,json=noValue,enum=spotify.playlist4.proto.ItemAttributeKind" json:"no_value,omitempty"`
|
|
}
|
|
|
|
func (x *ItemAttributesPartialState) Reset() {
|
|
*x = ItemAttributesPartialState{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ItemAttributesPartialState) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ItemAttributesPartialState) ProtoMessage() {}
|
|
|
|
func (x *ItemAttributesPartialState) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[10]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ItemAttributesPartialState.ProtoReflect.Descriptor instead.
|
|
func (*ItemAttributesPartialState) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *ItemAttributesPartialState) GetValues() *ItemAttributes {
|
|
if x != nil {
|
|
return x.Values
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ItemAttributesPartialState) GetNoValue() []ItemAttributeKind {
|
|
if x != nil {
|
|
return x.NoValue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ListAttributesPartialState struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Values *ListAttributes `protobuf:"bytes,1,req,name=values" json:"values,omitempty"`
|
|
NoValue []ListAttributeKind `protobuf:"varint,2,rep,name=no_value,json=noValue,enum=spotify.playlist4.proto.ListAttributeKind" json:"no_value,omitempty"`
|
|
}
|
|
|
|
func (x *ListAttributesPartialState) Reset() {
|
|
*x = ListAttributesPartialState{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListAttributesPartialState) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListAttributesPartialState) ProtoMessage() {}
|
|
|
|
func (x *ListAttributesPartialState) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[11]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListAttributesPartialState.ProtoReflect.Descriptor instead.
|
|
func (*ListAttributesPartialState) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *ListAttributesPartialState) GetValues() *ListAttributes {
|
|
if x != nil {
|
|
return x.Values
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListAttributesPartialState) GetNoValue() []ListAttributeKind {
|
|
if x != nil {
|
|
return x.NoValue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type UpdateItemAttributes struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Index *int32 `protobuf:"varint,1,req,name=index" json:"index,omitempty"`
|
|
NewAttributes *ItemAttributesPartialState `protobuf:"bytes,2,req,name=new_attributes,json=newAttributes" json:"new_attributes,omitempty"`
|
|
OldAttributes *ItemAttributesPartialState `protobuf:"bytes,3,opt,name=old_attributes,json=oldAttributes" json:"old_attributes,omitempty"`
|
|
}
|
|
|
|
func (x *UpdateItemAttributes) Reset() {
|
|
*x = UpdateItemAttributes{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *UpdateItemAttributes) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UpdateItemAttributes) ProtoMessage() {}
|
|
|
|
func (x *UpdateItemAttributes) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[12]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UpdateItemAttributes.ProtoReflect.Descriptor instead.
|
|
func (*UpdateItemAttributes) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *UpdateItemAttributes) GetIndex() int32 {
|
|
if x != nil && x.Index != nil {
|
|
return *x.Index
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *UpdateItemAttributes) GetNewAttributes() *ItemAttributesPartialState {
|
|
if x != nil {
|
|
return x.NewAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateItemAttributes) GetOldAttributes() *ItemAttributesPartialState {
|
|
if x != nil {
|
|
return x.OldAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type UpdateListAttributes struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
NewAttributes *ListAttributesPartialState `protobuf:"bytes,1,req,name=new_attributes,json=newAttributes" json:"new_attributes,omitempty"`
|
|
OldAttributes *ListAttributesPartialState `protobuf:"bytes,2,opt,name=old_attributes,json=oldAttributes" json:"old_attributes,omitempty"`
|
|
}
|
|
|
|
func (x *UpdateListAttributes) Reset() {
|
|
*x = UpdateListAttributes{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *UpdateListAttributes) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UpdateListAttributes) ProtoMessage() {}
|
|
|
|
func (x *UpdateListAttributes) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[13]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UpdateListAttributes.ProtoReflect.Descriptor instead.
|
|
func (*UpdateListAttributes) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *UpdateListAttributes) GetNewAttributes() *ListAttributesPartialState {
|
|
if x != nil {
|
|
return x.NewAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *UpdateListAttributes) GetOldAttributes() *ListAttributesPartialState {
|
|
if x != nil {
|
|
return x.OldAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Op struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Kind *Op_Kind `protobuf:"varint,1,req,name=kind,enum=spotify.playlist4.proto.Op_Kind" json:"kind,omitempty"`
|
|
Add *Add `protobuf:"bytes,2,opt,name=add" json:"add,omitempty"`
|
|
Rem *Rem `protobuf:"bytes,3,opt,name=rem" json:"rem,omitempty"`
|
|
Mov *Mov `protobuf:"bytes,4,opt,name=mov" json:"mov,omitempty"`
|
|
UpdateItemAttributes *UpdateItemAttributes `protobuf:"bytes,5,opt,name=update_item_attributes,json=updateItemAttributes" json:"update_item_attributes,omitempty"`
|
|
UpdateListAttributes *UpdateListAttributes `protobuf:"bytes,6,opt,name=update_list_attributes,json=updateListAttributes" json:"update_list_attributes,omitempty"`
|
|
}
|
|
|
|
func (x *Op) Reset() {
|
|
*x = Op{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Op) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Op) ProtoMessage() {}
|
|
|
|
func (x *Op) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[14]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Op.ProtoReflect.Descriptor instead.
|
|
func (*Op) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *Op) GetKind() Op_Kind {
|
|
if x != nil && x.Kind != nil {
|
|
return *x.Kind
|
|
}
|
|
return Op_KIND_UNKNOWN
|
|
}
|
|
|
|
func (x *Op) GetAdd() *Add {
|
|
if x != nil {
|
|
return x.Add
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Op) GetRem() *Rem {
|
|
if x != nil {
|
|
return x.Rem
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Op) GetMov() *Mov {
|
|
if x != nil {
|
|
return x.Mov
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Op) GetUpdateItemAttributes() *UpdateItemAttributes {
|
|
if x != nil {
|
|
return x.UpdateItemAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Op) GetUpdateListAttributes() *UpdateListAttributes {
|
|
if x != nil {
|
|
return x.UpdateListAttributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type OpList struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Ops []*Op `protobuf:"bytes,1,rep,name=ops" json:"ops,omitempty"`
|
|
}
|
|
|
|
func (x *OpList) Reset() {
|
|
*x = OpList{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *OpList) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*OpList) ProtoMessage() {}
|
|
|
|
func (x *OpList) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[15]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use OpList.ProtoReflect.Descriptor instead.
|
|
func (*OpList) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *OpList) GetOps() []*Op {
|
|
if x != nil {
|
|
return x.Ops
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ChangeInfo struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
User *string `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"`
|
|
Timestamp *int64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
|
|
Admin *bool `protobuf:"varint,3,opt,name=admin" json:"admin,omitempty"`
|
|
Undo *bool `protobuf:"varint,4,opt,name=undo" json:"undo,omitempty"`
|
|
Redo *bool `protobuf:"varint,5,opt,name=redo" json:"redo,omitempty"`
|
|
Merge *bool `protobuf:"varint,6,opt,name=merge" json:"merge,omitempty"`
|
|
Compressed *bool `protobuf:"varint,7,opt,name=compressed" json:"compressed,omitempty"`
|
|
Migration *bool `protobuf:"varint,8,opt,name=migration" json:"migration,omitempty"`
|
|
SplitId *int32 `protobuf:"varint,9,opt,name=split_id,json=splitId" json:"split_id,omitempty"`
|
|
Source *SourceInfo `protobuf:"bytes,10,opt,name=source" json:"source,omitempty"`
|
|
}
|
|
|
|
func (x *ChangeInfo) Reset() {
|
|
*x = ChangeInfo{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ChangeInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ChangeInfo) ProtoMessage() {}
|
|
|
|
func (x *ChangeInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[16]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ChangeInfo.ProtoReflect.Descriptor instead.
|
|
func (*ChangeInfo) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *ChangeInfo) GetUser() string {
|
|
if x != nil && x.User != nil {
|
|
return *x.User
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ChangeInfo) GetTimestamp() int64 {
|
|
if x != nil && x.Timestamp != nil {
|
|
return *x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ChangeInfo) GetAdmin() bool {
|
|
if x != nil && x.Admin != nil {
|
|
return *x.Admin
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChangeInfo) GetUndo() bool {
|
|
if x != nil && x.Undo != nil {
|
|
return *x.Undo
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChangeInfo) GetRedo() bool {
|
|
if x != nil && x.Redo != nil {
|
|
return *x.Redo
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChangeInfo) GetMerge() bool {
|
|
if x != nil && x.Merge != nil {
|
|
return *x.Merge
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChangeInfo) GetCompressed() bool {
|
|
if x != nil && x.Compressed != nil {
|
|
return *x.Compressed
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChangeInfo) GetMigration() bool {
|
|
if x != nil && x.Migration != nil {
|
|
return *x.Migration
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ChangeInfo) GetSplitId() int32 {
|
|
if x != nil && x.SplitId != nil {
|
|
return *x.SplitId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ChangeInfo) GetSource() *SourceInfo {
|
|
if x != nil {
|
|
return x.Source
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type SourceInfo struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Client *SourceInfo_Client `protobuf:"varint,1,opt,name=client,enum=spotify.playlist4.proto.SourceInfo_Client" json:"client,omitempty"`
|
|
App *string `protobuf:"bytes,3,opt,name=app" json:"app,omitempty"`
|
|
Source *string `protobuf:"bytes,4,opt,name=source" json:"source,omitempty"`
|
|
Version *string `protobuf:"bytes,5,opt,name=version" json:"version,omitempty"`
|
|
}
|
|
|
|
func (x *SourceInfo) Reset() {
|
|
*x = SourceInfo{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SourceInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SourceInfo) ProtoMessage() {}
|
|
|
|
func (x *SourceInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[17]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SourceInfo.ProtoReflect.Descriptor instead.
|
|
func (*SourceInfo) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *SourceInfo) GetClient() SourceInfo_Client {
|
|
if x != nil && x.Client != nil {
|
|
return *x.Client
|
|
}
|
|
return SourceInfo_CLIENT_UNKNOWN
|
|
}
|
|
|
|
func (x *SourceInfo) GetApp() string {
|
|
if x != nil && x.App != nil {
|
|
return *x.App
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SourceInfo) GetSource() string {
|
|
if x != nil && x.Source != nil {
|
|
return *x.Source
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SourceInfo) GetVersion() string {
|
|
if x != nil && x.Version != nil {
|
|
return *x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type Delta struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
BaseVersion []byte `protobuf:"bytes,1,opt,name=base_version,json=baseVersion" json:"base_version,omitempty"`
|
|
Ops []*Op `protobuf:"bytes,2,rep,name=ops" json:"ops,omitempty"`
|
|
Info *ChangeInfo `protobuf:"bytes,4,opt,name=info" json:"info,omitempty"`
|
|
}
|
|
|
|
func (x *Delta) Reset() {
|
|
*x = Delta{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Delta) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Delta) ProtoMessage() {}
|
|
|
|
func (x *Delta) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[18]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Delta.ProtoReflect.Descriptor instead.
|
|
func (*Delta) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *Delta) GetBaseVersion() []byte {
|
|
if x != nil {
|
|
return x.BaseVersion
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Delta) GetOps() []*Op {
|
|
if x != nil {
|
|
return x.Ops
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Delta) GetInfo() *ChangeInfo {
|
|
if x != nil {
|
|
return x.Info
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Diff struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
FromRevision []byte `protobuf:"bytes,1,req,name=from_revision,json=fromRevision" json:"from_revision,omitempty"`
|
|
Ops []*Op `protobuf:"bytes,2,rep,name=ops" json:"ops,omitempty"`
|
|
ToRevision []byte `protobuf:"bytes,3,req,name=to_revision,json=toRevision" json:"to_revision,omitempty"`
|
|
}
|
|
|
|
func (x *Diff) Reset() {
|
|
*x = Diff{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[19]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Diff) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Diff) ProtoMessage() {}
|
|
|
|
func (x *Diff) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[19]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Diff.ProtoReflect.Descriptor instead.
|
|
func (*Diff) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{19}
|
|
}
|
|
|
|
func (x *Diff) GetFromRevision() []byte {
|
|
if x != nil {
|
|
return x.FromRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Diff) GetOps() []*Op {
|
|
if x != nil {
|
|
return x.Ops
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Diff) GetToRevision() []byte {
|
|
if x != nil {
|
|
return x.ToRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ListChanges struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
BaseRevision []byte `protobuf:"bytes,1,opt,name=base_revision,json=baseRevision" json:"base_revision,omitempty"`
|
|
Deltas []*Delta `protobuf:"bytes,2,rep,name=deltas" json:"deltas,omitempty"`
|
|
WantResultingRevisions *bool `protobuf:"varint,3,opt,name=want_resulting_revisions,json=wantResultingRevisions" json:"want_resulting_revisions,omitempty"`
|
|
WantSyncResult *bool `protobuf:"varint,4,opt,name=want_sync_result,json=wantSyncResult" json:"want_sync_result,omitempty"`
|
|
Nonces []int64 `protobuf:"varint,6,rep,name=nonces" json:"nonces,omitempty"`
|
|
}
|
|
|
|
func (x *ListChanges) Reset() {
|
|
*x = ListChanges{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[20]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListChanges) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListChanges) ProtoMessage() {}
|
|
|
|
func (x *ListChanges) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[20]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListChanges.ProtoReflect.Descriptor instead.
|
|
func (*ListChanges) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{20}
|
|
}
|
|
|
|
func (x *ListChanges) GetBaseRevision() []byte {
|
|
if x != nil {
|
|
return x.BaseRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListChanges) GetDeltas() []*Delta {
|
|
if x != nil {
|
|
return x.Deltas
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListChanges) GetWantResultingRevisions() bool {
|
|
if x != nil && x.WantResultingRevisions != nil {
|
|
return *x.WantResultingRevisions
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ListChanges) GetWantSyncResult() bool {
|
|
if x != nil && x.WantSyncResult != nil {
|
|
return *x.WantSyncResult
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ListChanges) GetNonces() []int64 {
|
|
if x != nil {
|
|
return x.Nonces
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type SelectedListContent struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Revision []byte `protobuf:"bytes,1,opt,name=revision" json:"revision,omitempty"`
|
|
Length *int32 `protobuf:"varint,2,opt,name=length" json:"length,omitempty"`
|
|
Attributes *ListAttributes `protobuf:"bytes,3,opt,name=attributes" json:"attributes,omitempty"`
|
|
Contents *ListItems `protobuf:"bytes,5,opt,name=contents" json:"contents,omitempty"`
|
|
Diff *Diff `protobuf:"bytes,6,opt,name=diff" json:"diff,omitempty"`
|
|
SyncResult *Diff `protobuf:"bytes,7,opt,name=sync_result,json=syncResult" json:"sync_result,omitempty"`
|
|
ResultingRevisions [][]byte `protobuf:"bytes,8,rep,name=resulting_revisions,json=resultingRevisions" json:"resulting_revisions,omitempty"`
|
|
MultipleHeads *bool `protobuf:"varint,9,opt,name=multiple_heads,json=multipleHeads" json:"multiple_heads,omitempty"`
|
|
UpToDate *bool `protobuf:"varint,10,opt,name=up_to_date,json=upToDate" json:"up_to_date,omitempty"`
|
|
Nonces []int64 `protobuf:"varint,14,rep,name=nonces" json:"nonces,omitempty"`
|
|
Timestamp *int64 `protobuf:"varint,15,opt,name=timestamp" json:"timestamp,omitempty"`
|
|
OwnerUsername *string `protobuf:"bytes,16,opt,name=owner_username,json=ownerUsername" json:"owner_username,omitempty"`
|
|
AbuseReportingEnabled *bool `protobuf:"varint,17,opt,name=abuse_reporting_enabled,json=abuseReportingEnabled" json:"abuse_reporting_enabled,omitempty"`
|
|
Capabilities *Capabilities `protobuf:"bytes,18,opt,name=capabilities" json:"capabilities,omitempty"`
|
|
Geoblock []GeoblockBlockingType `protobuf:"varint,19,rep,name=geoblock,enum=spotify.playlist4.proto.GeoblockBlockingType" json:"geoblock,omitempty"`
|
|
}
|
|
|
|
func (x *SelectedListContent) Reset() {
|
|
*x = SelectedListContent{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[21]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SelectedListContent) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SelectedListContent) ProtoMessage() {}
|
|
|
|
func (x *SelectedListContent) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[21]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SelectedListContent.ProtoReflect.Descriptor instead.
|
|
func (*SelectedListContent) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{21}
|
|
}
|
|
|
|
func (x *SelectedListContent) GetRevision() []byte {
|
|
if x != nil {
|
|
return x.Revision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetLength() int32 {
|
|
if x != nil && x.Length != nil {
|
|
return *x.Length
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SelectedListContent) GetAttributes() *ListAttributes {
|
|
if x != nil {
|
|
return x.Attributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetContents() *ListItems {
|
|
if x != nil {
|
|
return x.Contents
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetDiff() *Diff {
|
|
if x != nil {
|
|
return x.Diff
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetSyncResult() *Diff {
|
|
if x != nil {
|
|
return x.SyncResult
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetResultingRevisions() [][]byte {
|
|
if x != nil {
|
|
return x.ResultingRevisions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetMultipleHeads() bool {
|
|
if x != nil && x.MultipleHeads != nil {
|
|
return *x.MultipleHeads
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *SelectedListContent) GetUpToDate() bool {
|
|
if x != nil && x.UpToDate != nil {
|
|
return *x.UpToDate
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *SelectedListContent) GetNonces() []int64 {
|
|
if x != nil {
|
|
return x.Nonces
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetTimestamp() int64 {
|
|
if x != nil && x.Timestamp != nil {
|
|
return *x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *SelectedListContent) GetOwnerUsername() string {
|
|
if x != nil && x.OwnerUsername != nil {
|
|
return *x.OwnerUsername
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SelectedListContent) GetAbuseReportingEnabled() bool {
|
|
if x != nil && x.AbuseReportingEnabled != nil {
|
|
return *x.AbuseReportingEnabled
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *SelectedListContent) GetCapabilities() *Capabilities {
|
|
if x != nil {
|
|
return x.Capabilities
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SelectedListContent) GetGeoblock() []GeoblockBlockingType {
|
|
if x != nil {
|
|
return x.Geoblock
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type CreateListReply struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uri *string `protobuf:"bytes,1,req,name=uri" json:"uri,omitempty"`
|
|
Revision []byte `protobuf:"bytes,2,opt,name=revision" json:"revision,omitempty"`
|
|
}
|
|
|
|
func (x *CreateListReply) Reset() {
|
|
*x = CreateListReply{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[22]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *CreateListReply) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CreateListReply) ProtoMessage() {}
|
|
|
|
func (x *CreateListReply) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[22]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CreateListReply.ProtoReflect.Descriptor instead.
|
|
func (*CreateListReply) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{22}
|
|
}
|
|
|
|
func (x *CreateListReply) GetUri() string {
|
|
if x != nil && x.Uri != nil {
|
|
return *x.Uri
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CreateListReply) GetRevision() []byte {
|
|
if x != nil {
|
|
return x.Revision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type PlaylistV1UriRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
V2Uris []string `protobuf:"bytes,1,rep,name=v2_uris,json=v2Uris" json:"v2_uris,omitempty"`
|
|
}
|
|
|
|
func (x *PlaylistV1UriRequest) Reset() {
|
|
*x = PlaylistV1UriRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[23]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PlaylistV1UriRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PlaylistV1UriRequest) ProtoMessage() {}
|
|
|
|
func (x *PlaylistV1UriRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[23]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PlaylistV1UriRequest.ProtoReflect.Descriptor instead.
|
|
func (*PlaylistV1UriRequest) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{23}
|
|
}
|
|
|
|
func (x *PlaylistV1UriRequest) GetV2Uris() []string {
|
|
if x != nil {
|
|
return x.V2Uris
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type PlaylistV1UriReply struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
V2UriToV1Uri map[string]string `protobuf:"bytes,1,rep,name=v2_uri_to_v1_uri,json=v2UriToV1Uri" json:"v2_uri_to_v1_uri,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
}
|
|
|
|
func (x *PlaylistV1UriReply) Reset() {
|
|
*x = PlaylistV1UriReply{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[24]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PlaylistV1UriReply) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PlaylistV1UriReply) ProtoMessage() {}
|
|
|
|
func (x *PlaylistV1UriReply) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[24]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PlaylistV1UriReply.ProtoReflect.Descriptor instead.
|
|
func (*PlaylistV1UriReply) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{24}
|
|
}
|
|
|
|
func (x *PlaylistV1UriReply) GetV2UriToV1Uri() map[string]string {
|
|
if x != nil {
|
|
return x.V2UriToV1Uri
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ListUpdateRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
BaseRevision []byte `protobuf:"bytes,1,opt,name=base_revision,json=baseRevision" json:"base_revision,omitempty"`
|
|
Attributes *ListAttributes `protobuf:"bytes,2,opt,name=attributes" json:"attributes,omitempty"`
|
|
Items []*Item `protobuf:"bytes,3,rep,name=items" json:"items,omitempty"`
|
|
Info *ChangeInfo `protobuf:"bytes,4,opt,name=info" json:"info,omitempty"`
|
|
}
|
|
|
|
func (x *ListUpdateRequest) Reset() {
|
|
*x = ListUpdateRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[25]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ListUpdateRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ListUpdateRequest) ProtoMessage() {}
|
|
|
|
func (x *ListUpdateRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[25]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ListUpdateRequest.ProtoReflect.Descriptor instead.
|
|
func (*ListUpdateRequest) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{25}
|
|
}
|
|
|
|
func (x *ListUpdateRequest) GetBaseRevision() []byte {
|
|
if x != nil {
|
|
return x.BaseRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListUpdateRequest) GetAttributes() *ListAttributes {
|
|
if x != nil {
|
|
return x.Attributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListUpdateRequest) GetItems() []*Item {
|
|
if x != nil {
|
|
return x.Items
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ListUpdateRequest) GetInfo() *ChangeInfo {
|
|
if x != nil {
|
|
return x.Info
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type RegisterPlaylistImageRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
UploadToken *string `protobuf:"bytes,1,opt,name=upload_token,json=uploadToken" json:"upload_token,omitempty"`
|
|
}
|
|
|
|
func (x *RegisterPlaylistImageRequest) Reset() {
|
|
*x = RegisterPlaylistImageRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[26]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *RegisterPlaylistImageRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RegisterPlaylistImageRequest) ProtoMessage() {}
|
|
|
|
func (x *RegisterPlaylistImageRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[26]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RegisterPlaylistImageRequest.ProtoReflect.Descriptor instead.
|
|
func (*RegisterPlaylistImageRequest) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{26}
|
|
}
|
|
|
|
func (x *RegisterPlaylistImageRequest) GetUploadToken() string {
|
|
if x != nil && x.UploadToken != nil {
|
|
return *x.UploadToken
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type RegisterPlaylistImageResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Picture []byte `protobuf:"bytes,1,opt,name=picture" json:"picture,omitempty"`
|
|
}
|
|
|
|
func (x *RegisterPlaylistImageResponse) Reset() {
|
|
*x = RegisterPlaylistImageResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[27]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *RegisterPlaylistImageResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RegisterPlaylistImageResponse) ProtoMessage() {}
|
|
|
|
func (x *RegisterPlaylistImageResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[27]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RegisterPlaylistImageResponse.ProtoReflect.Descriptor instead.
|
|
func (*RegisterPlaylistImageResponse) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{27}
|
|
}
|
|
|
|
func (x *RegisterPlaylistImageResponse) GetPicture() []byte {
|
|
if x != nil {
|
|
return x.Picture
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ResolvedPersonalizedPlaylist struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uri *string `protobuf:"bytes,1,opt,name=uri" json:"uri,omitempty"`
|
|
Tag *string `protobuf:"bytes,2,opt,name=tag" json:"tag,omitempty"`
|
|
}
|
|
|
|
func (x *ResolvedPersonalizedPlaylist) Reset() {
|
|
*x = ResolvedPersonalizedPlaylist{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[28]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ResolvedPersonalizedPlaylist) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ResolvedPersonalizedPlaylist) ProtoMessage() {}
|
|
|
|
func (x *ResolvedPersonalizedPlaylist) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[28]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ResolvedPersonalizedPlaylist.ProtoReflect.Descriptor instead.
|
|
func (*ResolvedPersonalizedPlaylist) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{28}
|
|
}
|
|
|
|
func (x *ResolvedPersonalizedPlaylist) GetUri() string {
|
|
if x != nil && x.Uri != nil {
|
|
return *x.Uri
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ResolvedPersonalizedPlaylist) GetTag() string {
|
|
if x != nil && x.Tag != nil {
|
|
return *x.Tag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type PlaylistUriResolverResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
ResolvedPlaylists []*ResolvedPersonalizedPlaylist `protobuf:"bytes,1,rep,name=resolved_playlists,json=resolvedPlaylists" json:"resolved_playlists,omitempty"`
|
|
}
|
|
|
|
func (x *PlaylistUriResolverResponse) Reset() {
|
|
*x = PlaylistUriResolverResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[29]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PlaylistUriResolverResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PlaylistUriResolverResponse) ProtoMessage() {}
|
|
|
|
func (x *PlaylistUriResolverResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[29]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PlaylistUriResolverResponse.ProtoReflect.Descriptor instead.
|
|
func (*PlaylistUriResolverResponse) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{29}
|
|
}
|
|
|
|
func (x *PlaylistUriResolverResponse) GetResolvedPlaylists() []*ResolvedPersonalizedPlaylist {
|
|
if x != nil {
|
|
return x.ResolvedPlaylists
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type SubscribeRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uris [][]byte `protobuf:"bytes,1,rep,name=uris" json:"uris,omitempty"`
|
|
}
|
|
|
|
func (x *SubscribeRequest) Reset() {
|
|
*x = SubscribeRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[30]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SubscribeRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SubscribeRequest) ProtoMessage() {}
|
|
|
|
func (x *SubscribeRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[30]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead.
|
|
func (*SubscribeRequest) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{30}
|
|
}
|
|
|
|
func (x *SubscribeRequest) GetUris() [][]byte {
|
|
if x != nil {
|
|
return x.Uris
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type UnsubscribeRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uris [][]byte `protobuf:"bytes,1,rep,name=uris" json:"uris,omitempty"`
|
|
}
|
|
|
|
func (x *UnsubscribeRequest) Reset() {
|
|
*x = UnsubscribeRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[31]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *UnsubscribeRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*UnsubscribeRequest) ProtoMessage() {}
|
|
|
|
func (x *UnsubscribeRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[31]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use UnsubscribeRequest.ProtoReflect.Descriptor instead.
|
|
func (*UnsubscribeRequest) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{31}
|
|
}
|
|
|
|
func (x *UnsubscribeRequest) GetUris() [][]byte {
|
|
if x != nil {
|
|
return x.Uris
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type PlaylistModificationInfo struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uri []byte `protobuf:"bytes,1,opt,name=uri" json:"uri,omitempty"`
|
|
NewRevision []byte `protobuf:"bytes,2,opt,name=new_revision,json=newRevision" json:"new_revision,omitempty"`
|
|
ParentRevision []byte `protobuf:"bytes,3,opt,name=parent_revision,json=parentRevision" json:"parent_revision,omitempty"`
|
|
Ops []*Op `protobuf:"bytes,4,rep,name=ops" json:"ops,omitempty"`
|
|
}
|
|
|
|
func (x *PlaylistModificationInfo) Reset() {
|
|
*x = PlaylistModificationInfo{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[32]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PlaylistModificationInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PlaylistModificationInfo) ProtoMessage() {}
|
|
|
|
func (x *PlaylistModificationInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[32]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PlaylistModificationInfo.ProtoReflect.Descriptor instead.
|
|
func (*PlaylistModificationInfo) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{32}
|
|
}
|
|
|
|
func (x *PlaylistModificationInfo) GetUri() []byte {
|
|
if x != nil {
|
|
return x.Uri
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PlaylistModificationInfo) GetNewRevision() []byte {
|
|
if x != nil {
|
|
return x.NewRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PlaylistModificationInfo) GetParentRevision() []byte {
|
|
if x != nil {
|
|
return x.ParentRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PlaylistModificationInfo) GetOps() []*Op {
|
|
if x != nil {
|
|
return x.Ops
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type RootlistModificationInfo struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
NewRevision []byte `protobuf:"bytes,1,opt,name=new_revision,json=newRevision" json:"new_revision,omitempty"`
|
|
ParentRevision []byte `protobuf:"bytes,2,opt,name=parent_revision,json=parentRevision" json:"parent_revision,omitempty"`
|
|
Ops []*Op `protobuf:"bytes,3,rep,name=ops" json:"ops,omitempty"`
|
|
}
|
|
|
|
func (x *RootlistModificationInfo) Reset() {
|
|
*x = RootlistModificationInfo{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[33]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *RootlistModificationInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RootlistModificationInfo) ProtoMessage() {}
|
|
|
|
func (x *RootlistModificationInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[33]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RootlistModificationInfo.ProtoReflect.Descriptor instead.
|
|
func (*RootlistModificationInfo) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{33}
|
|
}
|
|
|
|
func (x *RootlistModificationInfo) GetNewRevision() []byte {
|
|
if x != nil {
|
|
return x.NewRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RootlistModificationInfo) GetParentRevision() []byte {
|
|
if x != nil {
|
|
return x.ParentRevision
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RootlistModificationInfo) GetOps() []*Op {
|
|
if x != nil {
|
|
return x.Ops
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type FollowerUpdate struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uri *string `protobuf:"bytes,1,opt,name=uri" json:"uri,omitempty"`
|
|
Username *string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"`
|
|
IsFollowing *bool `protobuf:"varint,3,opt,name=is_following,json=isFollowing" json:"is_following,omitempty"`
|
|
Timestamp *uint64 `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"`
|
|
}
|
|
|
|
func (x *FollowerUpdate) Reset() {
|
|
*x = FollowerUpdate{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_playlist4_external_proto_msgTypes[34]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *FollowerUpdate) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FollowerUpdate) ProtoMessage() {}
|
|
|
|
func (x *FollowerUpdate) ProtoReflect() protoreflect.Message {
|
|
mi := &file_playlist4_external_proto_msgTypes[34]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FollowerUpdate.ProtoReflect.Descriptor instead.
|
|
func (*FollowerUpdate) Descriptor() ([]byte, []int) {
|
|
return file_playlist4_external_proto_rawDescGZIP(), []int{34}
|
|
}
|
|
|
|
func (x *FollowerUpdate) GetUri() string {
|
|
if x != nil && x.Uri != nil {
|
|
return *x.Uri
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FollowerUpdate) GetUsername() string {
|
|
if x != nil && x.Username != nil {
|
|
return *x.Username
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FollowerUpdate) GetIsFollowing() bool {
|
|
if x != nil && x.IsFollowing != nil {
|
|
return *x.IsFollowing
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *FollowerUpdate) GetTimestamp() uint64 {
|
|
if x != nil && x.Timestamp != nil {
|
|
return *x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
var File_playlist4_external_proto protoreflect.FileDescriptor
|
|
|
|
var file_playlist4_external_proto_rawDesc = []byte{
|
|
0x0a, 0x18, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65,
|
|
0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x73, 0x70, 0x6f, 0x74,
|
|
0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x65,
|
|
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61,
|
|
0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20,
|
|
0x02, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x47, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72,
|
|
0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69,
|
|
0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
|
|
0x73, 0x22, 0xd9, 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a,
|
|
0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
|
|
0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0a, 0x61, 0x74,
|
|
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73,
|
|
0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74,
|
|
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
|
0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20,
|
|
0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74,
|
|
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
|
|
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x77, 0x6e,
|
|
0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
|
|
0x12, 0x36, 0x0a, 0x17, 0x61, 0x62, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
|
|
0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
|
|
0x08, 0x52, 0x15, 0x61, 0x62, 0x75, 0x73, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e,
|
|
0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61,
|
|
0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73,
|
|
0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52,
|
|
0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xb2, 0x01,
|
|
0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70,
|
|
0x6f, 0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1c, 0x0a,
|
|
0x09, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08,
|
|
0x52, 0x09, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x69,
|
|
0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
|
|
0x12, 0x40, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
|
|
0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
|
|
0x65, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x49, 0x74, 0x65,
|
|
0x6d, 0x73, 0x22, 0x3d, 0x0a, 0x13, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74,
|
|
0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
0x65, 0x22, 0x40, 0x0a, 0x0b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x53, 0x69, 0x7a, 0x65,
|
|
0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d,
|
|
0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
|
0x75, 0x72, 0x6c, 0x22, 0xaa, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72,
|
|
0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
|
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
|
|
0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70,
|
|
0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62,
|
|
0x6f, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63,
|
|
0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
|
|
0x70, 0x6c, 0x33, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x0a, 0x70, 0x6c, 0x33, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a,
|
|
0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6f, 0x77, 0x6e, 0x65,
|
|
0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
|
|
0x42, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e,
|
|
0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65,
|
|
0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0b,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x59, 0x0a, 0x11,
|
|
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
|
|
0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66,
|
|
0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72,
|
|
0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x41, 0x74, 0x74,
|
|
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x74, 0x75,
|
|
0x72, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74,
|
|
0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x53,
|
|
0x69, 0x7a, 0x65, 0x52, 0x0b, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x53, 0x69, 0x7a, 0x65,
|
|
0x22, 0xee, 0x01, 0x0a, 0x0e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
|
0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1c,
|
|
0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, 0x07,
|
|
0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73,
|
|
0x65, 0x65, 0x6e, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18,
|
|
0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x59, 0x0a,
|
|
0x11, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
|
|
0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69,
|
|
0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74,
|
|
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x41, 0x74,
|
|
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d,
|
|
0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49,
|
|
0x64, 0x22, 0x91, 0x01, 0x0a, 0x03, 0x41, 0x64, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x6f,
|
|
0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66,
|
|
0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d,
|
|
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66,
|
|
0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x19, 0x0a,
|
|
0x08, 0x61, 0x64, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x07, 0x61, 0x64, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f,
|
|
0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x64, 0x64,
|
|
0x46, 0x69, 0x72, 0x73, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x03, 0x52, 0x65, 0x6d, 0x12, 0x1d, 0x0a,
|
|
0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x05, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06,
|
|
0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65,
|
|
0x6e, 0x67, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c,
|
|
0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74,
|
|
0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65,
|
|
0x6d, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x0a, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x41, 0x73, 0x4b, 0x65, 0x79, 0x22, 0x57, 0x0a, 0x03, 0x4d,
|
|
0x6f, 0x76, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
|
0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x64, 0x65,
|
|
0x78, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x02, 0x28,
|
|
0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x5f,
|
|
0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x02, 0x28, 0x05, 0x52, 0x07, 0x74, 0x6f, 0x49,
|
|
0x6e, 0x64, 0x65, 0x78, 0x22, 0xa4, 0x01, 0x0a, 0x1a, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74,
|
|
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74,
|
|
0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20,
|
|
0x02, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c,
|
|
0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74,
|
|
0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x06, 0x76, 0x61,
|
|
0x6c, 0x75, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x08, 0x6e, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x2e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x69,
|
|
0x6e, 0x64, 0x52, 0x07, 0x6e, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x1a,
|
|
0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x50, 0x61,
|
|
0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x76, 0x61,
|
|
0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
|
0x74, 0x65, 0x73, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x08, 0x6e,
|
|
0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74,
|
|
0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72,
|
|
0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x07, 0x6e, 0x6f, 0x56, 0x61, 0x6c,
|
|
0x75, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65,
|
|
0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69,
|
|
0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65,
|
|
0x78, 0x12, 0x5a, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
|
0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x6f, 0x74,
|
|
0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
|
|
0x65, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d,
|
|
0x6e, 0x65, 0x77, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5a, 0x0a,
|
|
0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18,
|
|
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x50, 0x61,
|
|
0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x41,
|
|
0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x14, 0x55, 0x70,
|
|
0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
|
|
0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
|
|
0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
|
0x74, 0x65, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
|
|
0x0d, 0x6e, 0x65, 0x77, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5a,
|
|
0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x50,
|
|
0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x6f, 0x6c, 0x64,
|
|
0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x81, 0x04, 0x0a, 0x02, 0x4f,
|
|
0x70, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32,
|
|
0x20, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69,
|
|
0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x2e, 0x4b, 0x69, 0x6e,
|
|
0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x61, 0x64, 0x64, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
|
|
0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
|
|
0x64, 0x64, 0x52, 0x03, 0x61, 0x64, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x65, 0x6d, 0x18, 0x03,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
|
|
0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
|
|
0x65, 0x6d, 0x52, 0x03, 0x72, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x6f, 0x76, 0x18, 0x04,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
|
|
0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
|
|
0x6f, 0x76, 0x52, 0x03, 0x6d, 0x6f, 0x76, 0x12, 0x63, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74,
|
|
0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
|
|
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66,
|
|
0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x74, 0x74, 0x72,
|
|
0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x74,
|
|
0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x16,
|
|
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72,
|
|
0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73,
|
|
0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x14, 0x75, 0x70, 0x64,
|
|
0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
|
|
0x73, 0x22, 0x6b, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x0c, 0x4b, 0x49, 0x4e,
|
|
0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41,
|
|
0x44, 0x44, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x45, 0x4d, 0x10, 0x03, 0x12, 0x07, 0x0a,
|
|
0x03, 0x4d, 0x4f, 0x56, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45,
|
|
0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53,
|
|
0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x53,
|
|
0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x10, 0x06, 0x22, 0x37,
|
|
0x0a, 0x06, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18,
|
|
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
0x4f, 0x70, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x22, 0xa8, 0x02, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e,
|
|
0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
|
|
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74,
|
|
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69,
|
|
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x12,
|
|
0x0a, 0x04, 0x75, 0x6e, 0x64, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x6e,
|
|
0x64, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x64, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
|
|
0x52, 0x04, 0x72, 0x65, 0x64, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x18,
|
|
0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
|
|
0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
|
|
0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09,
|
|
0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x09, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x70,
|
|
0x6c, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x70,
|
|
0x6c, 0x69, 0x74, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
|
|
0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72,
|
|
0x63, 0x65, 0x22, 0x86, 0x02, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66,
|
|
0x6f, 0x12, 0x42, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79,
|
|
0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x6f, 0x75, 0x72,
|
|
0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63,
|
|
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
|
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
|
|
0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x06, 0x43, 0x6c, 0x69,
|
|
0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e,
|
|
0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x41, 0x54, 0x49, 0x56,
|
|
0x45, 0x5f, 0x48, 0x45, 0x52, 0x4d, 0x45, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c,
|
|
0x49, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x59, 0x54, 0x48, 0x4f, 0x4e,
|
|
0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x41, 0x56, 0x41, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09,
|
|
0x57, 0x45, 0x42, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x4c,
|
|
0x49, 0x42, 0x53, 0x50, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x10, 0x06, 0x22, 0x92, 0x01, 0x0a, 0x05,
|
|
0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x65,
|
|
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x61, 0x73,
|
|
0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18,
|
|
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
0x4f, 0x70, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18,
|
|
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f,
|
|
0x22, 0x7b, 0x0a, 0x04, 0x44, 0x69, 0x66, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d,
|
|
0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0c, 0x52,
|
|
0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a,
|
|
0x03, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
|
|
0x74, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x02, 0x28,
|
|
0x0c, 0x52, 0x0a, 0x74, 0x6f, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x01,
|
|
0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x23, 0x0a,
|
|
0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69,
|
|
0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61,
|
|
0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x6c,
|
|
0x74, 0x61, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x77, 0x61,
|
|
0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x76,
|
|
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x77, 0x61,
|
|
0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x76, 0x69, 0x73,
|
|
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6e,
|
|
0x63, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
|
|
0x77, 0x61, 0x6e, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16,
|
|
0x0a, 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06,
|
|
0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xf0, 0x05, 0x0a, 0x13, 0x53, 0x65, 0x6c, 0x65, 0x63,
|
|
0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a,
|
|
0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
|
|
0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65,
|
|
0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67,
|
|
0x74, 0x68, 0x12, 0x47, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
|
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52,
|
|
0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x63,
|
|
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74,
|
|
0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d,
|
|
0x73, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x64,
|
|
0x69, 0x66, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f, 0x74,
|
|
0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x04, 0x64, 0x69, 0x66, 0x66, 0x12, 0x3e,
|
|
0x0a, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c,
|
|
0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69,
|
|
0x66, 0x66, 0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2f,
|
|
0x0a, 0x13, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x76, 0x69,
|
|
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x12, 0x72, 0x65, 0x73,
|
|
0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12,
|
|
0x25, 0x0a, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64,
|
|
0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c,
|
|
0x65, 0x48, 0x65, 0x61, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x75, 0x70, 0x5f, 0x74, 0x6f, 0x5f,
|
|
0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x75, 0x70, 0x54, 0x6f,
|
|
0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x0e,
|
|
0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09,
|
|
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52,
|
|
0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x77,
|
|
0x6e, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x62, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72,
|
|
0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01,
|
|
0x28, 0x08, 0x52, 0x15, 0x61, 0x62, 0x75, 0x73, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69,
|
|
0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x0c, 0x63, 0x61, 0x70,
|
|
0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x2f, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69,
|
|
0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
|
|
0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x49,
|
|
0x0a, 0x08, 0x67, 0x65, 0x6f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0e,
|
|
0x32, 0x2d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c,
|
|
0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x6f, 0x62, 0x6c,
|
|
0x6f, 0x63, 0x6b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52,
|
|
0x08, 0x67, 0x65, 0x6f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x3f, 0x0a, 0x0f, 0x43, 0x72, 0x65,
|
|
0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
|
0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1a,
|
|
0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
|
|
0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x14, 0x50, 0x6c,
|
|
0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x31, 0x55, 0x72, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x32, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20,
|
|
0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x32, 0x55, 0x72, 0x69, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x12,
|
|
0x50, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x31, 0x55, 0x72, 0x69, 0x52, 0x65, 0x70,
|
|
0x6c, 0x79, 0x12, 0x65, 0x0a, 0x10, 0x76, 0x32, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x74, 0x6f, 0x5f,
|
|
0x76, 0x31, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x56,
|
|
0x31, 0x55, 0x72, 0x69, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x56, 0x32, 0x55, 0x72, 0x69, 0x54,
|
|
0x6f, 0x56, 0x31, 0x55, 0x72, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x76, 0x32, 0x55,
|
|
0x72, 0x69, 0x54, 0x6f, 0x56, 0x31, 0x55, 0x72, 0x69, 0x1a, 0x3f, 0x0a, 0x11, 0x56, 0x32, 0x55,
|
|
0x72, 0x69, 0x54, 0x6f, 0x56, 0x31, 0x55, 0x72, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
|
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
|
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xef, 0x01, 0x0a, 0x11, 0x4c,
|
|
0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
|
0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
|
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x76,
|
|
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
|
0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x6f, 0x74,
|
|
0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
|
|
0x65, 0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x33,
|
|
0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74,
|
|
0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74,
|
|
0x65, 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79,
|
|
0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e,
|
|
0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x41, 0x0a, 0x1c,
|
|
0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74,
|
|
0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c,
|
|
0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x0b, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
|
|
0x39, 0x0a, 0x1d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x6c,
|
|
0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
|
0x12, 0x18, 0x0a, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x0c, 0x52, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x42, 0x0a, 0x1c, 0x52, 0x65,
|
|
0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a,
|
|
0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
|
|
0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x10, 0x0a, 0x03,
|
|
0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0x83,
|
|
0x01, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x72, 0x69, 0x52, 0x65,
|
|
0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64,
|
|
0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x6c,
|
|
0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x50, 0x65, 0x72,
|
|
0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73,
|
|
0x74, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x6c,
|
|
0x69, 0x73, 0x74, 0x73, 0x22, 0x26, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62,
|
|
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73,
|
|
0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x72, 0x69, 0x73, 0x22, 0x28, 0x0a, 0x12,
|
|
0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c,
|
|
0x52, 0x04, 0x75, 0x72, 0x69, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x6c,
|
|
0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
|
|
0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
|
|
0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x76,
|
|
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6e, 0x65, 0x77,
|
|
0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65,
|
|
0x6e, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x0c, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
|
|
0x6e, 0x12, 0x2d, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73,
|
|
0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x52, 0x03, 0x6f, 0x70, 0x73,
|
|
0x22, 0x95, 0x01, 0x0a, 0x18, 0x52, 0x6f, 0x6f, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64,
|
|
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a,
|
|
0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
|
0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73,
|
|
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e,
|
|
0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x03, 0x6f, 0x70, 0x73,
|
|
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x2e, 0x4f, 0x70, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x22, 0x7f, 0x0a, 0x0e, 0x46, 0x6f, 0x6c, 0x6c,
|
|
0x6f, 0x77, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
|
|
0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08,
|
|
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
|
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66,
|
|
0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
|
|
0x69, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74,
|
|
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
|
|
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2a, 0xfd, 0x01, 0x0a, 0x11, 0x4c, 0x69,
|
|
0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12,
|
|
0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
|
|
0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01,
|
|
0x12, 0x14, 0x0a, 0x10, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50,
|
|
0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x50,
|
|
0x49, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, 0x53, 0x54,
|
|
0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x42, 0x4f, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04,
|
|
0x12, 0x14, 0x0a, 0x10, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x50, 0x4c, 0x33, 0x5f, 0x56, 0x45, 0x52,
|
|
0x53, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x44,
|
|
0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10,
|
|
0x06, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54,
|
|
0x5f, 0x49, 0x44, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x4f,
|
|
0x52, 0x4d, 0x41, 0x54, 0x10, 0x0b, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46,
|
|
0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53,
|
|
0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x50, 0x49, 0x43, 0x54, 0x55,
|
|
0x52, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x0d, 0x2a, 0x98, 0x01, 0x0a, 0x11, 0x49, 0x74,
|
|
0x65, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12,
|
|
0x10, 0x0a, 0x0c, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
|
|
0x00, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x5f,
|
|
0x42, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x54, 0x49, 0x4d,
|
|
0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x54, 0x45, 0x4d,
|
|
0x5f, 0x53, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x54, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x54,
|
|
0x45, 0x4d, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x49,
|
|
0x54, 0x45, 0x4d, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49,
|
|
0x42, 0x55, 0x54, 0x45, 0x53, 0x10, 0x0b, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x54, 0x45, 0x4d, 0x5f,
|
|
0x49, 0x44, 0x10, 0x0c, 0x2a, 0xaa, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x6f, 0x62, 0x6c, 0x6f, 0x63,
|
|
0x6b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a,
|
|
0x22, 0x47, 0x45, 0x4f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x49,
|
|
0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
|
|
0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x45, 0x4f, 0x42, 0x4c, 0x4f, 0x43,
|
|
0x4b, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
|
|
0x54, 0x49, 0x54, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x45, 0x4f, 0x42, 0x4c,
|
|
0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50,
|
|
0x45, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12,
|
|
0x20, 0x0a, 0x1c, 0x47, 0x45, 0x4f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x42, 0x4c, 0x4f, 0x43,
|
|
0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10,
|
|
0x03, 0x42, 0x55, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x42, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x34, 0x41, 0x70, 0x69, 0x50, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x48, 0x02, 0x5a, 0x21, 0x74, 0x75, 0x78, 0x70, 0x61, 0x2e, 0x69, 0x6e, 0x2f,
|
|
0x61, 0x2f, 0x67, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x64, 0x2f, 0x6c, 0x69, 0x62, 0x2f, 0x73, 0x70,
|
|
0x6f, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
}
|
|
|
|
var (
|
|
file_playlist4_external_proto_rawDescOnce sync.Once
|
|
file_playlist4_external_proto_rawDescData = file_playlist4_external_proto_rawDesc
|
|
)
|
|
|
|
func file_playlist4_external_proto_rawDescGZIP() []byte {
|
|
file_playlist4_external_proto_rawDescOnce.Do(func() {
|
|
file_playlist4_external_proto_rawDescData = protoimpl.X.CompressGZIP(file_playlist4_external_proto_rawDescData)
|
|
})
|
|
return file_playlist4_external_proto_rawDescData
|
|
}
|
|
|
|
var file_playlist4_external_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
|
|
var file_playlist4_external_proto_msgTypes = make([]protoimpl.MessageInfo, 36)
|
|
var file_playlist4_external_proto_goTypes = []interface{}{
|
|
(ListAttributeKind)(0), // 0: spotify.playlist4.proto.ListAttributeKind
|
|
(ItemAttributeKind)(0), // 1: spotify.playlist4.proto.ItemAttributeKind
|
|
(GeoblockBlockingType)(0), // 2: spotify.playlist4.proto.GeoblockBlockingType
|
|
(Op_Kind)(0), // 3: spotify.playlist4.proto.Op.Kind
|
|
(SourceInfo_Client)(0), // 4: spotify.playlist4.proto.SourceInfo.Client
|
|
(*Item)(nil), // 5: spotify.playlist4.proto.Item
|
|
(*MetaItem)(nil), // 6: spotify.playlist4.proto.MetaItem
|
|
(*ListItems)(nil), // 7: spotify.playlist4.proto.ListItems
|
|
(*FormatListAttribute)(nil), // 8: spotify.playlist4.proto.FormatListAttribute
|
|
(*PictureSize)(nil), // 9: spotify.playlist4.proto.PictureSize
|
|
(*ListAttributes)(nil), // 10: spotify.playlist4.proto.ListAttributes
|
|
(*ItemAttributes)(nil), // 11: spotify.playlist4.proto.ItemAttributes
|
|
(*Add)(nil), // 12: spotify.playlist4.proto.Add
|
|
(*Rem)(nil), // 13: spotify.playlist4.proto.Rem
|
|
(*Mov)(nil), // 14: spotify.playlist4.proto.Mov
|
|
(*ItemAttributesPartialState)(nil), // 15: spotify.playlist4.proto.ItemAttributesPartialState
|
|
(*ListAttributesPartialState)(nil), // 16: spotify.playlist4.proto.ListAttributesPartialState
|
|
(*UpdateItemAttributes)(nil), // 17: spotify.playlist4.proto.UpdateItemAttributes
|
|
(*UpdateListAttributes)(nil), // 18: spotify.playlist4.proto.UpdateListAttributes
|
|
(*Op)(nil), // 19: spotify.playlist4.proto.Op
|
|
(*OpList)(nil), // 20: spotify.playlist4.proto.OpList
|
|
(*ChangeInfo)(nil), // 21: spotify.playlist4.proto.ChangeInfo
|
|
(*SourceInfo)(nil), // 22: spotify.playlist4.proto.SourceInfo
|
|
(*Delta)(nil), // 23: spotify.playlist4.proto.Delta
|
|
(*Diff)(nil), // 24: spotify.playlist4.proto.Diff
|
|
(*ListChanges)(nil), // 25: spotify.playlist4.proto.ListChanges
|
|
(*SelectedListContent)(nil), // 26: spotify.playlist4.proto.SelectedListContent
|
|
(*CreateListReply)(nil), // 27: spotify.playlist4.proto.CreateListReply
|
|
(*PlaylistV1UriRequest)(nil), // 28: spotify.playlist4.proto.PlaylistV1UriRequest
|
|
(*PlaylistV1UriReply)(nil), // 29: spotify.playlist4.proto.PlaylistV1UriReply
|
|
(*ListUpdateRequest)(nil), // 30: spotify.playlist4.proto.ListUpdateRequest
|
|
(*RegisterPlaylistImageRequest)(nil), // 31: spotify.playlist4.proto.RegisterPlaylistImageRequest
|
|
(*RegisterPlaylistImageResponse)(nil), // 32: spotify.playlist4.proto.RegisterPlaylistImageResponse
|
|
(*ResolvedPersonalizedPlaylist)(nil), // 33: spotify.playlist4.proto.ResolvedPersonalizedPlaylist
|
|
(*PlaylistUriResolverResponse)(nil), // 34: spotify.playlist4.proto.PlaylistUriResolverResponse
|
|
(*SubscribeRequest)(nil), // 35: spotify.playlist4.proto.SubscribeRequest
|
|
(*UnsubscribeRequest)(nil), // 36: spotify.playlist4.proto.UnsubscribeRequest
|
|
(*PlaylistModificationInfo)(nil), // 37: spotify.playlist4.proto.PlaylistModificationInfo
|
|
(*RootlistModificationInfo)(nil), // 38: spotify.playlist4.proto.RootlistModificationInfo
|
|
(*FollowerUpdate)(nil), // 39: spotify.playlist4.proto.FollowerUpdate
|
|
nil, // 40: spotify.playlist4.proto.PlaylistV1UriReply.V2UriToV1UriEntry
|
|
(*Capabilities)(nil), // 41: spotify.playlist_permission.proto.Capabilities
|
|
}
|
|
var file_playlist4_external_proto_depIdxs = []int32{
|
|
11, // 0: spotify.playlist4.proto.Item.attributes:type_name -> spotify.playlist4.proto.ItemAttributes
|
|
10, // 1: spotify.playlist4.proto.MetaItem.attributes:type_name -> spotify.playlist4.proto.ListAttributes
|
|
41, // 2: spotify.playlist4.proto.MetaItem.capabilities:type_name -> spotify.playlist_permission.proto.Capabilities
|
|
5, // 3: spotify.playlist4.proto.ListItems.items:type_name -> spotify.playlist4.proto.Item
|
|
6, // 4: spotify.playlist4.proto.ListItems.meta_items:type_name -> spotify.playlist4.proto.MetaItem
|
|
8, // 5: spotify.playlist4.proto.ListAttributes.format_attributes:type_name -> spotify.playlist4.proto.FormatListAttribute
|
|
9, // 6: spotify.playlist4.proto.ListAttributes.picture_size:type_name -> spotify.playlist4.proto.PictureSize
|
|
8, // 7: spotify.playlist4.proto.ItemAttributes.format_attributes:type_name -> spotify.playlist4.proto.FormatListAttribute
|
|
5, // 8: spotify.playlist4.proto.Add.items:type_name -> spotify.playlist4.proto.Item
|
|
5, // 9: spotify.playlist4.proto.Rem.items:type_name -> spotify.playlist4.proto.Item
|
|
11, // 10: spotify.playlist4.proto.ItemAttributesPartialState.values:type_name -> spotify.playlist4.proto.ItemAttributes
|
|
1, // 11: spotify.playlist4.proto.ItemAttributesPartialState.no_value:type_name -> spotify.playlist4.proto.ItemAttributeKind
|
|
10, // 12: spotify.playlist4.proto.ListAttributesPartialState.values:type_name -> spotify.playlist4.proto.ListAttributes
|
|
0, // 13: spotify.playlist4.proto.ListAttributesPartialState.no_value:type_name -> spotify.playlist4.proto.ListAttributeKind
|
|
15, // 14: spotify.playlist4.proto.UpdateItemAttributes.new_attributes:type_name -> spotify.playlist4.proto.ItemAttributesPartialState
|
|
15, // 15: spotify.playlist4.proto.UpdateItemAttributes.old_attributes:type_name -> spotify.playlist4.proto.ItemAttributesPartialState
|
|
16, // 16: spotify.playlist4.proto.UpdateListAttributes.new_attributes:type_name -> spotify.playlist4.proto.ListAttributesPartialState
|
|
16, // 17: spotify.playlist4.proto.UpdateListAttributes.old_attributes:type_name -> spotify.playlist4.proto.ListAttributesPartialState
|
|
3, // 18: spotify.playlist4.proto.Op.kind:type_name -> spotify.playlist4.proto.Op.Kind
|
|
12, // 19: spotify.playlist4.proto.Op.add:type_name -> spotify.playlist4.proto.Add
|
|
13, // 20: spotify.playlist4.proto.Op.rem:type_name -> spotify.playlist4.proto.Rem
|
|
14, // 21: spotify.playlist4.proto.Op.mov:type_name -> spotify.playlist4.proto.Mov
|
|
17, // 22: spotify.playlist4.proto.Op.update_item_attributes:type_name -> spotify.playlist4.proto.UpdateItemAttributes
|
|
18, // 23: spotify.playlist4.proto.Op.update_list_attributes:type_name -> spotify.playlist4.proto.UpdateListAttributes
|
|
19, // 24: spotify.playlist4.proto.OpList.ops:type_name -> spotify.playlist4.proto.Op
|
|
22, // 25: spotify.playlist4.proto.ChangeInfo.source:type_name -> spotify.playlist4.proto.SourceInfo
|
|
4, // 26: spotify.playlist4.proto.SourceInfo.client:type_name -> spotify.playlist4.proto.SourceInfo.Client
|
|
19, // 27: spotify.playlist4.proto.Delta.ops:type_name -> spotify.playlist4.proto.Op
|
|
21, // 28: spotify.playlist4.proto.Delta.info:type_name -> spotify.playlist4.proto.ChangeInfo
|
|
19, // 29: spotify.playlist4.proto.Diff.ops:type_name -> spotify.playlist4.proto.Op
|
|
23, // 30: spotify.playlist4.proto.ListChanges.deltas:type_name -> spotify.playlist4.proto.Delta
|
|
10, // 31: spotify.playlist4.proto.SelectedListContent.attributes:type_name -> spotify.playlist4.proto.ListAttributes
|
|
7, // 32: spotify.playlist4.proto.SelectedListContent.contents:type_name -> spotify.playlist4.proto.ListItems
|
|
24, // 33: spotify.playlist4.proto.SelectedListContent.diff:type_name -> spotify.playlist4.proto.Diff
|
|
24, // 34: spotify.playlist4.proto.SelectedListContent.sync_result:type_name -> spotify.playlist4.proto.Diff
|
|
41, // 35: spotify.playlist4.proto.SelectedListContent.capabilities:type_name -> spotify.playlist_permission.proto.Capabilities
|
|
2, // 36: spotify.playlist4.proto.SelectedListContent.geoblock:type_name -> spotify.playlist4.proto.GeoblockBlockingType
|
|
40, // 37: spotify.playlist4.proto.PlaylistV1UriReply.v2_uri_to_v1_uri:type_name -> spotify.playlist4.proto.PlaylistV1UriReply.V2UriToV1UriEntry
|
|
10, // 38: spotify.playlist4.proto.ListUpdateRequest.attributes:type_name -> spotify.playlist4.proto.ListAttributes
|
|
5, // 39: spotify.playlist4.proto.ListUpdateRequest.items:type_name -> spotify.playlist4.proto.Item
|
|
21, // 40: spotify.playlist4.proto.ListUpdateRequest.info:type_name -> spotify.playlist4.proto.ChangeInfo
|
|
33, // 41: spotify.playlist4.proto.PlaylistUriResolverResponse.resolved_playlists:type_name -> spotify.playlist4.proto.ResolvedPersonalizedPlaylist
|
|
19, // 42: spotify.playlist4.proto.PlaylistModificationInfo.ops:type_name -> spotify.playlist4.proto.Op
|
|
19, // 43: spotify.playlist4.proto.RootlistModificationInfo.ops:type_name -> spotify.playlist4.proto.Op
|
|
44, // [44:44] is the sub-list for method output_type
|
|
44, // [44:44] is the sub-list for method input_type
|
|
44, // [44:44] is the sub-list for extension type_name
|
|
44, // [44:44] is the sub-list for extension extendee
|
|
0, // [0:44] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_playlist4_external_proto_init() }
|
|
func file_playlist4_external_proto_init() {
|
|
if File_playlist4_external_proto != nil {
|
|
return
|
|
}
|
|
file_playlist_permission_proto_init()
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_playlist4_external_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Item); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*MetaItem); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListItems); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*FormatListAttribute); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PictureSize); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListAttributes); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ItemAttributes); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Add); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Rem); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Mov); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ItemAttributesPartialState); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListAttributesPartialState); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*UpdateItemAttributes); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*UpdateListAttributes); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Op); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*OpList); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ChangeInfo); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SourceInfo); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Delta); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Diff); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListChanges); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SelectedListContent); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*CreateListReply); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PlaylistV1UriRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PlaylistV1UriReply); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ListUpdateRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*RegisterPlaylistImageRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*RegisterPlaylistImageResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ResolvedPersonalizedPlaylist); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PlaylistUriResolverResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SubscribeRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*UnsubscribeRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PlaylistModificationInfo); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*RootlistModificationInfo); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_playlist4_external_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*FollowerUpdate); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_playlist4_external_proto_rawDesc,
|
|
NumEnums: 5,
|
|
NumMessages: 36,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_playlist4_external_proto_goTypes,
|
|
DependencyIndexes: file_playlist4_external_proto_depIdxs,
|
|
EnumInfos: file_playlist4_external_proto_enumTypes,
|
|
MessageInfos: file_playlist4_external_proto_msgTypes,
|
|
}.Build()
|
|
File_playlist4_external_proto = out.File
|
|
file_playlist4_external_proto_rawDesc = nil
|
|
file_playlist4_external_proto_goTypes = nil
|
|
file_playlist4_external_proto_depIdxs = nil
|
|
}
|