// Code generated by protoc-gen-go.
// source: ad-hermes-proxy.proto
// DO NOT EDIT!

/*
Package Spotify is a generated protocol buffer package.

It is generated from these files:
	ad-hermes-proxy.proto
	appstore.proto
	authentication.proto
	facebook-publish.proto
	keyexchange.proto
	mercury.proto
	mergedprofile.proto
	metadata.proto
	playlist4changes.proto
	playlist4content.proto
	playlist4issues.proto
	playlist4meta.proto
	playlist4ops.proto
	popcount.proto
	pubsub.proto
	radio.proto
	search.proto
	social.proto
	spirc.proto
	toplist.proto

It has these top-level messages:
	Rule
	AdRequest
	AdQueueResponse
	AdFile
	AdQueueEntry
	AppInfo
	AppInfoList
	SemanticVersion
	RequestHeader
	AppItem
	AppList
	IdentifierList
	BannerConfig
	ClientResponseEncrypted
	LoginCredentials
	FingerprintResponseUnion
	FingerprintGrainResponse
	FingerprintHmacRipemdResponse
	PeerTicketUnion
	PeerTicketPublicKey
	PeerTicketOld
	SystemInfo
	LibspotifyAppKey
	ClientInfo
	ClientInfoFacebook
	APWelcome
	AccountInfo
	AccountInfoSpotify
	AccountInfoFacebook
	EventReply
	RetryInfo
	Id
	Start
	Seek
	Pause
	Resume
	End
	Event
	ClientHello
	BuildInfo
	LoginCryptoHelloUnion
	LoginCryptoDiffieHellmanHello
	FeatureSet
	APResponseMessage
	APChallenge
	LoginCryptoChallengeUnion
	LoginCryptoDiffieHellmanChallenge
	FingerprintChallengeUnion
	FingerprintGrainChallenge
	FingerprintHmacRipemdChallenge
	PoWChallengeUnion
	PoWHashCashChallenge
	CryptoChallengeUnion
	CryptoShannonChallenge
	CryptoRc4Sha1HmacChallenge
	UpgradeRequiredMessage
	APLoginFailed
	ClientResponsePlaintext
	LoginCryptoResponseUnion
	LoginCryptoDiffieHellmanResponse
	PoWResponseUnion
	PoWHashCashResponse
	CryptoResponseUnion
	CryptoShannonResponse
	CryptoRc4Sha1HmacResponse
	MercuryMultiGetRequest
	MercuryMultiGetReply
	MercuryRequest
	MercuryReply
	Header
	UserField
	MergedProfileRequest
	MergedProfileReply
	TopTracks
	ActivityPeriod
	Artist
	AlbumGroup
	Date
	Album
	Track
	Image
	ImageGroup
	Biography
	Disc
	Copyright
	Restriction
	SalePeriod
	ExternalId
	AudioFile
	ChangeInfo
	Delta
	Merge
	ChangeSet
	RevisionTaggedChangeSet
	Diff
	ListDump
	ListChanges
	SelectedListContent
	Item
	ListItems
	ContentRange
	ListContentSelection
	ClientIssue
	ClientResolveAction
	ListChecksum
	DownloadFormat
	ListAttributes
	ItemAttributes
	StringAttribute
	StringAttributes
	Add
	Rem
	Mov
	ItemAttributesPartialState
	ListAttributesPartialState
	UpdateItemAttributes
	UpdateListAttributes
	Op
	OpList
	PopcountRequest
	PopcountResult
	Subscription
	RadioRequest
	MultiSeedRequest
	Feedback
	Tracks
	Station
	Rules
	StationResponse
	StationList
	LikedPlaylist
	SearchRequest
	Playlist
	User
	SearchReply
	DecorationData
	Frame
	DeviceState
	Capability
	Goodbye
	State
	TrackRef
	Ad
	Toplist
*/
package Spotify

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type Rule struct {
	Type             *string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
	Times            *uint32 `protobuf:"varint,2,opt,name=times" json:"times,omitempty"`
	Interval         *uint64 `protobuf:"varint,3,opt,name=interval" json:"interval,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *Rule) Reset()                    { *m = Rule{} }
func (m *Rule) String() string            { return proto.CompactTextString(m) }
func (*Rule) ProtoMessage()               {}
func (*Rule) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *Rule) GetType() string {
	if m != nil && m.Type != nil {
		return *m.Type
	}
	return ""
}

func (m *Rule) GetTimes() uint32 {
	if m != nil && m.Times != nil {
		return *m.Times
	}
	return 0
}

func (m *Rule) GetInterval() uint64 {
	if m != nil && m.Interval != nil {
		return *m.Interval
	}
	return 0
}

type AdRequest struct {
	ClientLanguage   *string  `protobuf:"bytes,1,opt,name=client_language,json=clientLanguage" json:"client_language,omitempty"`
	Product          *string  `protobuf:"bytes,2,opt,name=product" json:"product,omitempty"`
	Version          *uint32  `protobuf:"varint,3,opt,name=version" json:"version,omitempty"`
	Type             *string  `protobuf:"bytes,4,opt,name=type" json:"type,omitempty"`
	AvoidAds         []string `protobuf:"bytes,5,rep,name=avoidAds" json:"avoidAds,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *AdRequest) Reset()                    { *m = AdRequest{} }
func (m *AdRequest) String() string            { return proto.CompactTextString(m) }
func (*AdRequest) ProtoMessage()               {}
func (*AdRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *AdRequest) GetClientLanguage() string {
	if m != nil && m.ClientLanguage != nil {
		return *m.ClientLanguage
	}
	return ""
}

func (m *AdRequest) GetProduct() string {
	if m != nil && m.Product != nil {
		return *m.Product
	}
	return ""
}

func (m *AdRequest) GetVersion() uint32 {
	if m != nil && m.Version != nil {
		return *m.Version
	}
	return 0
}

func (m *AdRequest) GetType() string {
	if m != nil && m.Type != nil {
		return *m.Type
	}
	return ""
}

func (m *AdRequest) GetAvoidAds() []string {
	if m != nil {
		return m.AvoidAds
	}
	return nil
}

type AdQueueResponse struct {
	AdQueueEntry     []*AdQueueEntry `protobuf:"bytes,1,rep,name=adQueueEntry" json:"adQueueEntry,omitempty"`
	XXX_unrecognized []byte          `json:"-"`
}

func (m *AdQueueResponse) Reset()                    { *m = AdQueueResponse{} }
func (m *AdQueueResponse) String() string            { return proto.CompactTextString(m) }
func (*AdQueueResponse) ProtoMessage()               {}
func (*AdQueueResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *AdQueueResponse) GetAdQueueEntry() []*AdQueueEntry {
	if m != nil {
		return m.AdQueueEntry
	}
	return nil
}

type AdFile struct {
	Id               *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Format           *string `protobuf:"bytes,2,opt,name=format" json:"format,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *AdFile) Reset()                    { *m = AdFile{} }
func (m *AdFile) String() string            { return proto.CompactTextString(m) }
func (*AdFile) ProtoMessage()               {}
func (*AdFile) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *AdFile) GetId() string {
	if m != nil && m.Id != nil {
		return *m.Id
	}
	return ""
}

func (m *AdFile) GetFormat() string {
	if m != nil && m.Format != nil {
		return *m.Format
	}
	return ""
}

type AdQueueEntry struct {
	StartTime        *uint64   `protobuf:"varint,1,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
	EndTime          *uint64   `protobuf:"varint,2,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
	Priority         *float64  `protobuf:"fixed64,3,opt,name=priority" json:"priority,omitempty"`
	Token            *string   `protobuf:"bytes,4,opt,name=token" json:"token,omitempty"`
	AdVersion        *uint32   `protobuf:"varint,5,opt,name=ad_version,json=adVersion" json:"ad_version,omitempty"`
	Id               *string   `protobuf:"bytes,6,opt,name=id" json:"id,omitempty"`
	Type             *string   `protobuf:"bytes,7,opt,name=type" json:"type,omitempty"`
	Campaign         *string   `protobuf:"bytes,8,opt,name=campaign" json:"campaign,omitempty"`
	Advertiser       *string   `protobuf:"bytes,9,opt,name=advertiser" json:"advertiser,omitempty"`
	Url              *string   `protobuf:"bytes,10,opt,name=url" json:"url,omitempty"`
	Duration         *uint64   `protobuf:"varint,11,opt,name=duration" json:"duration,omitempty"`
	Expiry           *uint64   `protobuf:"varint,12,opt,name=expiry" json:"expiry,omitempty"`
	TrackingUrl      *string   `protobuf:"bytes,13,opt,name=tracking_url,json=trackingUrl" json:"tracking_url,omitempty"`
	BannerType       *string   `protobuf:"bytes,14,opt,name=banner_type,json=bannerType" json:"banner_type,omitempty"`
	Html             *string   `protobuf:"bytes,15,opt,name=html" json:"html,omitempty"`
	Image            *string   `protobuf:"bytes,16,opt,name=image" json:"image,omitempty"`
	BackgroundImage  *string   `protobuf:"bytes,17,opt,name=background_image,json=backgroundImage" json:"background_image,omitempty"`
	BackgroundUrl    *string   `protobuf:"bytes,18,opt,name=background_url,json=backgroundUrl" json:"background_url,omitempty"`
	BackgroundColor  *string   `protobuf:"bytes,19,opt,name=background_color,json=backgroundColor" json:"background_color,omitempty"`
	Title            *string   `protobuf:"bytes,20,opt,name=title" json:"title,omitempty"`
	Caption          *string   `protobuf:"bytes,21,opt,name=caption" json:"caption,omitempty"`
	File             []*AdFile `protobuf:"bytes,22,rep,name=file" json:"file,omitempty"`
	Rule             []*Rule   `protobuf:"bytes,23,rep,name=rule" json:"rule,omitempty"`
	XXX_unrecognized []byte    `json:"-"`
}

func (m *AdQueueEntry) Reset()                    { *m = AdQueueEntry{} }
func (m *AdQueueEntry) String() string            { return proto.CompactTextString(m) }
func (*AdQueueEntry) ProtoMessage()               {}
func (*AdQueueEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *AdQueueEntry) GetStartTime() uint64 {
	if m != nil && m.StartTime != nil {
		return *m.StartTime
	}
	return 0
}

func (m *AdQueueEntry) GetEndTime() uint64 {
	if m != nil && m.EndTime != nil {
		return *m.EndTime
	}
	return 0
}

func (m *AdQueueEntry) GetPriority() float64 {
	if m != nil && m.Priority != nil {
		return *m.Priority
	}
	return 0
}

func (m *AdQueueEntry) GetToken() string {
	if m != nil && m.Token != nil {
		return *m.Token
	}
	return ""
}

func (m *AdQueueEntry) GetAdVersion() uint32 {
	if m != nil && m.AdVersion != nil {
		return *m.AdVersion
	}
	return 0
}

func (m *AdQueueEntry) GetId() string {
	if m != nil && m.Id != nil {
		return *m.Id
	}
	return ""
}

func (m *AdQueueEntry) GetType() string {
	if m != nil && m.Type != nil {
		return *m.Type
	}
	return ""
}

func (m *AdQueueEntry) GetCampaign() string {
	if m != nil && m.Campaign != nil {
		return *m.Campaign
	}
	return ""
}

func (m *AdQueueEntry) GetAdvertiser() string {
	if m != nil && m.Advertiser != nil {
		return *m.Advertiser
	}
	return ""
}

func (m *AdQueueEntry) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *AdQueueEntry) GetDuration() uint64 {
	if m != nil && m.Duration != nil {
		return *m.Duration
	}
	return 0
}

func (m *AdQueueEntry) GetExpiry() uint64 {
	if m != nil && m.Expiry != nil {
		return *m.Expiry
	}
	return 0
}

func (m *AdQueueEntry) GetTrackingUrl() string {
	if m != nil && m.TrackingUrl != nil {
		return *m.TrackingUrl
	}
	return ""
}

func (m *AdQueueEntry) GetBannerType() string {
	if m != nil && m.BannerType != nil {
		return *m.BannerType
	}
	return ""
}

func (m *AdQueueEntry) GetHtml() string {
	if m != nil && m.Html != nil {
		return *m.Html
	}
	return ""
}

func (m *AdQueueEntry) GetImage() string {
	if m != nil && m.Image != nil {
		return *m.Image
	}
	return ""
}

func (m *AdQueueEntry) GetBackgroundImage() string {
	if m != nil && m.BackgroundImage != nil {
		return *m.BackgroundImage
	}
	return ""
}

func (m *AdQueueEntry) GetBackgroundUrl() string {
	if m != nil && m.BackgroundUrl != nil {
		return *m.BackgroundUrl
	}
	return ""
}

func (m *AdQueueEntry) GetBackgroundColor() string {
	if m != nil && m.BackgroundColor != nil {
		return *m.BackgroundColor
	}
	return ""
}

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

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

func (m *AdQueueEntry) GetFile() []*AdFile {
	if m != nil {
		return m.File
	}
	return nil
}

func (m *AdQueueEntry) GetRule() []*Rule {
	if m != nil {
		return m.Rule
	}
	return nil
}

func init() {
	proto.RegisterType((*Rule)(nil), "Spotify.Rule")
	proto.RegisterType((*AdRequest)(nil), "Spotify.AdRequest")
	proto.RegisterType((*AdQueueResponse)(nil), "Spotify.AdQueueResponse")
	proto.RegisterType((*AdFile)(nil), "Spotify.AdFile")
	proto.RegisterType((*AdQueueEntry)(nil), "Spotify.AdQueueEntry")
}

func init() { proto.RegisterFile("ad-hermes-proxy.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 576 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x5c, 0x53, 0x4f, 0x6f, 0x13, 0x3f,
	0x10, 0x55, 0x9a, 0x4d, 0xd3, 0x75, 0xfe, 0xf5, 0xe7, 0x5f, 0x5b, 0x0c, 0x12, 0x50, 0x82, 0x10,
	0xe5, 0xd0, 0x0a, 0x71, 0xe3, 0x18, 0x21, 0x90, 0x90, 0x7a, 0xc1, 0x14, 0xae, 0x91, 0xbb, 0x76,
	0x52, 0xab, 0x1b, 0x7b, 0xf1, 0x7a, 0xa3, 0xe6, 0x9b, 0x70, 0xe6, 0x93, 0x32, 0x1e, 0xef, 0x6e,
	0x37, 0x5c, 0x22, 0xbf, 0xf7, 0x26, 0x6f, 0x67, 0x9e, 0xc7, 0xe4, 0x54, 0xc8, 0xcb, 0x3b, 0xe5,
	0x36, 0xaa, 0xbc, 0x2c, 0x9c, 0x7d, 0xd8, 0x5d, 0xc1, 0xaf, 0xb7, 0x74, 0xf8, 0xbd, 0xb0, 0x5e,
	0xaf, 0x76, 0xf3, 0x6b, 0x92, 0xf0, 0x2a, 0x57, 0x94, 0x92, 0xc4, 0xef, 0x0a, 0xc5, 0x7a, 0xe7,
	0xbd, 0x8b, 0x94, 0xe3, 0x99, 0x9e, 0x90, 0x81, 0xd7, 0xf0, 0x4f, 0x76, 0x00, 0xe4, 0x84, 0x47,
	0x40, 0x9f, 0x91, 0x23, 0x6d, 0xbc, 0x72, 0x5b, 0x91, 0xb3, 0x3e, 0x08, 0x09, 0x6f, 0xf1, 0xfc,
	0x77, 0x8f, 0xa4, 0x0b, 0xc9, 0xd5, 0xaf, 0x4a, 0x95, 0x9e, 0xbe, 0x25, 0xb3, 0x2c, 0xd7, 0xca,
	0xf8, 0x65, 0x2e, 0xcc, 0xba, 0x12, 0xeb, 0xc6, 0x7e, 0x1a, 0xe9, 0xeb, 0x9a, 0xa5, 0x8c, 0x0c,
	0xa1, 0x2d, 0x59, 0x65, 0x1e, 0x3f, 0x95, 0xf2, 0x06, 0x06, 0x65, 0xab, 0x5c, 0xa9, 0xad, 0xc1,
	0x6f, 0x4d, 0x78, 0x03, 0xdb, 0x86, 0x93, 0x4e, 0xc3, 0xd0, 0x9a, 0xd8, 0x5a, 0x2d, 0x17, 0xb2,
	0x64, 0x83, 0xf3, 0x3e, 0xf0, 0x2d, 0x86, 0x41, 0x67, 0x0b, 0xf9, 0xad, 0x52, 0x95, 0xe2, 0xaa,
	0x2c, 0xac, 0x29, 0x15, 0xfd, 0x48, 0xc6, 0x22, 0x52, 0x9f, 0x8d, 0x77, 0x3b, 0x68, 0xae, 0x7f,
	0x31, 0xfa, 0x70, 0x7a, 0x55, 0x67, 0x73, 0xb5, 0xe8, 0x88, 0x7c, 0xaf, 0x74, 0xfe, 0x9e, 0x1c,
	0x2e, 0xe4, 0x17, 0x0d, 0xc1, 0x4d, 0xc9, 0x81, 0x96, 0xf5, 0x5c, 0x70, 0xa2, 0x67, 0xe4, 0x70,
	0x65, 0xdd, 0x46, 0x34, 0xa3, 0xd4, 0x68, 0xfe, 0x67, 0x40, 0xc6, 0x5d, 0x43, 0xfa, 0x9c, 0x90,
	0xd2, 0x0b, 0xe7, 0x97, 0x21, 0x56, 0x34, 0x48, 0x78, 0x8a, 0xcc, 0x0d, 0x10, 0xf4, 0x29, 0x39,
	0x52, 0x46, 0x46, 0xf1, 0x00, 0xc5, 0x21, 0x60, 0x94, 0x60, 0xcc, 0xc2, 0x69, 0xeb, 0xb4, 0xdf,
	0x61, 0x2a, 0x3d, 0xde, 0x62, 0xbc, 0x33, 0x7b, 0xaf, 0x4c, 0x9d, 0x4b, 0x04, 0xe1, 0x5b, 0x42,
	0x2e, 0x9b, 0x24, 0x07, 0x98, 0x64, 0x2a, 0xe4, 0xcf, 0x3a, 0xcb, 0x38, 0xc3, 0x61, 0x3b, 0x43,
	0x93, 0xed, 0x70, 0x3f, 0xdb, 0x4c, 0x6c, 0x0a, 0xa1, 0xd7, 0x86, 0x1d, 0x21, 0xdf, 0x62, 0xfa,
	0x22, 0xd8, 0x83, 0xbb, 0xd7, 0xa5, 0x72, 0x2c, 0x45, 0xb5, 0xc3, 0xd0, 0x63, 0xd2, 0xaf, 0x5c,
	0xce, 0x08, 0x0a, 0xe1, 0x18, 0xdc, 0x64, 0xe5, 0x84, 0x0f, 0xed, 0x8c, 0xe2, 0x12, 0x35, 0x38,
	0x24, 0xa8, 0x1e, 0x0a, 0x0d, 0x17, 0x32, 0x46, 0xa5, 0x46, 0xf4, 0x15, 0x19, 0x7b, 0x27, 0xb2,
	0x7b, 0x6d, 0xd6, 0xcb, 0x60, 0x37, 0x41, 0xbb, 0x51, 0xc3, 0xfd, 0x00, 0xdb, 0x97, 0x64, 0x74,
	0x2b, 0x8c, 0x51, 0x6e, 0x89, 0xfd, 0x4f, 0x63, 0x27, 0x91, 0xba, 0x09, 0x53, 0xc0, 0x64, 0x77,
	0x7e, 0x93, 0xb3, 0x59, 0x9c, 0x2c, 0x9c, 0x43, 0x64, 0x7a, 0x13, 0x96, 0xf3, 0x38, 0x46, 0x86,
	0x80, 0xbe, 0x23, 0xc7, 0xb7, 0x60, 0xbc, 0x76, 0xb6, 0x82, 0x6b, 0x88, 0x05, 0xff, 0x61, 0xc1,
	0xec, 0x91, 0xff, 0x8a, 0xa5, 0x6f, 0xc8, 0xb4, 0x53, 0x1a, 0x5a, 0xa3, 0x58, 0x38, 0x79, 0x64,
	0x43, 0x73, 0xfb, 0x8e, 0x99, 0xcd, 0xad, 0x63, 0xff, 0xff, 0xeb, 0xf8, 0x29, 0xd0, 0xf1, 0xe5,
	0xf9, 0x5c, 0xb1, 0x93, 0xfa, 0x16, 0x03, 0x08, 0x8f, 0x21, 0x13, 0x05, 0x66, 0x76, 0x1a, 0x9f,
	0x49, 0x0d, 0xe9, 0x6b, 0x92, 0xac, 0x60, 0x19, 0xd9, 0x19, 0x6e, 0xf0, 0xac, 0xb3, 0xc1, 0x61,
	0x47, 0x39, 0x8a, 0x90, 0x5f, 0xe2, 0xe0, 0xa9, 0xb3, 0x27, 0x58, 0x34, 0x69, 0x8b, 0xc2, 0xfb,
	0xe7, 0x28, 0xfd, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x35, 0xe8, 0x24, 0x2e, 0x04, 0x00, 0x00,
}
