metadata.rs 254 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314
  1. // This file is generated. Do not edit
  2. // @generated
  3. // https://github.com/Manishearth/rust-clippy/issues/702
  4. #![allow(unknown_lints)]
  5. #![allow(clippy)]
  6. #![cfg_attr(rustfmt, rustfmt_skip)]
  7. #![allow(box_pointers)]
  8. #![allow(dead_code)]
  9. #![allow(missing_docs)]
  10. #![allow(non_camel_case_types)]
  11. #![allow(non_snake_case)]
  12. #![allow(non_upper_case_globals)]
  13. #![allow(trivial_casts)]
  14. #![allow(unsafe_code)]
  15. #![allow(unused_imports)]
  16. #![allow(unused_results)]
  17. use protobuf::Message as Message_imported_for_functions;
  18. use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
  19. #[derive(PartialEq,Clone,Default)]
  20. pub struct TopTracks {
  21. // message fields
  22. country: ::protobuf::SingularField<::std::string::String>,
  23. track: ::protobuf::RepeatedField<Track>,
  24. // special fields
  25. unknown_fields: ::protobuf::UnknownFields,
  26. cached_size: ::protobuf::CachedSize,
  27. }
  28. // see codegen.rs for the explanation why impl Sync explicitly
  29. unsafe impl ::std::marker::Sync for TopTracks {}
  30. impl TopTracks {
  31. pub fn new() -> TopTracks {
  32. ::std::default::Default::default()
  33. }
  34. pub fn default_instance() -> &'static TopTracks {
  35. static mut instance: ::protobuf::lazy::Lazy<TopTracks> = ::protobuf::lazy::Lazy {
  36. lock: ::protobuf::lazy::ONCE_INIT,
  37. ptr: 0 as *const TopTracks,
  38. };
  39. unsafe {
  40. instance.get(TopTracks::new)
  41. }
  42. }
  43. // optional string country = 1;
  44. pub fn clear_country(&mut self) {
  45. self.country.clear();
  46. }
  47. pub fn has_country(&self) -> bool {
  48. self.country.is_some()
  49. }
  50. // Param is passed by value, moved
  51. pub fn set_country(&mut self, v: ::std::string::String) {
  52. self.country = ::protobuf::SingularField::some(v);
  53. }
  54. // Mutable pointer to the field.
  55. // If field is not initialized, it is initialized with default value first.
  56. pub fn mut_country(&mut self) -> &mut ::std::string::String {
  57. if self.country.is_none() {
  58. self.country.set_default();
  59. }
  60. self.country.as_mut().unwrap()
  61. }
  62. // Take field
  63. pub fn take_country(&mut self) -> ::std::string::String {
  64. self.country.take().unwrap_or_else(|| ::std::string::String::new())
  65. }
  66. pub fn get_country(&self) -> &str {
  67. match self.country.as_ref() {
  68. Some(v) => &v,
  69. None => "",
  70. }
  71. }
  72. fn get_country_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  73. &self.country
  74. }
  75. fn mut_country_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  76. &mut self.country
  77. }
  78. // repeated .Track track = 2;
  79. pub fn clear_track(&mut self) {
  80. self.track.clear();
  81. }
  82. // Param is passed by value, moved
  83. pub fn set_track(&mut self, v: ::protobuf::RepeatedField<Track>) {
  84. self.track = v;
  85. }
  86. // Mutable pointer to the field.
  87. pub fn mut_track(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  88. &mut self.track
  89. }
  90. // Take field
  91. pub fn take_track(&mut self) -> ::protobuf::RepeatedField<Track> {
  92. ::std::mem::replace(&mut self.track, ::protobuf::RepeatedField::new())
  93. }
  94. pub fn get_track(&self) -> &[Track] {
  95. &self.track
  96. }
  97. fn get_track_for_reflect(&self) -> &::protobuf::RepeatedField<Track> {
  98. &self.track
  99. }
  100. fn mut_track_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  101. &mut self.track
  102. }
  103. }
  104. impl ::protobuf::Message for TopTracks {
  105. fn is_initialized(&self) -> bool {
  106. for v in &self.track {
  107. if !v.is_initialized() {
  108. return false;
  109. }
  110. };
  111. true
  112. }
  113. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  114. while !is.eof()? {
  115. let (field_number, wire_type) = is.read_tag_unpack()?;
  116. match field_number {
  117. 1 => {
  118. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.country)?;
  119. },
  120. 2 => {
  121. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.track)?;
  122. },
  123. _ => {
  124. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  125. },
  126. };
  127. }
  128. ::std::result::Result::Ok(())
  129. }
  130. // Compute sizes of nested messages
  131. #[allow(unused_variables)]
  132. fn compute_size(&self) -> u32 {
  133. let mut my_size = 0;
  134. if let Some(ref v) = self.country.as_ref() {
  135. my_size += ::protobuf::rt::string_size(1, &v);
  136. }
  137. for value in &self.track {
  138. let len = value.compute_size();
  139. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  140. };
  141. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  142. self.cached_size.set(my_size);
  143. my_size
  144. }
  145. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  146. if let Some(ref v) = self.country.as_ref() {
  147. os.write_string(1, &v)?;
  148. }
  149. for v in &self.track {
  150. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  151. os.write_raw_varint32(v.get_cached_size())?;
  152. v.write_to_with_cached_sizes(os)?;
  153. };
  154. os.write_unknown_fields(self.get_unknown_fields())?;
  155. ::std::result::Result::Ok(())
  156. }
  157. fn get_cached_size(&self) -> u32 {
  158. self.cached_size.get()
  159. }
  160. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  161. &self.unknown_fields
  162. }
  163. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  164. &mut self.unknown_fields
  165. }
  166. fn as_any(&self) -> &::std::any::Any {
  167. self as &::std::any::Any
  168. }
  169. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  170. self as &mut ::std::any::Any
  171. }
  172. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  173. self
  174. }
  175. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  176. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  177. }
  178. }
  179. impl ::protobuf::MessageStatic for TopTracks {
  180. fn new() -> TopTracks {
  181. TopTracks::new()
  182. }
  183. fn descriptor_static(_: ::std::option::Option<TopTracks>) -> &'static ::protobuf::reflect::MessageDescriptor {
  184. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  185. lock: ::protobuf::lazy::ONCE_INIT,
  186. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  187. };
  188. unsafe {
  189. descriptor.get(|| {
  190. let mut fields = ::std::vec::Vec::new();
  191. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  192. "country",
  193. TopTracks::get_country_for_reflect,
  194. TopTracks::mut_country_for_reflect,
  195. ));
  196. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Track>>(
  197. "track",
  198. TopTracks::get_track_for_reflect,
  199. TopTracks::mut_track_for_reflect,
  200. ));
  201. ::protobuf::reflect::MessageDescriptor::new::<TopTracks>(
  202. "TopTracks",
  203. fields,
  204. file_descriptor_proto()
  205. )
  206. })
  207. }
  208. }
  209. }
  210. impl ::protobuf::Clear for TopTracks {
  211. fn clear(&mut self) {
  212. self.clear_country();
  213. self.clear_track();
  214. self.unknown_fields.clear();
  215. }
  216. }
  217. impl ::std::fmt::Debug for TopTracks {
  218. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  219. ::protobuf::text_format::fmt(self, f)
  220. }
  221. }
  222. impl ::protobuf::reflect::ProtobufValue for TopTracks {
  223. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  224. ::protobuf::reflect::ProtobufValueRef::Message(self)
  225. }
  226. }
  227. #[derive(PartialEq,Clone,Default)]
  228. pub struct ActivityPeriod {
  229. // message fields
  230. start_year: ::std::option::Option<i32>,
  231. end_year: ::std::option::Option<i32>,
  232. decade: ::std::option::Option<i32>,
  233. // special fields
  234. unknown_fields: ::protobuf::UnknownFields,
  235. cached_size: ::protobuf::CachedSize,
  236. }
  237. // see codegen.rs for the explanation why impl Sync explicitly
  238. unsafe impl ::std::marker::Sync for ActivityPeriod {}
  239. impl ActivityPeriod {
  240. pub fn new() -> ActivityPeriod {
  241. ::std::default::Default::default()
  242. }
  243. pub fn default_instance() -> &'static ActivityPeriod {
  244. static mut instance: ::protobuf::lazy::Lazy<ActivityPeriod> = ::protobuf::lazy::Lazy {
  245. lock: ::protobuf::lazy::ONCE_INIT,
  246. ptr: 0 as *const ActivityPeriod,
  247. };
  248. unsafe {
  249. instance.get(ActivityPeriod::new)
  250. }
  251. }
  252. // optional sint32 start_year = 1;
  253. pub fn clear_start_year(&mut self) {
  254. self.start_year = ::std::option::Option::None;
  255. }
  256. pub fn has_start_year(&self) -> bool {
  257. self.start_year.is_some()
  258. }
  259. // Param is passed by value, moved
  260. pub fn set_start_year(&mut self, v: i32) {
  261. self.start_year = ::std::option::Option::Some(v);
  262. }
  263. pub fn get_start_year(&self) -> i32 {
  264. self.start_year.unwrap_or(0)
  265. }
  266. fn get_start_year_for_reflect(&self) -> &::std::option::Option<i32> {
  267. &self.start_year
  268. }
  269. fn mut_start_year_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  270. &mut self.start_year
  271. }
  272. // optional sint32 end_year = 2;
  273. pub fn clear_end_year(&mut self) {
  274. self.end_year = ::std::option::Option::None;
  275. }
  276. pub fn has_end_year(&self) -> bool {
  277. self.end_year.is_some()
  278. }
  279. // Param is passed by value, moved
  280. pub fn set_end_year(&mut self, v: i32) {
  281. self.end_year = ::std::option::Option::Some(v);
  282. }
  283. pub fn get_end_year(&self) -> i32 {
  284. self.end_year.unwrap_or(0)
  285. }
  286. fn get_end_year_for_reflect(&self) -> &::std::option::Option<i32> {
  287. &self.end_year
  288. }
  289. fn mut_end_year_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  290. &mut self.end_year
  291. }
  292. // optional sint32 decade = 3;
  293. pub fn clear_decade(&mut self) {
  294. self.decade = ::std::option::Option::None;
  295. }
  296. pub fn has_decade(&self) -> bool {
  297. self.decade.is_some()
  298. }
  299. // Param is passed by value, moved
  300. pub fn set_decade(&mut self, v: i32) {
  301. self.decade = ::std::option::Option::Some(v);
  302. }
  303. pub fn get_decade(&self) -> i32 {
  304. self.decade.unwrap_or(0)
  305. }
  306. fn get_decade_for_reflect(&self) -> &::std::option::Option<i32> {
  307. &self.decade
  308. }
  309. fn mut_decade_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  310. &mut self.decade
  311. }
  312. }
  313. impl ::protobuf::Message for ActivityPeriod {
  314. fn is_initialized(&self) -> bool {
  315. true
  316. }
  317. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  318. while !is.eof()? {
  319. let (field_number, wire_type) = is.read_tag_unpack()?;
  320. match field_number {
  321. 1 => {
  322. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  323. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  324. }
  325. let tmp = is.read_sint32()?;
  326. self.start_year = ::std::option::Option::Some(tmp);
  327. },
  328. 2 => {
  329. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  330. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  331. }
  332. let tmp = is.read_sint32()?;
  333. self.end_year = ::std::option::Option::Some(tmp);
  334. },
  335. 3 => {
  336. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  337. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  338. }
  339. let tmp = is.read_sint32()?;
  340. self.decade = ::std::option::Option::Some(tmp);
  341. },
  342. _ => {
  343. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  344. },
  345. };
  346. }
  347. ::std::result::Result::Ok(())
  348. }
  349. // Compute sizes of nested messages
  350. #[allow(unused_variables)]
  351. fn compute_size(&self) -> u32 {
  352. let mut my_size = 0;
  353. if let Some(v) = self.start_year {
  354. my_size += ::protobuf::rt::value_varint_zigzag_size(1, v);
  355. }
  356. if let Some(v) = self.end_year {
  357. my_size += ::protobuf::rt::value_varint_zigzag_size(2, v);
  358. }
  359. if let Some(v) = self.decade {
  360. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  361. }
  362. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  363. self.cached_size.set(my_size);
  364. my_size
  365. }
  366. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  367. if let Some(v) = self.start_year {
  368. os.write_sint32(1, v)?;
  369. }
  370. if let Some(v) = self.end_year {
  371. os.write_sint32(2, v)?;
  372. }
  373. if let Some(v) = self.decade {
  374. os.write_sint32(3, v)?;
  375. }
  376. os.write_unknown_fields(self.get_unknown_fields())?;
  377. ::std::result::Result::Ok(())
  378. }
  379. fn get_cached_size(&self) -> u32 {
  380. self.cached_size.get()
  381. }
  382. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  383. &self.unknown_fields
  384. }
  385. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  386. &mut self.unknown_fields
  387. }
  388. fn as_any(&self) -> &::std::any::Any {
  389. self as &::std::any::Any
  390. }
  391. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  392. self as &mut ::std::any::Any
  393. }
  394. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  395. self
  396. }
  397. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  398. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  399. }
  400. }
  401. impl ::protobuf::MessageStatic for ActivityPeriod {
  402. fn new() -> ActivityPeriod {
  403. ActivityPeriod::new()
  404. }
  405. fn descriptor_static(_: ::std::option::Option<ActivityPeriod>) -> &'static ::protobuf::reflect::MessageDescriptor {
  406. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  407. lock: ::protobuf::lazy::ONCE_INIT,
  408. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  409. };
  410. unsafe {
  411. descriptor.get(|| {
  412. let mut fields = ::std::vec::Vec::new();
  413. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  414. "start_year",
  415. ActivityPeriod::get_start_year_for_reflect,
  416. ActivityPeriod::mut_start_year_for_reflect,
  417. ));
  418. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  419. "end_year",
  420. ActivityPeriod::get_end_year_for_reflect,
  421. ActivityPeriod::mut_end_year_for_reflect,
  422. ));
  423. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  424. "decade",
  425. ActivityPeriod::get_decade_for_reflect,
  426. ActivityPeriod::mut_decade_for_reflect,
  427. ));
  428. ::protobuf::reflect::MessageDescriptor::new::<ActivityPeriod>(
  429. "ActivityPeriod",
  430. fields,
  431. file_descriptor_proto()
  432. )
  433. })
  434. }
  435. }
  436. }
  437. impl ::protobuf::Clear for ActivityPeriod {
  438. fn clear(&mut self) {
  439. self.clear_start_year();
  440. self.clear_end_year();
  441. self.clear_decade();
  442. self.unknown_fields.clear();
  443. }
  444. }
  445. impl ::std::fmt::Debug for ActivityPeriod {
  446. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  447. ::protobuf::text_format::fmt(self, f)
  448. }
  449. }
  450. impl ::protobuf::reflect::ProtobufValue for ActivityPeriod {
  451. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  452. ::protobuf::reflect::ProtobufValueRef::Message(self)
  453. }
  454. }
  455. #[derive(PartialEq,Clone,Default)]
  456. pub struct Artist {
  457. // message fields
  458. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  459. name: ::protobuf::SingularField<::std::string::String>,
  460. popularity: ::std::option::Option<i32>,
  461. top_track: ::protobuf::RepeatedField<TopTracks>,
  462. album_group: ::protobuf::RepeatedField<AlbumGroup>,
  463. single_group: ::protobuf::RepeatedField<AlbumGroup>,
  464. compilation_group: ::protobuf::RepeatedField<AlbumGroup>,
  465. appears_on_group: ::protobuf::RepeatedField<AlbumGroup>,
  466. genre: ::protobuf::RepeatedField<::std::string::String>,
  467. external_id: ::protobuf::RepeatedField<ExternalId>,
  468. portrait: ::protobuf::RepeatedField<Image>,
  469. biography: ::protobuf::RepeatedField<Biography>,
  470. activity_period: ::protobuf::RepeatedField<ActivityPeriod>,
  471. restriction: ::protobuf::RepeatedField<Restriction>,
  472. related: ::protobuf::RepeatedField<Artist>,
  473. is_portrait_album_cover: ::std::option::Option<bool>,
  474. portrait_group: ::protobuf::SingularPtrField<ImageGroup>,
  475. // special fields
  476. unknown_fields: ::protobuf::UnknownFields,
  477. cached_size: ::protobuf::CachedSize,
  478. }
  479. // see codegen.rs for the explanation why impl Sync explicitly
  480. unsafe impl ::std::marker::Sync for Artist {}
  481. impl Artist {
  482. pub fn new() -> Artist {
  483. ::std::default::Default::default()
  484. }
  485. pub fn default_instance() -> &'static Artist {
  486. static mut instance: ::protobuf::lazy::Lazy<Artist> = ::protobuf::lazy::Lazy {
  487. lock: ::protobuf::lazy::ONCE_INIT,
  488. ptr: 0 as *const Artist,
  489. };
  490. unsafe {
  491. instance.get(Artist::new)
  492. }
  493. }
  494. // optional bytes gid = 1;
  495. pub fn clear_gid(&mut self) {
  496. self.gid.clear();
  497. }
  498. pub fn has_gid(&self) -> bool {
  499. self.gid.is_some()
  500. }
  501. // Param is passed by value, moved
  502. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  503. self.gid = ::protobuf::SingularField::some(v);
  504. }
  505. // Mutable pointer to the field.
  506. // If field is not initialized, it is initialized with default value first.
  507. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  508. if self.gid.is_none() {
  509. self.gid.set_default();
  510. }
  511. self.gid.as_mut().unwrap()
  512. }
  513. // Take field
  514. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  515. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  516. }
  517. pub fn get_gid(&self) -> &[u8] {
  518. match self.gid.as_ref() {
  519. Some(v) => &v,
  520. None => &[],
  521. }
  522. }
  523. fn get_gid_for_reflect(&self) -> &::protobuf::SingularField<::std::vec::Vec<u8>> {
  524. &self.gid
  525. }
  526. fn mut_gid_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::vec::Vec<u8>> {
  527. &mut self.gid
  528. }
  529. // optional string name = 2;
  530. pub fn clear_name(&mut self) {
  531. self.name.clear();
  532. }
  533. pub fn has_name(&self) -> bool {
  534. self.name.is_some()
  535. }
  536. // Param is passed by value, moved
  537. pub fn set_name(&mut self, v: ::std::string::String) {
  538. self.name = ::protobuf::SingularField::some(v);
  539. }
  540. // Mutable pointer to the field.
  541. // If field is not initialized, it is initialized with default value first.
  542. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  543. if self.name.is_none() {
  544. self.name.set_default();
  545. }
  546. self.name.as_mut().unwrap()
  547. }
  548. // Take field
  549. pub fn take_name(&mut self) -> ::std::string::String {
  550. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  551. }
  552. pub fn get_name(&self) -> &str {
  553. match self.name.as_ref() {
  554. Some(v) => &v,
  555. None => "",
  556. }
  557. }
  558. fn get_name_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  559. &self.name
  560. }
  561. fn mut_name_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  562. &mut self.name
  563. }
  564. // optional sint32 popularity = 3;
  565. pub fn clear_popularity(&mut self) {
  566. self.popularity = ::std::option::Option::None;
  567. }
  568. pub fn has_popularity(&self) -> bool {
  569. self.popularity.is_some()
  570. }
  571. // Param is passed by value, moved
  572. pub fn set_popularity(&mut self, v: i32) {
  573. self.popularity = ::std::option::Option::Some(v);
  574. }
  575. pub fn get_popularity(&self) -> i32 {
  576. self.popularity.unwrap_or(0)
  577. }
  578. fn get_popularity_for_reflect(&self) -> &::std::option::Option<i32> {
  579. &self.popularity
  580. }
  581. fn mut_popularity_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  582. &mut self.popularity
  583. }
  584. // repeated .TopTracks top_track = 4;
  585. pub fn clear_top_track(&mut self) {
  586. self.top_track.clear();
  587. }
  588. // Param is passed by value, moved
  589. pub fn set_top_track(&mut self, v: ::protobuf::RepeatedField<TopTracks>) {
  590. self.top_track = v;
  591. }
  592. // Mutable pointer to the field.
  593. pub fn mut_top_track(&mut self) -> &mut ::protobuf::RepeatedField<TopTracks> {
  594. &mut self.top_track
  595. }
  596. // Take field
  597. pub fn take_top_track(&mut self) -> ::protobuf::RepeatedField<TopTracks> {
  598. ::std::mem::replace(&mut self.top_track, ::protobuf::RepeatedField::new())
  599. }
  600. pub fn get_top_track(&self) -> &[TopTracks] {
  601. &self.top_track
  602. }
  603. fn get_top_track_for_reflect(&self) -> &::protobuf::RepeatedField<TopTracks> {
  604. &self.top_track
  605. }
  606. fn mut_top_track_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<TopTracks> {
  607. &mut self.top_track
  608. }
  609. // repeated .AlbumGroup album_group = 5;
  610. pub fn clear_album_group(&mut self) {
  611. self.album_group.clear();
  612. }
  613. // Param is passed by value, moved
  614. pub fn set_album_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  615. self.album_group = v;
  616. }
  617. // Mutable pointer to the field.
  618. pub fn mut_album_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  619. &mut self.album_group
  620. }
  621. // Take field
  622. pub fn take_album_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  623. ::std::mem::replace(&mut self.album_group, ::protobuf::RepeatedField::new())
  624. }
  625. pub fn get_album_group(&self) -> &[AlbumGroup] {
  626. &self.album_group
  627. }
  628. fn get_album_group_for_reflect(&self) -> &::protobuf::RepeatedField<AlbumGroup> {
  629. &self.album_group
  630. }
  631. fn mut_album_group_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  632. &mut self.album_group
  633. }
  634. // repeated .AlbumGroup single_group = 6;
  635. pub fn clear_single_group(&mut self) {
  636. self.single_group.clear();
  637. }
  638. // Param is passed by value, moved
  639. pub fn set_single_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  640. self.single_group = v;
  641. }
  642. // Mutable pointer to the field.
  643. pub fn mut_single_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  644. &mut self.single_group
  645. }
  646. // Take field
  647. pub fn take_single_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  648. ::std::mem::replace(&mut self.single_group, ::protobuf::RepeatedField::new())
  649. }
  650. pub fn get_single_group(&self) -> &[AlbumGroup] {
  651. &self.single_group
  652. }
  653. fn get_single_group_for_reflect(&self) -> &::protobuf::RepeatedField<AlbumGroup> {
  654. &self.single_group
  655. }
  656. fn mut_single_group_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  657. &mut self.single_group
  658. }
  659. // repeated .AlbumGroup compilation_group = 7;
  660. pub fn clear_compilation_group(&mut self) {
  661. self.compilation_group.clear();
  662. }
  663. // Param is passed by value, moved
  664. pub fn set_compilation_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  665. self.compilation_group = v;
  666. }
  667. // Mutable pointer to the field.
  668. pub fn mut_compilation_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  669. &mut self.compilation_group
  670. }
  671. // Take field
  672. pub fn take_compilation_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  673. ::std::mem::replace(&mut self.compilation_group, ::protobuf::RepeatedField::new())
  674. }
  675. pub fn get_compilation_group(&self) -> &[AlbumGroup] {
  676. &self.compilation_group
  677. }
  678. fn get_compilation_group_for_reflect(&self) -> &::protobuf::RepeatedField<AlbumGroup> {
  679. &self.compilation_group
  680. }
  681. fn mut_compilation_group_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  682. &mut self.compilation_group
  683. }
  684. // repeated .AlbumGroup appears_on_group = 8;
  685. pub fn clear_appears_on_group(&mut self) {
  686. self.appears_on_group.clear();
  687. }
  688. // Param is passed by value, moved
  689. pub fn set_appears_on_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  690. self.appears_on_group = v;
  691. }
  692. // Mutable pointer to the field.
  693. pub fn mut_appears_on_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  694. &mut self.appears_on_group
  695. }
  696. // Take field
  697. pub fn take_appears_on_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  698. ::std::mem::replace(&mut self.appears_on_group, ::protobuf::RepeatedField::new())
  699. }
  700. pub fn get_appears_on_group(&self) -> &[AlbumGroup] {
  701. &self.appears_on_group
  702. }
  703. fn get_appears_on_group_for_reflect(&self) -> &::protobuf::RepeatedField<AlbumGroup> {
  704. &self.appears_on_group
  705. }
  706. fn mut_appears_on_group_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  707. &mut self.appears_on_group
  708. }
  709. // repeated string genre = 9;
  710. pub fn clear_genre(&mut self) {
  711. self.genre.clear();
  712. }
  713. // Param is passed by value, moved
  714. pub fn set_genre(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  715. self.genre = v;
  716. }
  717. // Mutable pointer to the field.
  718. pub fn mut_genre(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  719. &mut self.genre
  720. }
  721. // Take field
  722. pub fn take_genre(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  723. ::std::mem::replace(&mut self.genre, ::protobuf::RepeatedField::new())
  724. }
  725. pub fn get_genre(&self) -> &[::std::string::String] {
  726. &self.genre
  727. }
  728. fn get_genre_for_reflect(&self) -> &::protobuf::RepeatedField<::std::string::String> {
  729. &self.genre
  730. }
  731. fn mut_genre_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  732. &mut self.genre
  733. }
  734. // repeated .ExternalId external_id = 10;
  735. pub fn clear_external_id(&mut self) {
  736. self.external_id.clear();
  737. }
  738. // Param is passed by value, moved
  739. pub fn set_external_id(&mut self, v: ::protobuf::RepeatedField<ExternalId>) {
  740. self.external_id = v;
  741. }
  742. // Mutable pointer to the field.
  743. pub fn mut_external_id(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  744. &mut self.external_id
  745. }
  746. // Take field
  747. pub fn take_external_id(&mut self) -> ::protobuf::RepeatedField<ExternalId> {
  748. ::std::mem::replace(&mut self.external_id, ::protobuf::RepeatedField::new())
  749. }
  750. pub fn get_external_id(&self) -> &[ExternalId] {
  751. &self.external_id
  752. }
  753. fn get_external_id_for_reflect(&self) -> &::protobuf::RepeatedField<ExternalId> {
  754. &self.external_id
  755. }
  756. fn mut_external_id_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  757. &mut self.external_id
  758. }
  759. // repeated .Image portrait = 11;
  760. pub fn clear_portrait(&mut self) {
  761. self.portrait.clear();
  762. }
  763. // Param is passed by value, moved
  764. pub fn set_portrait(&mut self, v: ::protobuf::RepeatedField<Image>) {
  765. self.portrait = v;
  766. }
  767. // Mutable pointer to the field.
  768. pub fn mut_portrait(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  769. &mut self.portrait
  770. }
  771. // Take field
  772. pub fn take_portrait(&mut self) -> ::protobuf::RepeatedField<Image> {
  773. ::std::mem::replace(&mut self.portrait, ::protobuf::RepeatedField::new())
  774. }
  775. pub fn get_portrait(&self) -> &[Image] {
  776. &self.portrait
  777. }
  778. fn get_portrait_for_reflect(&self) -> &::protobuf::RepeatedField<Image> {
  779. &self.portrait
  780. }
  781. fn mut_portrait_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  782. &mut self.portrait
  783. }
  784. // repeated .Biography biography = 12;
  785. pub fn clear_biography(&mut self) {
  786. self.biography.clear();
  787. }
  788. // Param is passed by value, moved
  789. pub fn set_biography(&mut self, v: ::protobuf::RepeatedField<Biography>) {
  790. self.biography = v;
  791. }
  792. // Mutable pointer to the field.
  793. pub fn mut_biography(&mut self) -> &mut ::protobuf::RepeatedField<Biography> {
  794. &mut self.biography
  795. }
  796. // Take field
  797. pub fn take_biography(&mut self) -> ::protobuf::RepeatedField<Biography> {
  798. ::std::mem::replace(&mut self.biography, ::protobuf::RepeatedField::new())
  799. }
  800. pub fn get_biography(&self) -> &[Biography] {
  801. &self.biography
  802. }
  803. fn get_biography_for_reflect(&self) -> &::protobuf::RepeatedField<Biography> {
  804. &self.biography
  805. }
  806. fn mut_biography_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Biography> {
  807. &mut self.biography
  808. }
  809. // repeated .ActivityPeriod activity_period = 13;
  810. pub fn clear_activity_period(&mut self) {
  811. self.activity_period.clear();
  812. }
  813. // Param is passed by value, moved
  814. pub fn set_activity_period(&mut self, v: ::protobuf::RepeatedField<ActivityPeriod>) {
  815. self.activity_period = v;
  816. }
  817. // Mutable pointer to the field.
  818. pub fn mut_activity_period(&mut self) -> &mut ::protobuf::RepeatedField<ActivityPeriod> {
  819. &mut self.activity_period
  820. }
  821. // Take field
  822. pub fn take_activity_period(&mut self) -> ::protobuf::RepeatedField<ActivityPeriod> {
  823. ::std::mem::replace(&mut self.activity_period, ::protobuf::RepeatedField::new())
  824. }
  825. pub fn get_activity_period(&self) -> &[ActivityPeriod] {
  826. &self.activity_period
  827. }
  828. fn get_activity_period_for_reflect(&self) -> &::protobuf::RepeatedField<ActivityPeriod> {
  829. &self.activity_period
  830. }
  831. fn mut_activity_period_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<ActivityPeriod> {
  832. &mut self.activity_period
  833. }
  834. // repeated .Restriction restriction = 14;
  835. pub fn clear_restriction(&mut self) {
  836. self.restriction.clear();
  837. }
  838. // Param is passed by value, moved
  839. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  840. self.restriction = v;
  841. }
  842. // Mutable pointer to the field.
  843. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  844. &mut self.restriction
  845. }
  846. // Take field
  847. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  848. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  849. }
  850. pub fn get_restriction(&self) -> &[Restriction] {
  851. &self.restriction
  852. }
  853. fn get_restriction_for_reflect(&self) -> &::protobuf::RepeatedField<Restriction> {
  854. &self.restriction
  855. }
  856. fn mut_restriction_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  857. &mut self.restriction
  858. }
  859. // repeated .Artist related = 15;
  860. pub fn clear_related(&mut self) {
  861. self.related.clear();
  862. }
  863. // Param is passed by value, moved
  864. pub fn set_related(&mut self, v: ::protobuf::RepeatedField<Artist>) {
  865. self.related = v;
  866. }
  867. // Mutable pointer to the field.
  868. pub fn mut_related(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  869. &mut self.related
  870. }
  871. // Take field
  872. pub fn take_related(&mut self) -> ::protobuf::RepeatedField<Artist> {
  873. ::std::mem::replace(&mut self.related, ::protobuf::RepeatedField::new())
  874. }
  875. pub fn get_related(&self) -> &[Artist] {
  876. &self.related
  877. }
  878. fn get_related_for_reflect(&self) -> &::protobuf::RepeatedField<Artist> {
  879. &self.related
  880. }
  881. fn mut_related_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  882. &mut self.related
  883. }
  884. // optional bool is_portrait_album_cover = 16;
  885. pub fn clear_is_portrait_album_cover(&mut self) {
  886. self.is_portrait_album_cover = ::std::option::Option::None;
  887. }
  888. pub fn has_is_portrait_album_cover(&self) -> bool {
  889. self.is_portrait_album_cover.is_some()
  890. }
  891. // Param is passed by value, moved
  892. pub fn set_is_portrait_album_cover(&mut self, v: bool) {
  893. self.is_portrait_album_cover = ::std::option::Option::Some(v);
  894. }
  895. pub fn get_is_portrait_album_cover(&self) -> bool {
  896. self.is_portrait_album_cover.unwrap_or(false)
  897. }
  898. fn get_is_portrait_album_cover_for_reflect(&self) -> &::std::option::Option<bool> {
  899. &self.is_portrait_album_cover
  900. }
  901. fn mut_is_portrait_album_cover_for_reflect(&mut self) -> &mut ::std::option::Option<bool> {
  902. &mut self.is_portrait_album_cover
  903. }
  904. // optional .ImageGroup portrait_group = 17;
  905. pub fn clear_portrait_group(&mut self) {
  906. self.portrait_group.clear();
  907. }
  908. pub fn has_portrait_group(&self) -> bool {
  909. self.portrait_group.is_some()
  910. }
  911. // Param is passed by value, moved
  912. pub fn set_portrait_group(&mut self, v: ImageGroup) {
  913. self.portrait_group = ::protobuf::SingularPtrField::some(v);
  914. }
  915. // Mutable pointer to the field.
  916. // If field is not initialized, it is initialized with default value first.
  917. pub fn mut_portrait_group(&mut self) -> &mut ImageGroup {
  918. if self.portrait_group.is_none() {
  919. self.portrait_group.set_default();
  920. }
  921. self.portrait_group.as_mut().unwrap()
  922. }
  923. // Take field
  924. pub fn take_portrait_group(&mut self) -> ImageGroup {
  925. self.portrait_group.take().unwrap_or_else(|| ImageGroup::new())
  926. }
  927. pub fn get_portrait_group(&self) -> &ImageGroup {
  928. self.portrait_group.as_ref().unwrap_or_else(|| ImageGroup::default_instance())
  929. }
  930. fn get_portrait_group_for_reflect(&self) -> &::protobuf::SingularPtrField<ImageGroup> {
  931. &self.portrait_group
  932. }
  933. fn mut_portrait_group_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField<ImageGroup> {
  934. &mut self.portrait_group
  935. }
  936. }
  937. impl ::protobuf::Message for Artist {
  938. fn is_initialized(&self) -> bool {
  939. for v in &self.top_track {
  940. if !v.is_initialized() {
  941. return false;
  942. }
  943. };
  944. for v in &self.album_group {
  945. if !v.is_initialized() {
  946. return false;
  947. }
  948. };
  949. for v in &self.single_group {
  950. if !v.is_initialized() {
  951. return false;
  952. }
  953. };
  954. for v in &self.compilation_group {
  955. if !v.is_initialized() {
  956. return false;
  957. }
  958. };
  959. for v in &self.appears_on_group {
  960. if !v.is_initialized() {
  961. return false;
  962. }
  963. };
  964. for v in &self.external_id {
  965. if !v.is_initialized() {
  966. return false;
  967. }
  968. };
  969. for v in &self.portrait {
  970. if !v.is_initialized() {
  971. return false;
  972. }
  973. };
  974. for v in &self.biography {
  975. if !v.is_initialized() {
  976. return false;
  977. }
  978. };
  979. for v in &self.activity_period {
  980. if !v.is_initialized() {
  981. return false;
  982. }
  983. };
  984. for v in &self.restriction {
  985. if !v.is_initialized() {
  986. return false;
  987. }
  988. };
  989. for v in &self.related {
  990. if !v.is_initialized() {
  991. return false;
  992. }
  993. };
  994. for v in &self.portrait_group {
  995. if !v.is_initialized() {
  996. return false;
  997. }
  998. };
  999. true
  1000. }
  1001. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  1002. while !is.eof()? {
  1003. let (field_number, wire_type) = is.read_tag_unpack()?;
  1004. match field_number {
  1005. 1 => {
  1006. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  1007. },
  1008. 2 => {
  1009. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  1010. },
  1011. 3 => {
  1012. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1013. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1014. }
  1015. let tmp = is.read_sint32()?;
  1016. self.popularity = ::std::option::Option::Some(tmp);
  1017. },
  1018. 4 => {
  1019. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.top_track)?;
  1020. },
  1021. 5 => {
  1022. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.album_group)?;
  1023. },
  1024. 6 => {
  1025. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.single_group)?;
  1026. },
  1027. 7 => {
  1028. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.compilation_group)?;
  1029. },
  1030. 8 => {
  1031. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.appears_on_group)?;
  1032. },
  1033. 9 => {
  1034. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.genre)?;
  1035. },
  1036. 10 => {
  1037. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.external_id)?;
  1038. },
  1039. 11 => {
  1040. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.portrait)?;
  1041. },
  1042. 12 => {
  1043. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.biography)?;
  1044. },
  1045. 13 => {
  1046. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.activity_period)?;
  1047. },
  1048. 14 => {
  1049. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  1050. },
  1051. 15 => {
  1052. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.related)?;
  1053. },
  1054. 16 => {
  1055. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1056. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1057. }
  1058. let tmp = is.read_bool()?;
  1059. self.is_portrait_album_cover = ::std::option::Option::Some(tmp);
  1060. },
  1061. 17 => {
  1062. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.portrait_group)?;
  1063. },
  1064. _ => {
  1065. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  1066. },
  1067. };
  1068. }
  1069. ::std::result::Result::Ok(())
  1070. }
  1071. // Compute sizes of nested messages
  1072. #[allow(unused_variables)]
  1073. fn compute_size(&self) -> u32 {
  1074. let mut my_size = 0;
  1075. if let Some(ref v) = self.gid.as_ref() {
  1076. my_size += ::protobuf::rt::bytes_size(1, &v);
  1077. }
  1078. if let Some(ref v) = self.name.as_ref() {
  1079. my_size += ::protobuf::rt::string_size(2, &v);
  1080. }
  1081. if let Some(v) = self.popularity {
  1082. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  1083. }
  1084. for value in &self.top_track {
  1085. let len = value.compute_size();
  1086. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1087. };
  1088. for value in &self.album_group {
  1089. let len = value.compute_size();
  1090. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1091. };
  1092. for value in &self.single_group {
  1093. let len = value.compute_size();
  1094. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1095. };
  1096. for value in &self.compilation_group {
  1097. let len = value.compute_size();
  1098. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1099. };
  1100. for value in &self.appears_on_group {
  1101. let len = value.compute_size();
  1102. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1103. };
  1104. for value in &self.genre {
  1105. my_size += ::protobuf::rt::string_size(9, &value);
  1106. };
  1107. for value in &self.external_id {
  1108. let len = value.compute_size();
  1109. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1110. };
  1111. for value in &self.portrait {
  1112. let len = value.compute_size();
  1113. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1114. };
  1115. for value in &self.biography {
  1116. let len = value.compute_size();
  1117. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1118. };
  1119. for value in &self.activity_period {
  1120. let len = value.compute_size();
  1121. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1122. };
  1123. for value in &self.restriction {
  1124. let len = value.compute_size();
  1125. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1126. };
  1127. for value in &self.related {
  1128. let len = value.compute_size();
  1129. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1130. };
  1131. if let Some(v) = self.is_portrait_album_cover {
  1132. my_size += 3;
  1133. }
  1134. if let Some(ref v) = self.portrait_group.as_ref() {
  1135. let len = v.compute_size();
  1136. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1137. }
  1138. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  1139. self.cached_size.set(my_size);
  1140. my_size
  1141. }
  1142. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  1143. if let Some(ref v) = self.gid.as_ref() {
  1144. os.write_bytes(1, &v)?;
  1145. }
  1146. if let Some(ref v) = self.name.as_ref() {
  1147. os.write_string(2, &v)?;
  1148. }
  1149. if let Some(v) = self.popularity {
  1150. os.write_sint32(3, v)?;
  1151. }
  1152. for v in &self.top_track {
  1153. os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1154. os.write_raw_varint32(v.get_cached_size())?;
  1155. v.write_to_with_cached_sizes(os)?;
  1156. };
  1157. for v in &self.album_group {
  1158. os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1159. os.write_raw_varint32(v.get_cached_size())?;
  1160. v.write_to_with_cached_sizes(os)?;
  1161. };
  1162. for v in &self.single_group {
  1163. os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1164. os.write_raw_varint32(v.get_cached_size())?;
  1165. v.write_to_with_cached_sizes(os)?;
  1166. };
  1167. for v in &self.compilation_group {
  1168. os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1169. os.write_raw_varint32(v.get_cached_size())?;
  1170. v.write_to_with_cached_sizes(os)?;
  1171. };
  1172. for v in &self.appears_on_group {
  1173. os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1174. os.write_raw_varint32(v.get_cached_size())?;
  1175. v.write_to_with_cached_sizes(os)?;
  1176. };
  1177. for v in &self.genre {
  1178. os.write_string(9, &v)?;
  1179. };
  1180. for v in &self.external_id {
  1181. os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1182. os.write_raw_varint32(v.get_cached_size())?;
  1183. v.write_to_with_cached_sizes(os)?;
  1184. };
  1185. for v in &self.portrait {
  1186. os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1187. os.write_raw_varint32(v.get_cached_size())?;
  1188. v.write_to_with_cached_sizes(os)?;
  1189. };
  1190. for v in &self.biography {
  1191. os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1192. os.write_raw_varint32(v.get_cached_size())?;
  1193. v.write_to_with_cached_sizes(os)?;
  1194. };
  1195. for v in &self.activity_period {
  1196. os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1197. os.write_raw_varint32(v.get_cached_size())?;
  1198. v.write_to_with_cached_sizes(os)?;
  1199. };
  1200. for v in &self.restriction {
  1201. os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1202. os.write_raw_varint32(v.get_cached_size())?;
  1203. v.write_to_with_cached_sizes(os)?;
  1204. };
  1205. for v in &self.related {
  1206. os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1207. os.write_raw_varint32(v.get_cached_size())?;
  1208. v.write_to_with_cached_sizes(os)?;
  1209. };
  1210. if let Some(v) = self.is_portrait_album_cover {
  1211. os.write_bool(16, v)?;
  1212. }
  1213. if let Some(ref v) = self.portrait_group.as_ref() {
  1214. os.write_tag(17, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1215. os.write_raw_varint32(v.get_cached_size())?;
  1216. v.write_to_with_cached_sizes(os)?;
  1217. }
  1218. os.write_unknown_fields(self.get_unknown_fields())?;
  1219. ::std::result::Result::Ok(())
  1220. }
  1221. fn get_cached_size(&self) -> u32 {
  1222. self.cached_size.get()
  1223. }
  1224. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  1225. &self.unknown_fields
  1226. }
  1227. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  1228. &mut self.unknown_fields
  1229. }
  1230. fn as_any(&self) -> &::std::any::Any {
  1231. self as &::std::any::Any
  1232. }
  1233. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  1234. self as &mut ::std::any::Any
  1235. }
  1236. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  1237. self
  1238. }
  1239. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  1240. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  1241. }
  1242. }
  1243. impl ::protobuf::MessageStatic for Artist {
  1244. fn new() -> Artist {
  1245. Artist::new()
  1246. }
  1247. fn descriptor_static(_: ::std::option::Option<Artist>) -> &'static ::protobuf::reflect::MessageDescriptor {
  1248. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  1249. lock: ::protobuf::lazy::ONCE_INIT,
  1250. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  1251. };
  1252. unsafe {
  1253. descriptor.get(|| {
  1254. let mut fields = ::std::vec::Vec::new();
  1255. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  1256. "gid",
  1257. Artist::get_gid_for_reflect,
  1258. Artist::mut_gid_for_reflect,
  1259. ));
  1260. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  1261. "name",
  1262. Artist::get_name_for_reflect,
  1263. Artist::mut_name_for_reflect,
  1264. ));
  1265. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1266. "popularity",
  1267. Artist::get_popularity_for_reflect,
  1268. Artist::mut_popularity_for_reflect,
  1269. ));
  1270. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<TopTracks>>(
  1271. "top_track",
  1272. Artist::get_top_track_for_reflect,
  1273. Artist::mut_top_track_for_reflect,
  1274. ));
  1275. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1276. "album_group",
  1277. Artist::get_album_group_for_reflect,
  1278. Artist::mut_album_group_for_reflect,
  1279. ));
  1280. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1281. "single_group",
  1282. Artist::get_single_group_for_reflect,
  1283. Artist::mut_single_group_for_reflect,
  1284. ));
  1285. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1286. "compilation_group",
  1287. Artist::get_compilation_group_for_reflect,
  1288. Artist::mut_compilation_group_for_reflect,
  1289. ));
  1290. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1291. "appears_on_group",
  1292. Artist::get_appears_on_group_for_reflect,
  1293. Artist::mut_appears_on_group_for_reflect,
  1294. ));
  1295. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  1296. "genre",
  1297. Artist::get_genre_for_reflect,
  1298. Artist::mut_genre_for_reflect,
  1299. ));
  1300. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExternalId>>(
  1301. "external_id",
  1302. Artist::get_external_id_for_reflect,
  1303. Artist::mut_external_id_for_reflect,
  1304. ));
  1305. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  1306. "portrait",
  1307. Artist::get_portrait_for_reflect,
  1308. Artist::mut_portrait_for_reflect,
  1309. ));
  1310. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Biography>>(
  1311. "biography",
  1312. Artist::get_biography_for_reflect,
  1313. Artist::mut_biography_for_reflect,
  1314. ));
  1315. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ActivityPeriod>>(
  1316. "activity_period",
  1317. Artist::get_activity_period_for_reflect,
  1318. Artist::mut_activity_period_for_reflect,
  1319. ));
  1320. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  1321. "restriction",
  1322. Artist::get_restriction_for_reflect,
  1323. Artist::mut_restriction_for_reflect,
  1324. ));
  1325. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Artist>>(
  1326. "related",
  1327. Artist::get_related_for_reflect,
  1328. Artist::mut_related_for_reflect,
  1329. ));
  1330. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  1331. "is_portrait_album_cover",
  1332. Artist::get_is_portrait_album_cover_for_reflect,
  1333. Artist::mut_is_portrait_album_cover_for_reflect,
  1334. ));
  1335. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  1336. "portrait_group",
  1337. Artist::get_portrait_group_for_reflect,
  1338. Artist::mut_portrait_group_for_reflect,
  1339. ));
  1340. ::protobuf::reflect::MessageDescriptor::new::<Artist>(
  1341. "Artist",
  1342. fields,
  1343. file_descriptor_proto()
  1344. )
  1345. })
  1346. }
  1347. }
  1348. }
  1349. impl ::protobuf::Clear for Artist {
  1350. fn clear(&mut self) {
  1351. self.clear_gid();
  1352. self.clear_name();
  1353. self.clear_popularity();
  1354. self.clear_top_track();
  1355. self.clear_album_group();
  1356. self.clear_single_group();
  1357. self.clear_compilation_group();
  1358. self.clear_appears_on_group();
  1359. self.clear_genre();
  1360. self.clear_external_id();
  1361. self.clear_portrait();
  1362. self.clear_biography();
  1363. self.clear_activity_period();
  1364. self.clear_restriction();
  1365. self.clear_related();
  1366. self.clear_is_portrait_album_cover();
  1367. self.clear_portrait_group();
  1368. self.unknown_fields.clear();
  1369. }
  1370. }
  1371. impl ::std::fmt::Debug for Artist {
  1372. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  1373. ::protobuf::text_format::fmt(self, f)
  1374. }
  1375. }
  1376. impl ::protobuf::reflect::ProtobufValue for Artist {
  1377. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  1378. ::protobuf::reflect::ProtobufValueRef::Message(self)
  1379. }
  1380. }
  1381. #[derive(PartialEq,Clone,Default)]
  1382. pub struct AlbumGroup {
  1383. // message fields
  1384. album: ::protobuf::RepeatedField<Album>,
  1385. // special fields
  1386. unknown_fields: ::protobuf::UnknownFields,
  1387. cached_size: ::protobuf::CachedSize,
  1388. }
  1389. // see codegen.rs for the explanation why impl Sync explicitly
  1390. unsafe impl ::std::marker::Sync for AlbumGroup {}
  1391. impl AlbumGroup {
  1392. pub fn new() -> AlbumGroup {
  1393. ::std::default::Default::default()
  1394. }
  1395. pub fn default_instance() -> &'static AlbumGroup {
  1396. static mut instance: ::protobuf::lazy::Lazy<AlbumGroup> = ::protobuf::lazy::Lazy {
  1397. lock: ::protobuf::lazy::ONCE_INIT,
  1398. ptr: 0 as *const AlbumGroup,
  1399. };
  1400. unsafe {
  1401. instance.get(AlbumGroup::new)
  1402. }
  1403. }
  1404. // repeated .Album album = 1;
  1405. pub fn clear_album(&mut self) {
  1406. self.album.clear();
  1407. }
  1408. // Param is passed by value, moved
  1409. pub fn set_album(&mut self, v: ::protobuf::RepeatedField<Album>) {
  1410. self.album = v;
  1411. }
  1412. // Mutable pointer to the field.
  1413. pub fn mut_album(&mut self) -> &mut ::protobuf::RepeatedField<Album> {
  1414. &mut self.album
  1415. }
  1416. // Take field
  1417. pub fn take_album(&mut self) -> ::protobuf::RepeatedField<Album> {
  1418. ::std::mem::replace(&mut self.album, ::protobuf::RepeatedField::new())
  1419. }
  1420. pub fn get_album(&self) -> &[Album] {
  1421. &self.album
  1422. }
  1423. fn get_album_for_reflect(&self) -> &::protobuf::RepeatedField<Album> {
  1424. &self.album
  1425. }
  1426. fn mut_album_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Album> {
  1427. &mut self.album
  1428. }
  1429. }
  1430. impl ::protobuf::Message for AlbumGroup {
  1431. fn is_initialized(&self) -> bool {
  1432. for v in &self.album {
  1433. if !v.is_initialized() {
  1434. return false;
  1435. }
  1436. };
  1437. true
  1438. }
  1439. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  1440. while !is.eof()? {
  1441. let (field_number, wire_type) = is.read_tag_unpack()?;
  1442. match field_number {
  1443. 1 => {
  1444. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.album)?;
  1445. },
  1446. _ => {
  1447. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  1448. },
  1449. };
  1450. }
  1451. ::std::result::Result::Ok(())
  1452. }
  1453. // Compute sizes of nested messages
  1454. #[allow(unused_variables)]
  1455. fn compute_size(&self) -> u32 {
  1456. let mut my_size = 0;
  1457. for value in &self.album {
  1458. let len = value.compute_size();
  1459. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1460. };
  1461. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  1462. self.cached_size.set(my_size);
  1463. my_size
  1464. }
  1465. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  1466. for v in &self.album {
  1467. os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1468. os.write_raw_varint32(v.get_cached_size())?;
  1469. v.write_to_with_cached_sizes(os)?;
  1470. };
  1471. os.write_unknown_fields(self.get_unknown_fields())?;
  1472. ::std::result::Result::Ok(())
  1473. }
  1474. fn get_cached_size(&self) -> u32 {
  1475. self.cached_size.get()
  1476. }
  1477. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  1478. &self.unknown_fields
  1479. }
  1480. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  1481. &mut self.unknown_fields
  1482. }
  1483. fn as_any(&self) -> &::std::any::Any {
  1484. self as &::std::any::Any
  1485. }
  1486. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  1487. self as &mut ::std::any::Any
  1488. }
  1489. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  1490. self
  1491. }
  1492. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  1493. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  1494. }
  1495. }
  1496. impl ::protobuf::MessageStatic for AlbumGroup {
  1497. fn new() -> AlbumGroup {
  1498. AlbumGroup::new()
  1499. }
  1500. fn descriptor_static(_: ::std::option::Option<AlbumGroup>) -> &'static ::protobuf::reflect::MessageDescriptor {
  1501. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  1502. lock: ::protobuf::lazy::ONCE_INIT,
  1503. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  1504. };
  1505. unsafe {
  1506. descriptor.get(|| {
  1507. let mut fields = ::std::vec::Vec::new();
  1508. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Album>>(
  1509. "album",
  1510. AlbumGroup::get_album_for_reflect,
  1511. AlbumGroup::mut_album_for_reflect,
  1512. ));
  1513. ::protobuf::reflect::MessageDescriptor::new::<AlbumGroup>(
  1514. "AlbumGroup",
  1515. fields,
  1516. file_descriptor_proto()
  1517. )
  1518. })
  1519. }
  1520. }
  1521. }
  1522. impl ::protobuf::Clear for AlbumGroup {
  1523. fn clear(&mut self) {
  1524. self.clear_album();
  1525. self.unknown_fields.clear();
  1526. }
  1527. }
  1528. impl ::std::fmt::Debug for AlbumGroup {
  1529. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  1530. ::protobuf::text_format::fmt(self, f)
  1531. }
  1532. }
  1533. impl ::protobuf::reflect::ProtobufValue for AlbumGroup {
  1534. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  1535. ::protobuf::reflect::ProtobufValueRef::Message(self)
  1536. }
  1537. }
  1538. #[derive(PartialEq,Clone,Default)]
  1539. pub struct Date {
  1540. // message fields
  1541. year: ::std::option::Option<i32>,
  1542. month: ::std::option::Option<i32>,
  1543. day: ::std::option::Option<i32>,
  1544. // special fields
  1545. unknown_fields: ::protobuf::UnknownFields,
  1546. cached_size: ::protobuf::CachedSize,
  1547. }
  1548. // see codegen.rs for the explanation why impl Sync explicitly
  1549. unsafe impl ::std::marker::Sync for Date {}
  1550. impl Date {
  1551. pub fn new() -> Date {
  1552. ::std::default::Default::default()
  1553. }
  1554. pub fn default_instance() -> &'static Date {
  1555. static mut instance: ::protobuf::lazy::Lazy<Date> = ::protobuf::lazy::Lazy {
  1556. lock: ::protobuf::lazy::ONCE_INIT,
  1557. ptr: 0 as *const Date,
  1558. };
  1559. unsafe {
  1560. instance.get(Date::new)
  1561. }
  1562. }
  1563. // optional sint32 year = 1;
  1564. pub fn clear_year(&mut self) {
  1565. self.year = ::std::option::Option::None;
  1566. }
  1567. pub fn has_year(&self) -> bool {
  1568. self.year.is_some()
  1569. }
  1570. // Param is passed by value, moved
  1571. pub fn set_year(&mut self, v: i32) {
  1572. self.year = ::std::option::Option::Some(v);
  1573. }
  1574. pub fn get_year(&self) -> i32 {
  1575. self.year.unwrap_or(0)
  1576. }
  1577. fn get_year_for_reflect(&self) -> &::std::option::Option<i32> {
  1578. &self.year
  1579. }
  1580. fn mut_year_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  1581. &mut self.year
  1582. }
  1583. // optional sint32 month = 2;
  1584. pub fn clear_month(&mut self) {
  1585. self.month = ::std::option::Option::None;
  1586. }
  1587. pub fn has_month(&self) -> bool {
  1588. self.month.is_some()
  1589. }
  1590. // Param is passed by value, moved
  1591. pub fn set_month(&mut self, v: i32) {
  1592. self.month = ::std::option::Option::Some(v);
  1593. }
  1594. pub fn get_month(&self) -> i32 {
  1595. self.month.unwrap_or(0)
  1596. }
  1597. fn get_month_for_reflect(&self) -> &::std::option::Option<i32> {
  1598. &self.month
  1599. }
  1600. fn mut_month_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  1601. &mut self.month
  1602. }
  1603. // optional sint32 day = 3;
  1604. pub fn clear_day(&mut self) {
  1605. self.day = ::std::option::Option::None;
  1606. }
  1607. pub fn has_day(&self) -> bool {
  1608. self.day.is_some()
  1609. }
  1610. // Param is passed by value, moved
  1611. pub fn set_day(&mut self, v: i32) {
  1612. self.day = ::std::option::Option::Some(v);
  1613. }
  1614. pub fn get_day(&self) -> i32 {
  1615. self.day.unwrap_or(0)
  1616. }
  1617. fn get_day_for_reflect(&self) -> &::std::option::Option<i32> {
  1618. &self.day
  1619. }
  1620. fn mut_day_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  1621. &mut self.day
  1622. }
  1623. }
  1624. impl ::protobuf::Message for Date {
  1625. fn is_initialized(&self) -> bool {
  1626. true
  1627. }
  1628. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  1629. while !is.eof()? {
  1630. let (field_number, wire_type) = is.read_tag_unpack()?;
  1631. match field_number {
  1632. 1 => {
  1633. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1634. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1635. }
  1636. let tmp = is.read_sint32()?;
  1637. self.year = ::std::option::Option::Some(tmp);
  1638. },
  1639. 2 => {
  1640. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1641. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1642. }
  1643. let tmp = is.read_sint32()?;
  1644. self.month = ::std::option::Option::Some(tmp);
  1645. },
  1646. 3 => {
  1647. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1648. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1649. }
  1650. let tmp = is.read_sint32()?;
  1651. self.day = ::std::option::Option::Some(tmp);
  1652. },
  1653. _ => {
  1654. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  1655. },
  1656. };
  1657. }
  1658. ::std::result::Result::Ok(())
  1659. }
  1660. // Compute sizes of nested messages
  1661. #[allow(unused_variables)]
  1662. fn compute_size(&self) -> u32 {
  1663. let mut my_size = 0;
  1664. if let Some(v) = self.year {
  1665. my_size += ::protobuf::rt::value_varint_zigzag_size(1, v);
  1666. }
  1667. if let Some(v) = self.month {
  1668. my_size += ::protobuf::rt::value_varint_zigzag_size(2, v);
  1669. }
  1670. if let Some(v) = self.day {
  1671. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  1672. }
  1673. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  1674. self.cached_size.set(my_size);
  1675. my_size
  1676. }
  1677. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  1678. if let Some(v) = self.year {
  1679. os.write_sint32(1, v)?;
  1680. }
  1681. if let Some(v) = self.month {
  1682. os.write_sint32(2, v)?;
  1683. }
  1684. if let Some(v) = self.day {
  1685. os.write_sint32(3, v)?;
  1686. }
  1687. os.write_unknown_fields(self.get_unknown_fields())?;
  1688. ::std::result::Result::Ok(())
  1689. }
  1690. fn get_cached_size(&self) -> u32 {
  1691. self.cached_size.get()
  1692. }
  1693. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  1694. &self.unknown_fields
  1695. }
  1696. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  1697. &mut self.unknown_fields
  1698. }
  1699. fn as_any(&self) -> &::std::any::Any {
  1700. self as &::std::any::Any
  1701. }
  1702. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  1703. self as &mut ::std::any::Any
  1704. }
  1705. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  1706. self
  1707. }
  1708. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  1709. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  1710. }
  1711. }
  1712. impl ::protobuf::MessageStatic for Date {
  1713. fn new() -> Date {
  1714. Date::new()
  1715. }
  1716. fn descriptor_static(_: ::std::option::Option<Date>) -> &'static ::protobuf::reflect::MessageDescriptor {
  1717. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  1718. lock: ::protobuf::lazy::ONCE_INIT,
  1719. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  1720. };
  1721. unsafe {
  1722. descriptor.get(|| {
  1723. let mut fields = ::std::vec::Vec::new();
  1724. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1725. "year",
  1726. Date::get_year_for_reflect,
  1727. Date::mut_year_for_reflect,
  1728. ));
  1729. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1730. "month",
  1731. Date::get_month_for_reflect,
  1732. Date::mut_month_for_reflect,
  1733. ));
  1734. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1735. "day",
  1736. Date::get_day_for_reflect,
  1737. Date::mut_day_for_reflect,
  1738. ));
  1739. ::protobuf::reflect::MessageDescriptor::new::<Date>(
  1740. "Date",
  1741. fields,
  1742. file_descriptor_proto()
  1743. )
  1744. })
  1745. }
  1746. }
  1747. }
  1748. impl ::protobuf::Clear for Date {
  1749. fn clear(&mut self) {
  1750. self.clear_year();
  1751. self.clear_month();
  1752. self.clear_day();
  1753. self.unknown_fields.clear();
  1754. }
  1755. }
  1756. impl ::std::fmt::Debug for Date {
  1757. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  1758. ::protobuf::text_format::fmt(self, f)
  1759. }
  1760. }
  1761. impl ::protobuf::reflect::ProtobufValue for Date {
  1762. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  1763. ::protobuf::reflect::ProtobufValueRef::Message(self)
  1764. }
  1765. }
  1766. #[derive(PartialEq,Clone,Default)]
  1767. pub struct Album {
  1768. // message fields
  1769. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  1770. name: ::protobuf::SingularField<::std::string::String>,
  1771. artist: ::protobuf::RepeatedField<Artist>,
  1772. typ: ::std::option::Option<Album_Type>,
  1773. label: ::protobuf::SingularField<::std::string::String>,
  1774. date: ::protobuf::SingularPtrField<Date>,
  1775. popularity: ::std::option::Option<i32>,
  1776. genre: ::protobuf::RepeatedField<::std::string::String>,
  1777. cover: ::protobuf::RepeatedField<Image>,
  1778. external_id: ::protobuf::RepeatedField<ExternalId>,
  1779. disc: ::protobuf::RepeatedField<Disc>,
  1780. review: ::protobuf::RepeatedField<::std::string::String>,
  1781. copyright: ::protobuf::RepeatedField<Copyright>,
  1782. restriction: ::protobuf::RepeatedField<Restriction>,
  1783. related: ::protobuf::RepeatedField<Album>,
  1784. sale_period: ::protobuf::RepeatedField<SalePeriod>,
  1785. cover_group: ::protobuf::SingularPtrField<ImageGroup>,
  1786. // special fields
  1787. unknown_fields: ::protobuf::UnknownFields,
  1788. cached_size: ::protobuf::CachedSize,
  1789. }
  1790. // see codegen.rs for the explanation why impl Sync explicitly
  1791. unsafe impl ::std::marker::Sync for Album {}
  1792. impl Album {
  1793. pub fn new() -> Album {
  1794. ::std::default::Default::default()
  1795. }
  1796. pub fn default_instance() -> &'static Album {
  1797. static mut instance: ::protobuf::lazy::Lazy<Album> = ::protobuf::lazy::Lazy {
  1798. lock: ::protobuf::lazy::ONCE_INIT,
  1799. ptr: 0 as *const Album,
  1800. };
  1801. unsafe {
  1802. instance.get(Album::new)
  1803. }
  1804. }
  1805. // optional bytes gid = 1;
  1806. pub fn clear_gid(&mut self) {
  1807. self.gid.clear();
  1808. }
  1809. pub fn has_gid(&self) -> bool {
  1810. self.gid.is_some()
  1811. }
  1812. // Param is passed by value, moved
  1813. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  1814. self.gid = ::protobuf::SingularField::some(v);
  1815. }
  1816. // Mutable pointer to the field.
  1817. // If field is not initialized, it is initialized with default value first.
  1818. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  1819. if self.gid.is_none() {
  1820. self.gid.set_default();
  1821. }
  1822. self.gid.as_mut().unwrap()
  1823. }
  1824. // Take field
  1825. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  1826. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  1827. }
  1828. pub fn get_gid(&self) -> &[u8] {
  1829. match self.gid.as_ref() {
  1830. Some(v) => &v,
  1831. None => &[],
  1832. }
  1833. }
  1834. fn get_gid_for_reflect(&self) -> &::protobuf::SingularField<::std::vec::Vec<u8>> {
  1835. &self.gid
  1836. }
  1837. fn mut_gid_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::vec::Vec<u8>> {
  1838. &mut self.gid
  1839. }
  1840. // optional string name = 2;
  1841. pub fn clear_name(&mut self) {
  1842. self.name.clear();
  1843. }
  1844. pub fn has_name(&self) -> bool {
  1845. self.name.is_some()
  1846. }
  1847. // Param is passed by value, moved
  1848. pub fn set_name(&mut self, v: ::std::string::String) {
  1849. self.name = ::protobuf::SingularField::some(v);
  1850. }
  1851. // Mutable pointer to the field.
  1852. // If field is not initialized, it is initialized with default value first.
  1853. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  1854. if self.name.is_none() {
  1855. self.name.set_default();
  1856. }
  1857. self.name.as_mut().unwrap()
  1858. }
  1859. // Take field
  1860. pub fn take_name(&mut self) -> ::std::string::String {
  1861. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  1862. }
  1863. pub fn get_name(&self) -> &str {
  1864. match self.name.as_ref() {
  1865. Some(v) => &v,
  1866. None => "",
  1867. }
  1868. }
  1869. fn get_name_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  1870. &self.name
  1871. }
  1872. fn mut_name_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  1873. &mut self.name
  1874. }
  1875. // repeated .Artist artist = 3;
  1876. pub fn clear_artist(&mut self) {
  1877. self.artist.clear();
  1878. }
  1879. // Param is passed by value, moved
  1880. pub fn set_artist(&mut self, v: ::protobuf::RepeatedField<Artist>) {
  1881. self.artist = v;
  1882. }
  1883. // Mutable pointer to the field.
  1884. pub fn mut_artist(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  1885. &mut self.artist
  1886. }
  1887. // Take field
  1888. pub fn take_artist(&mut self) -> ::protobuf::RepeatedField<Artist> {
  1889. ::std::mem::replace(&mut self.artist, ::protobuf::RepeatedField::new())
  1890. }
  1891. pub fn get_artist(&self) -> &[Artist] {
  1892. &self.artist
  1893. }
  1894. fn get_artist_for_reflect(&self) -> &::protobuf::RepeatedField<Artist> {
  1895. &self.artist
  1896. }
  1897. fn mut_artist_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  1898. &mut self.artist
  1899. }
  1900. // optional .Album.Type typ = 4;
  1901. pub fn clear_typ(&mut self) {
  1902. self.typ = ::std::option::Option::None;
  1903. }
  1904. pub fn has_typ(&self) -> bool {
  1905. self.typ.is_some()
  1906. }
  1907. // Param is passed by value, moved
  1908. pub fn set_typ(&mut self, v: Album_Type) {
  1909. self.typ = ::std::option::Option::Some(v);
  1910. }
  1911. pub fn get_typ(&self) -> Album_Type {
  1912. self.typ.unwrap_or(Album_Type::ALBUM)
  1913. }
  1914. fn get_typ_for_reflect(&self) -> &::std::option::Option<Album_Type> {
  1915. &self.typ
  1916. }
  1917. fn mut_typ_for_reflect(&mut self) -> &mut ::std::option::Option<Album_Type> {
  1918. &mut self.typ
  1919. }
  1920. // optional string label = 5;
  1921. pub fn clear_label(&mut self) {
  1922. self.label.clear();
  1923. }
  1924. pub fn has_label(&self) -> bool {
  1925. self.label.is_some()
  1926. }
  1927. // Param is passed by value, moved
  1928. pub fn set_label(&mut self, v: ::std::string::String) {
  1929. self.label = ::protobuf::SingularField::some(v);
  1930. }
  1931. // Mutable pointer to the field.
  1932. // If field is not initialized, it is initialized with default value first.
  1933. pub fn mut_label(&mut self) -> &mut ::std::string::String {
  1934. if self.label.is_none() {
  1935. self.label.set_default();
  1936. }
  1937. self.label.as_mut().unwrap()
  1938. }
  1939. // Take field
  1940. pub fn take_label(&mut self) -> ::std::string::String {
  1941. self.label.take().unwrap_or_else(|| ::std::string::String::new())
  1942. }
  1943. pub fn get_label(&self) -> &str {
  1944. match self.label.as_ref() {
  1945. Some(v) => &v,
  1946. None => "",
  1947. }
  1948. }
  1949. fn get_label_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  1950. &self.label
  1951. }
  1952. fn mut_label_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  1953. &mut self.label
  1954. }
  1955. // optional .Date date = 6;
  1956. pub fn clear_date(&mut self) {
  1957. self.date.clear();
  1958. }
  1959. pub fn has_date(&self) -> bool {
  1960. self.date.is_some()
  1961. }
  1962. // Param is passed by value, moved
  1963. pub fn set_date(&mut self, v: Date) {
  1964. self.date = ::protobuf::SingularPtrField::some(v);
  1965. }
  1966. // Mutable pointer to the field.
  1967. // If field is not initialized, it is initialized with default value first.
  1968. pub fn mut_date(&mut self) -> &mut Date {
  1969. if self.date.is_none() {
  1970. self.date.set_default();
  1971. }
  1972. self.date.as_mut().unwrap()
  1973. }
  1974. // Take field
  1975. pub fn take_date(&mut self) -> Date {
  1976. self.date.take().unwrap_or_else(|| Date::new())
  1977. }
  1978. pub fn get_date(&self) -> &Date {
  1979. self.date.as_ref().unwrap_or_else(|| Date::default_instance())
  1980. }
  1981. fn get_date_for_reflect(&self) -> &::protobuf::SingularPtrField<Date> {
  1982. &self.date
  1983. }
  1984. fn mut_date_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField<Date> {
  1985. &mut self.date
  1986. }
  1987. // optional sint32 popularity = 7;
  1988. pub fn clear_popularity(&mut self) {
  1989. self.popularity = ::std::option::Option::None;
  1990. }
  1991. pub fn has_popularity(&self) -> bool {
  1992. self.popularity.is_some()
  1993. }
  1994. // Param is passed by value, moved
  1995. pub fn set_popularity(&mut self, v: i32) {
  1996. self.popularity = ::std::option::Option::Some(v);
  1997. }
  1998. pub fn get_popularity(&self) -> i32 {
  1999. self.popularity.unwrap_or(0)
  2000. }
  2001. fn get_popularity_for_reflect(&self) -> &::std::option::Option<i32> {
  2002. &self.popularity
  2003. }
  2004. fn mut_popularity_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  2005. &mut self.popularity
  2006. }
  2007. // repeated string genre = 8;
  2008. pub fn clear_genre(&mut self) {
  2009. self.genre.clear();
  2010. }
  2011. // Param is passed by value, moved
  2012. pub fn set_genre(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  2013. self.genre = v;
  2014. }
  2015. // Mutable pointer to the field.
  2016. pub fn mut_genre(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  2017. &mut self.genre
  2018. }
  2019. // Take field
  2020. pub fn take_genre(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  2021. ::std::mem::replace(&mut self.genre, ::protobuf::RepeatedField::new())
  2022. }
  2023. pub fn get_genre(&self) -> &[::std::string::String] {
  2024. &self.genre
  2025. }
  2026. fn get_genre_for_reflect(&self) -> &::protobuf::RepeatedField<::std::string::String> {
  2027. &self.genre
  2028. }
  2029. fn mut_genre_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  2030. &mut self.genre
  2031. }
  2032. // repeated .Image cover = 9;
  2033. pub fn clear_cover(&mut self) {
  2034. self.cover.clear();
  2035. }
  2036. // Param is passed by value, moved
  2037. pub fn set_cover(&mut self, v: ::protobuf::RepeatedField<Image>) {
  2038. self.cover = v;
  2039. }
  2040. // Mutable pointer to the field.
  2041. pub fn mut_cover(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  2042. &mut self.cover
  2043. }
  2044. // Take field
  2045. pub fn take_cover(&mut self) -> ::protobuf::RepeatedField<Image> {
  2046. ::std::mem::replace(&mut self.cover, ::protobuf::RepeatedField::new())
  2047. }
  2048. pub fn get_cover(&self) -> &[Image] {
  2049. &self.cover
  2050. }
  2051. fn get_cover_for_reflect(&self) -> &::protobuf::RepeatedField<Image> {
  2052. &self.cover
  2053. }
  2054. fn mut_cover_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  2055. &mut self.cover
  2056. }
  2057. // repeated .ExternalId external_id = 10;
  2058. pub fn clear_external_id(&mut self) {
  2059. self.external_id.clear();
  2060. }
  2061. // Param is passed by value, moved
  2062. pub fn set_external_id(&mut self, v: ::protobuf::RepeatedField<ExternalId>) {
  2063. self.external_id = v;
  2064. }
  2065. // Mutable pointer to the field.
  2066. pub fn mut_external_id(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  2067. &mut self.external_id
  2068. }
  2069. // Take field
  2070. pub fn take_external_id(&mut self) -> ::protobuf::RepeatedField<ExternalId> {
  2071. ::std::mem::replace(&mut self.external_id, ::protobuf::RepeatedField::new())
  2072. }
  2073. pub fn get_external_id(&self) -> &[ExternalId] {
  2074. &self.external_id
  2075. }
  2076. fn get_external_id_for_reflect(&self) -> &::protobuf::RepeatedField<ExternalId> {
  2077. &self.external_id
  2078. }
  2079. fn mut_external_id_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  2080. &mut self.external_id
  2081. }
  2082. // repeated .Disc disc = 11;
  2083. pub fn clear_disc(&mut self) {
  2084. self.disc.clear();
  2085. }
  2086. // Param is passed by value, moved
  2087. pub fn set_disc(&mut self, v: ::protobuf::RepeatedField<Disc>) {
  2088. self.disc = v;
  2089. }
  2090. // Mutable pointer to the field.
  2091. pub fn mut_disc(&mut self) -> &mut ::protobuf::RepeatedField<Disc> {
  2092. &mut self.disc
  2093. }
  2094. // Take field
  2095. pub fn take_disc(&mut self) -> ::protobuf::RepeatedField<Disc> {
  2096. ::std::mem::replace(&mut self.disc, ::protobuf::RepeatedField::new())
  2097. }
  2098. pub fn get_disc(&self) -> &[Disc] {
  2099. &self.disc
  2100. }
  2101. fn get_disc_for_reflect(&self) -> &::protobuf::RepeatedField<Disc> {
  2102. &self.disc
  2103. }
  2104. fn mut_disc_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Disc> {
  2105. &mut self.disc
  2106. }
  2107. // repeated string review = 12;
  2108. pub fn clear_review(&mut self) {
  2109. self.review.clear();
  2110. }
  2111. // Param is passed by value, moved
  2112. pub fn set_review(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  2113. self.review = v;
  2114. }
  2115. // Mutable pointer to the field.
  2116. pub fn mut_review(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  2117. &mut self.review
  2118. }
  2119. // Take field
  2120. pub fn take_review(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  2121. ::std::mem::replace(&mut self.review, ::protobuf::RepeatedField::new())
  2122. }
  2123. pub fn get_review(&self) -> &[::std::string::String] {
  2124. &self.review
  2125. }
  2126. fn get_review_for_reflect(&self) -> &::protobuf::RepeatedField<::std::string::String> {
  2127. &self.review
  2128. }
  2129. fn mut_review_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  2130. &mut self.review
  2131. }
  2132. // repeated .Copyright copyright = 13;
  2133. pub fn clear_copyright(&mut self) {
  2134. self.copyright.clear();
  2135. }
  2136. // Param is passed by value, moved
  2137. pub fn set_copyright(&mut self, v: ::protobuf::RepeatedField<Copyright>) {
  2138. self.copyright = v;
  2139. }
  2140. // Mutable pointer to the field.
  2141. pub fn mut_copyright(&mut self) -> &mut ::protobuf::RepeatedField<Copyright> {
  2142. &mut self.copyright
  2143. }
  2144. // Take field
  2145. pub fn take_copyright(&mut self) -> ::protobuf::RepeatedField<Copyright> {
  2146. ::std::mem::replace(&mut self.copyright, ::protobuf::RepeatedField::new())
  2147. }
  2148. pub fn get_copyright(&self) -> &[Copyright] {
  2149. &self.copyright
  2150. }
  2151. fn get_copyright_for_reflect(&self) -> &::protobuf::RepeatedField<Copyright> {
  2152. &self.copyright
  2153. }
  2154. fn mut_copyright_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Copyright> {
  2155. &mut self.copyright
  2156. }
  2157. // repeated .Restriction restriction = 14;
  2158. pub fn clear_restriction(&mut self) {
  2159. self.restriction.clear();
  2160. }
  2161. // Param is passed by value, moved
  2162. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  2163. self.restriction = v;
  2164. }
  2165. // Mutable pointer to the field.
  2166. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  2167. &mut self.restriction
  2168. }
  2169. // Take field
  2170. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  2171. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  2172. }
  2173. pub fn get_restriction(&self) -> &[Restriction] {
  2174. &self.restriction
  2175. }
  2176. fn get_restriction_for_reflect(&self) -> &::protobuf::RepeatedField<Restriction> {
  2177. &self.restriction
  2178. }
  2179. fn mut_restriction_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  2180. &mut self.restriction
  2181. }
  2182. // repeated .Album related = 15;
  2183. pub fn clear_related(&mut self) {
  2184. self.related.clear();
  2185. }
  2186. // Param is passed by value, moved
  2187. pub fn set_related(&mut self, v: ::protobuf::RepeatedField<Album>) {
  2188. self.related = v;
  2189. }
  2190. // Mutable pointer to the field.
  2191. pub fn mut_related(&mut self) -> &mut ::protobuf::RepeatedField<Album> {
  2192. &mut self.related
  2193. }
  2194. // Take field
  2195. pub fn take_related(&mut self) -> ::protobuf::RepeatedField<Album> {
  2196. ::std::mem::replace(&mut self.related, ::protobuf::RepeatedField::new())
  2197. }
  2198. pub fn get_related(&self) -> &[Album] {
  2199. &self.related
  2200. }
  2201. fn get_related_for_reflect(&self) -> &::protobuf::RepeatedField<Album> {
  2202. &self.related
  2203. }
  2204. fn mut_related_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Album> {
  2205. &mut self.related
  2206. }
  2207. // repeated .SalePeriod sale_period = 16;
  2208. pub fn clear_sale_period(&mut self) {
  2209. self.sale_period.clear();
  2210. }
  2211. // Param is passed by value, moved
  2212. pub fn set_sale_period(&mut self, v: ::protobuf::RepeatedField<SalePeriod>) {
  2213. self.sale_period = v;
  2214. }
  2215. // Mutable pointer to the field.
  2216. pub fn mut_sale_period(&mut self) -> &mut ::protobuf::RepeatedField<SalePeriod> {
  2217. &mut self.sale_period
  2218. }
  2219. // Take field
  2220. pub fn take_sale_period(&mut self) -> ::protobuf::RepeatedField<SalePeriod> {
  2221. ::std::mem::replace(&mut self.sale_period, ::protobuf::RepeatedField::new())
  2222. }
  2223. pub fn get_sale_period(&self) -> &[SalePeriod] {
  2224. &self.sale_period
  2225. }
  2226. fn get_sale_period_for_reflect(&self) -> &::protobuf::RepeatedField<SalePeriod> {
  2227. &self.sale_period
  2228. }
  2229. fn mut_sale_period_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<SalePeriod> {
  2230. &mut self.sale_period
  2231. }
  2232. // optional .ImageGroup cover_group = 17;
  2233. pub fn clear_cover_group(&mut self) {
  2234. self.cover_group.clear();
  2235. }
  2236. pub fn has_cover_group(&self) -> bool {
  2237. self.cover_group.is_some()
  2238. }
  2239. // Param is passed by value, moved
  2240. pub fn set_cover_group(&mut self, v: ImageGroup) {
  2241. self.cover_group = ::protobuf::SingularPtrField::some(v);
  2242. }
  2243. // Mutable pointer to the field.
  2244. // If field is not initialized, it is initialized with default value first.
  2245. pub fn mut_cover_group(&mut self) -> &mut ImageGroup {
  2246. if self.cover_group.is_none() {
  2247. self.cover_group.set_default();
  2248. }
  2249. self.cover_group.as_mut().unwrap()
  2250. }
  2251. // Take field
  2252. pub fn take_cover_group(&mut self) -> ImageGroup {
  2253. self.cover_group.take().unwrap_or_else(|| ImageGroup::new())
  2254. }
  2255. pub fn get_cover_group(&self) -> &ImageGroup {
  2256. self.cover_group.as_ref().unwrap_or_else(|| ImageGroup::default_instance())
  2257. }
  2258. fn get_cover_group_for_reflect(&self) -> &::protobuf::SingularPtrField<ImageGroup> {
  2259. &self.cover_group
  2260. }
  2261. fn mut_cover_group_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField<ImageGroup> {
  2262. &mut self.cover_group
  2263. }
  2264. }
  2265. impl ::protobuf::Message for Album {
  2266. fn is_initialized(&self) -> bool {
  2267. for v in &self.artist {
  2268. if !v.is_initialized() {
  2269. return false;
  2270. }
  2271. };
  2272. for v in &self.date {
  2273. if !v.is_initialized() {
  2274. return false;
  2275. }
  2276. };
  2277. for v in &self.cover {
  2278. if !v.is_initialized() {
  2279. return false;
  2280. }
  2281. };
  2282. for v in &self.external_id {
  2283. if !v.is_initialized() {
  2284. return false;
  2285. }
  2286. };
  2287. for v in &self.disc {
  2288. if !v.is_initialized() {
  2289. return false;
  2290. }
  2291. };
  2292. for v in &self.copyright {
  2293. if !v.is_initialized() {
  2294. return false;
  2295. }
  2296. };
  2297. for v in &self.restriction {
  2298. if !v.is_initialized() {
  2299. return false;
  2300. }
  2301. };
  2302. for v in &self.related {
  2303. if !v.is_initialized() {
  2304. return false;
  2305. }
  2306. };
  2307. for v in &self.sale_period {
  2308. if !v.is_initialized() {
  2309. return false;
  2310. }
  2311. };
  2312. for v in &self.cover_group {
  2313. if !v.is_initialized() {
  2314. return false;
  2315. }
  2316. };
  2317. true
  2318. }
  2319. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  2320. while !is.eof()? {
  2321. let (field_number, wire_type) = is.read_tag_unpack()?;
  2322. match field_number {
  2323. 1 => {
  2324. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  2325. },
  2326. 2 => {
  2327. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  2328. },
  2329. 3 => {
  2330. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.artist)?;
  2331. },
  2332. 4 => {
  2333. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2334. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2335. }
  2336. let tmp = is.read_enum()?;
  2337. self.typ = ::std::option::Option::Some(tmp);
  2338. },
  2339. 5 => {
  2340. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.label)?;
  2341. },
  2342. 6 => {
  2343. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.date)?;
  2344. },
  2345. 7 => {
  2346. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2347. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2348. }
  2349. let tmp = is.read_sint32()?;
  2350. self.popularity = ::std::option::Option::Some(tmp);
  2351. },
  2352. 8 => {
  2353. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.genre)?;
  2354. },
  2355. 9 => {
  2356. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.cover)?;
  2357. },
  2358. 10 => {
  2359. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.external_id)?;
  2360. },
  2361. 11 => {
  2362. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.disc)?;
  2363. },
  2364. 12 => {
  2365. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.review)?;
  2366. },
  2367. 13 => {
  2368. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.copyright)?;
  2369. },
  2370. 14 => {
  2371. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  2372. },
  2373. 15 => {
  2374. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.related)?;
  2375. },
  2376. 16 => {
  2377. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.sale_period)?;
  2378. },
  2379. 17 => {
  2380. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cover_group)?;
  2381. },
  2382. _ => {
  2383. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  2384. },
  2385. };
  2386. }
  2387. ::std::result::Result::Ok(())
  2388. }
  2389. // Compute sizes of nested messages
  2390. #[allow(unused_variables)]
  2391. fn compute_size(&self) -> u32 {
  2392. let mut my_size = 0;
  2393. if let Some(ref v) = self.gid.as_ref() {
  2394. my_size += ::protobuf::rt::bytes_size(1, &v);
  2395. }
  2396. if let Some(ref v) = self.name.as_ref() {
  2397. my_size += ::protobuf::rt::string_size(2, &v);
  2398. }
  2399. for value in &self.artist {
  2400. let len = value.compute_size();
  2401. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2402. };
  2403. if let Some(v) = self.typ {
  2404. my_size += ::protobuf::rt::enum_size(4, v);
  2405. }
  2406. if let Some(ref v) = self.label.as_ref() {
  2407. my_size += ::protobuf::rt::string_size(5, &v);
  2408. }
  2409. if let Some(ref v) = self.date.as_ref() {
  2410. let len = v.compute_size();
  2411. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2412. }
  2413. if let Some(v) = self.popularity {
  2414. my_size += ::protobuf::rt::value_varint_zigzag_size(7, v);
  2415. }
  2416. for value in &self.genre {
  2417. my_size += ::protobuf::rt::string_size(8, &value);
  2418. };
  2419. for value in &self.cover {
  2420. let len = value.compute_size();
  2421. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2422. };
  2423. for value in &self.external_id {
  2424. let len = value.compute_size();
  2425. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2426. };
  2427. for value in &self.disc {
  2428. let len = value.compute_size();
  2429. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2430. };
  2431. for value in &self.review {
  2432. my_size += ::protobuf::rt::string_size(12, &value);
  2433. };
  2434. for value in &self.copyright {
  2435. let len = value.compute_size();
  2436. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2437. };
  2438. for value in &self.restriction {
  2439. let len = value.compute_size();
  2440. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2441. };
  2442. for value in &self.related {
  2443. let len = value.compute_size();
  2444. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2445. };
  2446. for value in &self.sale_period {
  2447. let len = value.compute_size();
  2448. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2449. };
  2450. if let Some(ref v) = self.cover_group.as_ref() {
  2451. let len = v.compute_size();
  2452. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2453. }
  2454. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  2455. self.cached_size.set(my_size);
  2456. my_size
  2457. }
  2458. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  2459. if let Some(ref v) = self.gid.as_ref() {
  2460. os.write_bytes(1, &v)?;
  2461. }
  2462. if let Some(ref v) = self.name.as_ref() {
  2463. os.write_string(2, &v)?;
  2464. }
  2465. for v in &self.artist {
  2466. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2467. os.write_raw_varint32(v.get_cached_size())?;
  2468. v.write_to_with_cached_sizes(os)?;
  2469. };
  2470. if let Some(v) = self.typ {
  2471. os.write_enum(4, v.value())?;
  2472. }
  2473. if let Some(ref v) = self.label.as_ref() {
  2474. os.write_string(5, &v)?;
  2475. }
  2476. if let Some(ref v) = self.date.as_ref() {
  2477. os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2478. os.write_raw_varint32(v.get_cached_size())?;
  2479. v.write_to_with_cached_sizes(os)?;
  2480. }
  2481. if let Some(v) = self.popularity {
  2482. os.write_sint32(7, v)?;
  2483. }
  2484. for v in &self.genre {
  2485. os.write_string(8, &v)?;
  2486. };
  2487. for v in &self.cover {
  2488. os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2489. os.write_raw_varint32(v.get_cached_size())?;
  2490. v.write_to_with_cached_sizes(os)?;
  2491. };
  2492. for v in &self.external_id {
  2493. os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2494. os.write_raw_varint32(v.get_cached_size())?;
  2495. v.write_to_with_cached_sizes(os)?;
  2496. };
  2497. for v in &self.disc {
  2498. os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2499. os.write_raw_varint32(v.get_cached_size())?;
  2500. v.write_to_with_cached_sizes(os)?;
  2501. };
  2502. for v in &self.review {
  2503. os.write_string(12, &v)?;
  2504. };
  2505. for v in &self.copyright {
  2506. os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2507. os.write_raw_varint32(v.get_cached_size())?;
  2508. v.write_to_with_cached_sizes(os)?;
  2509. };
  2510. for v in &self.restriction {
  2511. os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2512. os.write_raw_varint32(v.get_cached_size())?;
  2513. v.write_to_with_cached_sizes(os)?;
  2514. };
  2515. for v in &self.related {
  2516. os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2517. os.write_raw_varint32(v.get_cached_size())?;
  2518. v.write_to_with_cached_sizes(os)?;
  2519. };
  2520. for v in &self.sale_period {
  2521. os.write_tag(16, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2522. os.write_raw_varint32(v.get_cached_size())?;
  2523. v.write_to_with_cached_sizes(os)?;
  2524. };
  2525. if let Some(ref v) = self.cover_group.as_ref() {
  2526. os.write_tag(17, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2527. os.write_raw_varint32(v.get_cached_size())?;
  2528. v.write_to_with_cached_sizes(os)?;
  2529. }
  2530. os.write_unknown_fields(self.get_unknown_fields())?;
  2531. ::std::result::Result::Ok(())
  2532. }
  2533. fn get_cached_size(&self) -> u32 {
  2534. self.cached_size.get()
  2535. }
  2536. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  2537. &self.unknown_fields
  2538. }
  2539. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  2540. &mut self.unknown_fields
  2541. }
  2542. fn as_any(&self) -> &::std::any::Any {
  2543. self as &::std::any::Any
  2544. }
  2545. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  2546. self as &mut ::std::any::Any
  2547. }
  2548. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  2549. self
  2550. }
  2551. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  2552. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  2553. }
  2554. }
  2555. impl ::protobuf::MessageStatic for Album {
  2556. fn new() -> Album {
  2557. Album::new()
  2558. }
  2559. fn descriptor_static(_: ::std::option::Option<Album>) -> &'static ::protobuf::reflect::MessageDescriptor {
  2560. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  2561. lock: ::protobuf::lazy::ONCE_INIT,
  2562. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  2563. };
  2564. unsafe {
  2565. descriptor.get(|| {
  2566. let mut fields = ::std::vec::Vec::new();
  2567. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  2568. "gid",
  2569. Album::get_gid_for_reflect,
  2570. Album::mut_gid_for_reflect,
  2571. ));
  2572. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2573. "name",
  2574. Album::get_name_for_reflect,
  2575. Album::mut_name_for_reflect,
  2576. ));
  2577. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Artist>>(
  2578. "artist",
  2579. Album::get_artist_for_reflect,
  2580. Album::mut_artist_for_reflect,
  2581. ));
  2582. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Album_Type>>(
  2583. "typ",
  2584. Album::get_typ_for_reflect,
  2585. Album::mut_typ_for_reflect,
  2586. ));
  2587. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2588. "label",
  2589. Album::get_label_for_reflect,
  2590. Album::mut_label_for_reflect,
  2591. ));
  2592. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  2593. "date",
  2594. Album::get_date_for_reflect,
  2595. Album::mut_date_for_reflect,
  2596. ));
  2597. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  2598. "popularity",
  2599. Album::get_popularity_for_reflect,
  2600. Album::mut_popularity_for_reflect,
  2601. ));
  2602. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2603. "genre",
  2604. Album::get_genre_for_reflect,
  2605. Album::mut_genre_for_reflect,
  2606. ));
  2607. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  2608. "cover",
  2609. Album::get_cover_for_reflect,
  2610. Album::mut_cover_for_reflect,
  2611. ));
  2612. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExternalId>>(
  2613. "external_id",
  2614. Album::get_external_id_for_reflect,
  2615. Album::mut_external_id_for_reflect,
  2616. ));
  2617. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Disc>>(
  2618. "disc",
  2619. Album::get_disc_for_reflect,
  2620. Album::mut_disc_for_reflect,
  2621. ));
  2622. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2623. "review",
  2624. Album::get_review_for_reflect,
  2625. Album::mut_review_for_reflect,
  2626. ));
  2627. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Copyright>>(
  2628. "copyright",
  2629. Album::get_copyright_for_reflect,
  2630. Album::mut_copyright_for_reflect,
  2631. ));
  2632. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  2633. "restriction",
  2634. Album::get_restriction_for_reflect,
  2635. Album::mut_restriction_for_reflect,
  2636. ));
  2637. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Album>>(
  2638. "related",
  2639. Album::get_related_for_reflect,
  2640. Album::mut_related_for_reflect,
  2641. ));
  2642. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SalePeriod>>(
  2643. "sale_period",
  2644. Album::get_sale_period_for_reflect,
  2645. Album::mut_sale_period_for_reflect,
  2646. ));
  2647. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  2648. "cover_group",
  2649. Album::get_cover_group_for_reflect,
  2650. Album::mut_cover_group_for_reflect,
  2651. ));
  2652. ::protobuf::reflect::MessageDescriptor::new::<Album>(
  2653. "Album",
  2654. fields,
  2655. file_descriptor_proto()
  2656. )
  2657. })
  2658. }
  2659. }
  2660. }
  2661. impl ::protobuf::Clear for Album {
  2662. fn clear(&mut self) {
  2663. self.clear_gid();
  2664. self.clear_name();
  2665. self.clear_artist();
  2666. self.clear_typ();
  2667. self.clear_label();
  2668. self.clear_date();
  2669. self.clear_popularity();
  2670. self.clear_genre();
  2671. self.clear_cover();
  2672. self.clear_external_id();
  2673. self.clear_disc();
  2674. self.clear_review();
  2675. self.clear_copyright();
  2676. self.clear_restriction();
  2677. self.clear_related();
  2678. self.clear_sale_period();
  2679. self.clear_cover_group();
  2680. self.unknown_fields.clear();
  2681. }
  2682. }
  2683. impl ::std::fmt::Debug for Album {
  2684. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  2685. ::protobuf::text_format::fmt(self, f)
  2686. }
  2687. }
  2688. impl ::protobuf::reflect::ProtobufValue for Album {
  2689. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  2690. ::protobuf::reflect::ProtobufValueRef::Message(self)
  2691. }
  2692. }
  2693. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  2694. pub enum Album_Type {
  2695. ALBUM = 1,
  2696. SINGLE = 2,
  2697. COMPILATION = 3,
  2698. EP = 4,
  2699. }
  2700. impl ::protobuf::ProtobufEnum for Album_Type {
  2701. fn value(&self) -> i32 {
  2702. *self as i32
  2703. }
  2704. fn from_i32(value: i32) -> ::std::option::Option<Album_Type> {
  2705. match value {
  2706. 1 => ::std::option::Option::Some(Album_Type::ALBUM),
  2707. 2 => ::std::option::Option::Some(Album_Type::SINGLE),
  2708. 3 => ::std::option::Option::Some(Album_Type::COMPILATION),
  2709. 4 => ::std::option::Option::Some(Album_Type::EP),
  2710. _ => ::std::option::Option::None
  2711. }
  2712. }
  2713. fn values() -> &'static [Self] {
  2714. static values: &'static [Album_Type] = &[
  2715. Album_Type::ALBUM,
  2716. Album_Type::SINGLE,
  2717. Album_Type::COMPILATION,
  2718. Album_Type::EP,
  2719. ];
  2720. values
  2721. }
  2722. fn enum_descriptor_static(_: ::std::option::Option<Album_Type>) -> &'static ::protobuf::reflect::EnumDescriptor {
  2723. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  2724. lock: ::protobuf::lazy::ONCE_INIT,
  2725. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  2726. };
  2727. unsafe {
  2728. descriptor.get(|| {
  2729. ::protobuf::reflect::EnumDescriptor::new("Album_Type", file_descriptor_proto())
  2730. })
  2731. }
  2732. }
  2733. }
  2734. impl ::std::marker::Copy for Album_Type {
  2735. }
  2736. impl ::protobuf::reflect::ProtobufValue for Album_Type {
  2737. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  2738. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  2739. }
  2740. }
  2741. #[derive(PartialEq,Clone,Default)]
  2742. pub struct Track {
  2743. // message fields
  2744. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  2745. name: ::protobuf::SingularField<::std::string::String>,
  2746. album: ::protobuf::SingularPtrField<Album>,
  2747. artist: ::protobuf::RepeatedField<Artist>,
  2748. number: ::std::option::Option<i32>,
  2749. disc_number: ::std::option::Option<i32>,
  2750. duration: ::std::option::Option<i32>,
  2751. popularity: ::std::option::Option<i32>,
  2752. explicit: ::std::option::Option<bool>,
  2753. external_id: ::protobuf::RepeatedField<ExternalId>,
  2754. restriction: ::protobuf::RepeatedField<Restriction>,
  2755. file: ::protobuf::RepeatedField<AudioFile>,
  2756. alternative: ::protobuf::RepeatedField<Track>,
  2757. sale_period: ::protobuf::RepeatedField<SalePeriod>,
  2758. preview: ::protobuf::RepeatedField<AudioFile>,
  2759. // special fields
  2760. unknown_fields: ::protobuf::UnknownFields,
  2761. cached_size: ::protobuf::CachedSize,
  2762. }
  2763. // see codegen.rs for the explanation why impl Sync explicitly
  2764. unsafe impl ::std::marker::Sync for Track {}
  2765. impl Track {
  2766. pub fn new() -> Track {
  2767. ::std::default::Default::default()
  2768. }
  2769. pub fn default_instance() -> &'static Track {
  2770. static mut instance: ::protobuf::lazy::Lazy<Track> = ::protobuf::lazy::Lazy {
  2771. lock: ::protobuf::lazy::ONCE_INIT,
  2772. ptr: 0 as *const Track,
  2773. };
  2774. unsafe {
  2775. instance.get(Track::new)
  2776. }
  2777. }
  2778. // optional bytes gid = 1;
  2779. pub fn clear_gid(&mut self) {
  2780. self.gid.clear();
  2781. }
  2782. pub fn has_gid(&self) -> bool {
  2783. self.gid.is_some()
  2784. }
  2785. // Param is passed by value, moved
  2786. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  2787. self.gid = ::protobuf::SingularField::some(v);
  2788. }
  2789. // Mutable pointer to the field.
  2790. // If field is not initialized, it is initialized with default value first.
  2791. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  2792. if self.gid.is_none() {
  2793. self.gid.set_default();
  2794. }
  2795. self.gid.as_mut().unwrap()
  2796. }
  2797. // Take field
  2798. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  2799. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  2800. }
  2801. pub fn get_gid(&self) -> &[u8] {
  2802. match self.gid.as_ref() {
  2803. Some(v) => &v,
  2804. None => &[],
  2805. }
  2806. }
  2807. fn get_gid_for_reflect(&self) -> &::protobuf::SingularField<::std::vec::Vec<u8>> {
  2808. &self.gid
  2809. }
  2810. fn mut_gid_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::vec::Vec<u8>> {
  2811. &mut self.gid
  2812. }
  2813. // optional string name = 2;
  2814. pub fn clear_name(&mut self) {
  2815. self.name.clear();
  2816. }
  2817. pub fn has_name(&self) -> bool {
  2818. self.name.is_some()
  2819. }
  2820. // Param is passed by value, moved
  2821. pub fn set_name(&mut self, v: ::std::string::String) {
  2822. self.name = ::protobuf::SingularField::some(v);
  2823. }
  2824. // Mutable pointer to the field.
  2825. // If field is not initialized, it is initialized with default value first.
  2826. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  2827. if self.name.is_none() {
  2828. self.name.set_default();
  2829. }
  2830. self.name.as_mut().unwrap()
  2831. }
  2832. // Take field
  2833. pub fn take_name(&mut self) -> ::std::string::String {
  2834. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  2835. }
  2836. pub fn get_name(&self) -> &str {
  2837. match self.name.as_ref() {
  2838. Some(v) => &v,
  2839. None => "",
  2840. }
  2841. }
  2842. fn get_name_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  2843. &self.name
  2844. }
  2845. fn mut_name_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  2846. &mut self.name
  2847. }
  2848. // optional .Album album = 3;
  2849. pub fn clear_album(&mut self) {
  2850. self.album.clear();
  2851. }
  2852. pub fn has_album(&self) -> bool {
  2853. self.album.is_some()
  2854. }
  2855. // Param is passed by value, moved
  2856. pub fn set_album(&mut self, v: Album) {
  2857. self.album = ::protobuf::SingularPtrField::some(v);
  2858. }
  2859. // Mutable pointer to the field.
  2860. // If field is not initialized, it is initialized with default value first.
  2861. pub fn mut_album(&mut self) -> &mut Album {
  2862. if self.album.is_none() {
  2863. self.album.set_default();
  2864. }
  2865. self.album.as_mut().unwrap()
  2866. }
  2867. // Take field
  2868. pub fn take_album(&mut self) -> Album {
  2869. self.album.take().unwrap_or_else(|| Album::new())
  2870. }
  2871. pub fn get_album(&self) -> &Album {
  2872. self.album.as_ref().unwrap_or_else(|| Album::default_instance())
  2873. }
  2874. fn get_album_for_reflect(&self) -> &::protobuf::SingularPtrField<Album> {
  2875. &self.album
  2876. }
  2877. fn mut_album_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField<Album> {
  2878. &mut self.album
  2879. }
  2880. // repeated .Artist artist = 4;
  2881. pub fn clear_artist(&mut self) {
  2882. self.artist.clear();
  2883. }
  2884. // Param is passed by value, moved
  2885. pub fn set_artist(&mut self, v: ::protobuf::RepeatedField<Artist>) {
  2886. self.artist = v;
  2887. }
  2888. // Mutable pointer to the field.
  2889. pub fn mut_artist(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  2890. &mut self.artist
  2891. }
  2892. // Take field
  2893. pub fn take_artist(&mut self) -> ::protobuf::RepeatedField<Artist> {
  2894. ::std::mem::replace(&mut self.artist, ::protobuf::RepeatedField::new())
  2895. }
  2896. pub fn get_artist(&self) -> &[Artist] {
  2897. &self.artist
  2898. }
  2899. fn get_artist_for_reflect(&self) -> &::protobuf::RepeatedField<Artist> {
  2900. &self.artist
  2901. }
  2902. fn mut_artist_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  2903. &mut self.artist
  2904. }
  2905. // optional sint32 number = 5;
  2906. pub fn clear_number(&mut self) {
  2907. self.number = ::std::option::Option::None;
  2908. }
  2909. pub fn has_number(&self) -> bool {
  2910. self.number.is_some()
  2911. }
  2912. // Param is passed by value, moved
  2913. pub fn set_number(&mut self, v: i32) {
  2914. self.number = ::std::option::Option::Some(v);
  2915. }
  2916. pub fn get_number(&self) -> i32 {
  2917. self.number.unwrap_or(0)
  2918. }
  2919. fn get_number_for_reflect(&self) -> &::std::option::Option<i32> {
  2920. &self.number
  2921. }
  2922. fn mut_number_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  2923. &mut self.number
  2924. }
  2925. // optional sint32 disc_number = 6;
  2926. pub fn clear_disc_number(&mut self) {
  2927. self.disc_number = ::std::option::Option::None;
  2928. }
  2929. pub fn has_disc_number(&self) -> bool {
  2930. self.disc_number.is_some()
  2931. }
  2932. // Param is passed by value, moved
  2933. pub fn set_disc_number(&mut self, v: i32) {
  2934. self.disc_number = ::std::option::Option::Some(v);
  2935. }
  2936. pub fn get_disc_number(&self) -> i32 {
  2937. self.disc_number.unwrap_or(0)
  2938. }
  2939. fn get_disc_number_for_reflect(&self) -> &::std::option::Option<i32> {
  2940. &self.disc_number
  2941. }
  2942. fn mut_disc_number_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  2943. &mut self.disc_number
  2944. }
  2945. // optional sint32 duration = 7;
  2946. pub fn clear_duration(&mut self) {
  2947. self.duration = ::std::option::Option::None;
  2948. }
  2949. pub fn has_duration(&self) -> bool {
  2950. self.duration.is_some()
  2951. }
  2952. // Param is passed by value, moved
  2953. pub fn set_duration(&mut self, v: i32) {
  2954. self.duration = ::std::option::Option::Some(v);
  2955. }
  2956. pub fn get_duration(&self) -> i32 {
  2957. self.duration.unwrap_or(0)
  2958. }
  2959. fn get_duration_for_reflect(&self) -> &::std::option::Option<i32> {
  2960. &self.duration
  2961. }
  2962. fn mut_duration_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  2963. &mut self.duration
  2964. }
  2965. // optional sint32 popularity = 8;
  2966. pub fn clear_popularity(&mut self) {
  2967. self.popularity = ::std::option::Option::None;
  2968. }
  2969. pub fn has_popularity(&self) -> bool {
  2970. self.popularity.is_some()
  2971. }
  2972. // Param is passed by value, moved
  2973. pub fn set_popularity(&mut self, v: i32) {
  2974. self.popularity = ::std::option::Option::Some(v);
  2975. }
  2976. pub fn get_popularity(&self) -> i32 {
  2977. self.popularity.unwrap_or(0)
  2978. }
  2979. fn get_popularity_for_reflect(&self) -> &::std::option::Option<i32> {
  2980. &self.popularity
  2981. }
  2982. fn mut_popularity_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  2983. &mut self.popularity
  2984. }
  2985. // optional bool explicit = 9;
  2986. pub fn clear_explicit(&mut self) {
  2987. self.explicit = ::std::option::Option::None;
  2988. }
  2989. pub fn has_explicit(&self) -> bool {
  2990. self.explicit.is_some()
  2991. }
  2992. // Param is passed by value, moved
  2993. pub fn set_explicit(&mut self, v: bool) {
  2994. self.explicit = ::std::option::Option::Some(v);
  2995. }
  2996. pub fn get_explicit(&self) -> bool {
  2997. self.explicit.unwrap_or(false)
  2998. }
  2999. fn get_explicit_for_reflect(&self) -> &::std::option::Option<bool> {
  3000. &self.explicit
  3001. }
  3002. fn mut_explicit_for_reflect(&mut self) -> &mut ::std::option::Option<bool> {
  3003. &mut self.explicit
  3004. }
  3005. // repeated .ExternalId external_id = 10;
  3006. pub fn clear_external_id(&mut self) {
  3007. self.external_id.clear();
  3008. }
  3009. // Param is passed by value, moved
  3010. pub fn set_external_id(&mut self, v: ::protobuf::RepeatedField<ExternalId>) {
  3011. self.external_id = v;
  3012. }
  3013. // Mutable pointer to the field.
  3014. pub fn mut_external_id(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  3015. &mut self.external_id
  3016. }
  3017. // Take field
  3018. pub fn take_external_id(&mut self) -> ::protobuf::RepeatedField<ExternalId> {
  3019. ::std::mem::replace(&mut self.external_id, ::protobuf::RepeatedField::new())
  3020. }
  3021. pub fn get_external_id(&self) -> &[ExternalId] {
  3022. &self.external_id
  3023. }
  3024. fn get_external_id_for_reflect(&self) -> &::protobuf::RepeatedField<ExternalId> {
  3025. &self.external_id
  3026. }
  3027. fn mut_external_id_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  3028. &mut self.external_id
  3029. }
  3030. // repeated .Restriction restriction = 11;
  3031. pub fn clear_restriction(&mut self) {
  3032. self.restriction.clear();
  3033. }
  3034. // Param is passed by value, moved
  3035. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  3036. self.restriction = v;
  3037. }
  3038. // Mutable pointer to the field.
  3039. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  3040. &mut self.restriction
  3041. }
  3042. // Take field
  3043. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  3044. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  3045. }
  3046. pub fn get_restriction(&self) -> &[Restriction] {
  3047. &self.restriction
  3048. }
  3049. fn get_restriction_for_reflect(&self) -> &::protobuf::RepeatedField<Restriction> {
  3050. &self.restriction
  3051. }
  3052. fn mut_restriction_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  3053. &mut self.restriction
  3054. }
  3055. // repeated .AudioFile file = 12;
  3056. pub fn clear_file(&mut self) {
  3057. self.file.clear();
  3058. }
  3059. // Param is passed by value, moved
  3060. pub fn set_file(&mut self, v: ::protobuf::RepeatedField<AudioFile>) {
  3061. self.file = v;
  3062. }
  3063. // Mutable pointer to the field.
  3064. pub fn mut_file(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  3065. &mut self.file
  3066. }
  3067. // Take field
  3068. pub fn take_file(&mut self) -> ::protobuf::RepeatedField<AudioFile> {
  3069. ::std::mem::replace(&mut self.file, ::protobuf::RepeatedField::new())
  3070. }
  3071. pub fn get_file(&self) -> &[AudioFile] {
  3072. &self.file
  3073. }
  3074. fn get_file_for_reflect(&self) -> &::protobuf::RepeatedField<AudioFile> {
  3075. &self.file
  3076. }
  3077. fn mut_file_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  3078. &mut self.file
  3079. }
  3080. // repeated .Track alternative = 13;
  3081. pub fn clear_alternative(&mut self) {
  3082. self.alternative.clear();
  3083. }
  3084. // Param is passed by value, moved
  3085. pub fn set_alternative(&mut self, v: ::protobuf::RepeatedField<Track>) {
  3086. self.alternative = v;
  3087. }
  3088. // Mutable pointer to the field.
  3089. pub fn mut_alternative(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  3090. &mut self.alternative
  3091. }
  3092. // Take field
  3093. pub fn take_alternative(&mut self) -> ::protobuf::RepeatedField<Track> {
  3094. ::std::mem::replace(&mut self.alternative, ::protobuf::RepeatedField::new())
  3095. }
  3096. pub fn get_alternative(&self) -> &[Track] {
  3097. &self.alternative
  3098. }
  3099. fn get_alternative_for_reflect(&self) -> &::protobuf::RepeatedField<Track> {
  3100. &self.alternative
  3101. }
  3102. fn mut_alternative_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  3103. &mut self.alternative
  3104. }
  3105. // repeated .SalePeriod sale_period = 14;
  3106. pub fn clear_sale_period(&mut self) {
  3107. self.sale_period.clear();
  3108. }
  3109. // Param is passed by value, moved
  3110. pub fn set_sale_period(&mut self, v: ::protobuf::RepeatedField<SalePeriod>) {
  3111. self.sale_period = v;
  3112. }
  3113. // Mutable pointer to the field.
  3114. pub fn mut_sale_period(&mut self) -> &mut ::protobuf::RepeatedField<SalePeriod> {
  3115. &mut self.sale_period
  3116. }
  3117. // Take field
  3118. pub fn take_sale_period(&mut self) -> ::protobuf::RepeatedField<SalePeriod> {
  3119. ::std::mem::replace(&mut self.sale_period, ::protobuf::RepeatedField::new())
  3120. }
  3121. pub fn get_sale_period(&self) -> &[SalePeriod] {
  3122. &self.sale_period
  3123. }
  3124. fn get_sale_period_for_reflect(&self) -> &::protobuf::RepeatedField<SalePeriod> {
  3125. &self.sale_period
  3126. }
  3127. fn mut_sale_period_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<SalePeriod> {
  3128. &mut self.sale_period
  3129. }
  3130. // repeated .AudioFile preview = 15;
  3131. pub fn clear_preview(&mut self) {
  3132. self.preview.clear();
  3133. }
  3134. // Param is passed by value, moved
  3135. pub fn set_preview(&mut self, v: ::protobuf::RepeatedField<AudioFile>) {
  3136. self.preview = v;
  3137. }
  3138. // Mutable pointer to the field.
  3139. pub fn mut_preview(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  3140. &mut self.preview
  3141. }
  3142. // Take field
  3143. pub fn take_preview(&mut self) -> ::protobuf::RepeatedField<AudioFile> {
  3144. ::std::mem::replace(&mut self.preview, ::protobuf::RepeatedField::new())
  3145. }
  3146. pub fn get_preview(&self) -> &[AudioFile] {
  3147. &self.preview
  3148. }
  3149. fn get_preview_for_reflect(&self) -> &::protobuf::RepeatedField<AudioFile> {
  3150. &self.preview
  3151. }
  3152. fn mut_preview_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  3153. &mut self.preview
  3154. }
  3155. }
  3156. impl ::protobuf::Message for Track {
  3157. fn is_initialized(&self) -> bool {
  3158. for v in &self.album {
  3159. if !v.is_initialized() {
  3160. return false;
  3161. }
  3162. };
  3163. for v in &self.artist {
  3164. if !v.is_initialized() {
  3165. return false;
  3166. }
  3167. };
  3168. for v in &self.external_id {
  3169. if !v.is_initialized() {
  3170. return false;
  3171. }
  3172. };
  3173. for v in &self.restriction {
  3174. if !v.is_initialized() {
  3175. return false;
  3176. }
  3177. };
  3178. for v in &self.file {
  3179. if !v.is_initialized() {
  3180. return false;
  3181. }
  3182. };
  3183. for v in &self.alternative {
  3184. if !v.is_initialized() {
  3185. return false;
  3186. }
  3187. };
  3188. for v in &self.sale_period {
  3189. if !v.is_initialized() {
  3190. return false;
  3191. }
  3192. };
  3193. for v in &self.preview {
  3194. if !v.is_initialized() {
  3195. return false;
  3196. }
  3197. };
  3198. true
  3199. }
  3200. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  3201. while !is.eof()? {
  3202. let (field_number, wire_type) = is.read_tag_unpack()?;
  3203. match field_number {
  3204. 1 => {
  3205. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  3206. },
  3207. 2 => {
  3208. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  3209. },
  3210. 3 => {
  3211. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.album)?;
  3212. },
  3213. 4 => {
  3214. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.artist)?;
  3215. },
  3216. 5 => {
  3217. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3218. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3219. }
  3220. let tmp = is.read_sint32()?;
  3221. self.number = ::std::option::Option::Some(tmp);
  3222. },
  3223. 6 => {
  3224. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3225. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3226. }
  3227. let tmp = is.read_sint32()?;
  3228. self.disc_number = ::std::option::Option::Some(tmp);
  3229. },
  3230. 7 => {
  3231. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3232. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3233. }
  3234. let tmp = is.read_sint32()?;
  3235. self.duration = ::std::option::Option::Some(tmp);
  3236. },
  3237. 8 => {
  3238. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3239. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3240. }
  3241. let tmp = is.read_sint32()?;
  3242. self.popularity = ::std::option::Option::Some(tmp);
  3243. },
  3244. 9 => {
  3245. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3246. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3247. }
  3248. let tmp = is.read_bool()?;
  3249. self.explicit = ::std::option::Option::Some(tmp);
  3250. },
  3251. 10 => {
  3252. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.external_id)?;
  3253. },
  3254. 11 => {
  3255. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  3256. },
  3257. 12 => {
  3258. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.file)?;
  3259. },
  3260. 13 => {
  3261. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.alternative)?;
  3262. },
  3263. 14 => {
  3264. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.sale_period)?;
  3265. },
  3266. 15 => {
  3267. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.preview)?;
  3268. },
  3269. _ => {
  3270. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  3271. },
  3272. };
  3273. }
  3274. ::std::result::Result::Ok(())
  3275. }
  3276. // Compute sizes of nested messages
  3277. #[allow(unused_variables)]
  3278. fn compute_size(&self) -> u32 {
  3279. let mut my_size = 0;
  3280. if let Some(ref v) = self.gid.as_ref() {
  3281. my_size += ::protobuf::rt::bytes_size(1, &v);
  3282. }
  3283. if let Some(ref v) = self.name.as_ref() {
  3284. my_size += ::protobuf::rt::string_size(2, &v);
  3285. }
  3286. if let Some(ref v) = self.album.as_ref() {
  3287. let len = v.compute_size();
  3288. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3289. }
  3290. for value in &self.artist {
  3291. let len = value.compute_size();
  3292. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3293. };
  3294. if let Some(v) = self.number {
  3295. my_size += ::protobuf::rt::value_varint_zigzag_size(5, v);
  3296. }
  3297. if let Some(v) = self.disc_number {
  3298. my_size += ::protobuf::rt::value_varint_zigzag_size(6, v);
  3299. }
  3300. if let Some(v) = self.duration {
  3301. my_size += ::protobuf::rt::value_varint_zigzag_size(7, v);
  3302. }
  3303. if let Some(v) = self.popularity {
  3304. my_size += ::protobuf::rt::value_varint_zigzag_size(8, v);
  3305. }
  3306. if let Some(v) = self.explicit {
  3307. my_size += 2;
  3308. }
  3309. for value in &self.external_id {
  3310. let len = value.compute_size();
  3311. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3312. };
  3313. for value in &self.restriction {
  3314. let len = value.compute_size();
  3315. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3316. };
  3317. for value in &self.file {
  3318. let len = value.compute_size();
  3319. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3320. };
  3321. for value in &self.alternative {
  3322. let len = value.compute_size();
  3323. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3324. };
  3325. for value in &self.sale_period {
  3326. let len = value.compute_size();
  3327. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3328. };
  3329. for value in &self.preview {
  3330. let len = value.compute_size();
  3331. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3332. };
  3333. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  3334. self.cached_size.set(my_size);
  3335. my_size
  3336. }
  3337. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  3338. if let Some(ref v) = self.gid.as_ref() {
  3339. os.write_bytes(1, &v)?;
  3340. }
  3341. if let Some(ref v) = self.name.as_ref() {
  3342. os.write_string(2, &v)?;
  3343. }
  3344. if let Some(ref v) = self.album.as_ref() {
  3345. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3346. os.write_raw_varint32(v.get_cached_size())?;
  3347. v.write_to_with_cached_sizes(os)?;
  3348. }
  3349. for v in &self.artist {
  3350. os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3351. os.write_raw_varint32(v.get_cached_size())?;
  3352. v.write_to_with_cached_sizes(os)?;
  3353. };
  3354. if let Some(v) = self.number {
  3355. os.write_sint32(5, v)?;
  3356. }
  3357. if let Some(v) = self.disc_number {
  3358. os.write_sint32(6, v)?;
  3359. }
  3360. if let Some(v) = self.duration {
  3361. os.write_sint32(7, v)?;
  3362. }
  3363. if let Some(v) = self.popularity {
  3364. os.write_sint32(8, v)?;
  3365. }
  3366. if let Some(v) = self.explicit {
  3367. os.write_bool(9, v)?;
  3368. }
  3369. for v in &self.external_id {
  3370. os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3371. os.write_raw_varint32(v.get_cached_size())?;
  3372. v.write_to_with_cached_sizes(os)?;
  3373. };
  3374. for v in &self.restriction {
  3375. os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3376. os.write_raw_varint32(v.get_cached_size())?;
  3377. v.write_to_with_cached_sizes(os)?;
  3378. };
  3379. for v in &self.file {
  3380. os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3381. os.write_raw_varint32(v.get_cached_size())?;
  3382. v.write_to_with_cached_sizes(os)?;
  3383. };
  3384. for v in &self.alternative {
  3385. os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3386. os.write_raw_varint32(v.get_cached_size())?;
  3387. v.write_to_with_cached_sizes(os)?;
  3388. };
  3389. for v in &self.sale_period {
  3390. os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3391. os.write_raw_varint32(v.get_cached_size())?;
  3392. v.write_to_with_cached_sizes(os)?;
  3393. };
  3394. for v in &self.preview {
  3395. os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3396. os.write_raw_varint32(v.get_cached_size())?;
  3397. v.write_to_with_cached_sizes(os)?;
  3398. };
  3399. os.write_unknown_fields(self.get_unknown_fields())?;
  3400. ::std::result::Result::Ok(())
  3401. }
  3402. fn get_cached_size(&self) -> u32 {
  3403. self.cached_size.get()
  3404. }
  3405. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  3406. &self.unknown_fields
  3407. }
  3408. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  3409. &mut self.unknown_fields
  3410. }
  3411. fn as_any(&self) -> &::std::any::Any {
  3412. self as &::std::any::Any
  3413. }
  3414. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  3415. self as &mut ::std::any::Any
  3416. }
  3417. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  3418. self
  3419. }
  3420. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  3421. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  3422. }
  3423. }
  3424. impl ::protobuf::MessageStatic for Track {
  3425. fn new() -> Track {
  3426. Track::new()
  3427. }
  3428. fn descriptor_static(_: ::std::option::Option<Track>) -> &'static ::protobuf::reflect::MessageDescriptor {
  3429. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  3430. lock: ::protobuf::lazy::ONCE_INIT,
  3431. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  3432. };
  3433. unsafe {
  3434. descriptor.get(|| {
  3435. let mut fields = ::std::vec::Vec::new();
  3436. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  3437. "gid",
  3438. Track::get_gid_for_reflect,
  3439. Track::mut_gid_for_reflect,
  3440. ));
  3441. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  3442. "name",
  3443. Track::get_name_for_reflect,
  3444. Track::mut_name_for_reflect,
  3445. ));
  3446. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Album>>(
  3447. "album",
  3448. Track::get_album_for_reflect,
  3449. Track::mut_album_for_reflect,
  3450. ));
  3451. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Artist>>(
  3452. "artist",
  3453. Track::get_artist_for_reflect,
  3454. Track::mut_artist_for_reflect,
  3455. ));
  3456. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3457. "number",
  3458. Track::get_number_for_reflect,
  3459. Track::mut_number_for_reflect,
  3460. ));
  3461. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3462. "disc_number",
  3463. Track::get_disc_number_for_reflect,
  3464. Track::mut_disc_number_for_reflect,
  3465. ));
  3466. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3467. "duration",
  3468. Track::get_duration_for_reflect,
  3469. Track::mut_duration_for_reflect,
  3470. ));
  3471. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3472. "popularity",
  3473. Track::get_popularity_for_reflect,
  3474. Track::mut_popularity_for_reflect,
  3475. ));
  3476. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  3477. "explicit",
  3478. Track::get_explicit_for_reflect,
  3479. Track::mut_explicit_for_reflect,
  3480. ));
  3481. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExternalId>>(
  3482. "external_id",
  3483. Track::get_external_id_for_reflect,
  3484. Track::mut_external_id_for_reflect,
  3485. ));
  3486. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  3487. "restriction",
  3488. Track::get_restriction_for_reflect,
  3489. Track::mut_restriction_for_reflect,
  3490. ));
  3491. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AudioFile>>(
  3492. "file",
  3493. Track::get_file_for_reflect,
  3494. Track::mut_file_for_reflect,
  3495. ));
  3496. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Track>>(
  3497. "alternative",
  3498. Track::get_alternative_for_reflect,
  3499. Track::mut_alternative_for_reflect,
  3500. ));
  3501. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SalePeriod>>(
  3502. "sale_period",
  3503. Track::get_sale_period_for_reflect,
  3504. Track::mut_sale_period_for_reflect,
  3505. ));
  3506. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AudioFile>>(
  3507. "preview",
  3508. Track::get_preview_for_reflect,
  3509. Track::mut_preview_for_reflect,
  3510. ));
  3511. ::protobuf::reflect::MessageDescriptor::new::<Track>(
  3512. "Track",
  3513. fields,
  3514. file_descriptor_proto()
  3515. )
  3516. })
  3517. }
  3518. }
  3519. }
  3520. impl ::protobuf::Clear for Track {
  3521. fn clear(&mut self) {
  3522. self.clear_gid();
  3523. self.clear_name();
  3524. self.clear_album();
  3525. self.clear_artist();
  3526. self.clear_number();
  3527. self.clear_disc_number();
  3528. self.clear_duration();
  3529. self.clear_popularity();
  3530. self.clear_explicit();
  3531. self.clear_external_id();
  3532. self.clear_restriction();
  3533. self.clear_file();
  3534. self.clear_alternative();
  3535. self.clear_sale_period();
  3536. self.clear_preview();
  3537. self.unknown_fields.clear();
  3538. }
  3539. }
  3540. impl ::std::fmt::Debug for Track {
  3541. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  3542. ::protobuf::text_format::fmt(self, f)
  3543. }
  3544. }
  3545. impl ::protobuf::reflect::ProtobufValue for Track {
  3546. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3547. ::protobuf::reflect::ProtobufValueRef::Message(self)
  3548. }
  3549. }
  3550. #[derive(PartialEq,Clone,Default)]
  3551. pub struct Image {
  3552. // message fields
  3553. file_id: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  3554. size: ::std::option::Option<Image_Size>,
  3555. width: ::std::option::Option<i32>,
  3556. height: ::std::option::Option<i32>,
  3557. // special fields
  3558. unknown_fields: ::protobuf::UnknownFields,
  3559. cached_size: ::protobuf::CachedSize,
  3560. }
  3561. // see codegen.rs for the explanation why impl Sync explicitly
  3562. unsafe impl ::std::marker::Sync for Image {}
  3563. impl Image {
  3564. pub fn new() -> Image {
  3565. ::std::default::Default::default()
  3566. }
  3567. pub fn default_instance() -> &'static Image {
  3568. static mut instance: ::protobuf::lazy::Lazy<Image> = ::protobuf::lazy::Lazy {
  3569. lock: ::protobuf::lazy::ONCE_INIT,
  3570. ptr: 0 as *const Image,
  3571. };
  3572. unsafe {
  3573. instance.get(Image::new)
  3574. }
  3575. }
  3576. // optional bytes file_id = 1;
  3577. pub fn clear_file_id(&mut self) {
  3578. self.file_id.clear();
  3579. }
  3580. pub fn has_file_id(&self) -> bool {
  3581. self.file_id.is_some()
  3582. }
  3583. // Param is passed by value, moved
  3584. pub fn set_file_id(&mut self, v: ::std::vec::Vec<u8>) {
  3585. self.file_id = ::protobuf::SingularField::some(v);
  3586. }
  3587. // Mutable pointer to the field.
  3588. // If field is not initialized, it is initialized with default value first.
  3589. pub fn mut_file_id(&mut self) -> &mut ::std::vec::Vec<u8> {
  3590. if self.file_id.is_none() {
  3591. self.file_id.set_default();
  3592. }
  3593. self.file_id.as_mut().unwrap()
  3594. }
  3595. // Take field
  3596. pub fn take_file_id(&mut self) -> ::std::vec::Vec<u8> {
  3597. self.file_id.take().unwrap_or_else(|| ::std::vec::Vec::new())
  3598. }
  3599. pub fn get_file_id(&self) -> &[u8] {
  3600. match self.file_id.as_ref() {
  3601. Some(v) => &v,
  3602. None => &[],
  3603. }
  3604. }
  3605. fn get_file_id_for_reflect(&self) -> &::protobuf::SingularField<::std::vec::Vec<u8>> {
  3606. &self.file_id
  3607. }
  3608. fn mut_file_id_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::vec::Vec<u8>> {
  3609. &mut self.file_id
  3610. }
  3611. // optional .Image.Size size = 2;
  3612. pub fn clear_size(&mut self) {
  3613. self.size = ::std::option::Option::None;
  3614. }
  3615. pub fn has_size(&self) -> bool {
  3616. self.size.is_some()
  3617. }
  3618. // Param is passed by value, moved
  3619. pub fn set_size(&mut self, v: Image_Size) {
  3620. self.size = ::std::option::Option::Some(v);
  3621. }
  3622. pub fn get_size(&self) -> Image_Size {
  3623. self.size.unwrap_or(Image_Size::DEFAULT)
  3624. }
  3625. fn get_size_for_reflect(&self) -> &::std::option::Option<Image_Size> {
  3626. &self.size
  3627. }
  3628. fn mut_size_for_reflect(&mut self) -> &mut ::std::option::Option<Image_Size> {
  3629. &mut self.size
  3630. }
  3631. // optional sint32 width = 3;
  3632. pub fn clear_width(&mut self) {
  3633. self.width = ::std::option::Option::None;
  3634. }
  3635. pub fn has_width(&self) -> bool {
  3636. self.width.is_some()
  3637. }
  3638. // Param is passed by value, moved
  3639. pub fn set_width(&mut self, v: i32) {
  3640. self.width = ::std::option::Option::Some(v);
  3641. }
  3642. pub fn get_width(&self) -> i32 {
  3643. self.width.unwrap_or(0)
  3644. }
  3645. fn get_width_for_reflect(&self) -> &::std::option::Option<i32> {
  3646. &self.width
  3647. }
  3648. fn mut_width_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  3649. &mut self.width
  3650. }
  3651. // optional sint32 height = 4;
  3652. pub fn clear_height(&mut self) {
  3653. self.height = ::std::option::Option::None;
  3654. }
  3655. pub fn has_height(&self) -> bool {
  3656. self.height.is_some()
  3657. }
  3658. // Param is passed by value, moved
  3659. pub fn set_height(&mut self, v: i32) {
  3660. self.height = ::std::option::Option::Some(v);
  3661. }
  3662. pub fn get_height(&self) -> i32 {
  3663. self.height.unwrap_or(0)
  3664. }
  3665. fn get_height_for_reflect(&self) -> &::std::option::Option<i32> {
  3666. &self.height
  3667. }
  3668. fn mut_height_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  3669. &mut self.height
  3670. }
  3671. }
  3672. impl ::protobuf::Message for Image {
  3673. fn is_initialized(&self) -> bool {
  3674. true
  3675. }
  3676. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  3677. while !is.eof()? {
  3678. let (field_number, wire_type) = is.read_tag_unpack()?;
  3679. match field_number {
  3680. 1 => {
  3681. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.file_id)?;
  3682. },
  3683. 2 => {
  3684. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3685. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3686. }
  3687. let tmp = is.read_enum()?;
  3688. self.size = ::std::option::Option::Some(tmp);
  3689. },
  3690. 3 => {
  3691. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3692. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3693. }
  3694. let tmp = is.read_sint32()?;
  3695. self.width = ::std::option::Option::Some(tmp);
  3696. },
  3697. 4 => {
  3698. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3699. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3700. }
  3701. let tmp = is.read_sint32()?;
  3702. self.height = ::std::option::Option::Some(tmp);
  3703. },
  3704. _ => {
  3705. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  3706. },
  3707. };
  3708. }
  3709. ::std::result::Result::Ok(())
  3710. }
  3711. // Compute sizes of nested messages
  3712. #[allow(unused_variables)]
  3713. fn compute_size(&self) -> u32 {
  3714. let mut my_size = 0;
  3715. if let Some(ref v) = self.file_id.as_ref() {
  3716. my_size += ::protobuf::rt::bytes_size(1, &v);
  3717. }
  3718. if let Some(v) = self.size {
  3719. my_size += ::protobuf::rt::enum_size(2, v);
  3720. }
  3721. if let Some(v) = self.width {
  3722. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  3723. }
  3724. if let Some(v) = self.height {
  3725. my_size += ::protobuf::rt::value_varint_zigzag_size(4, v);
  3726. }
  3727. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  3728. self.cached_size.set(my_size);
  3729. my_size
  3730. }
  3731. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  3732. if let Some(ref v) = self.file_id.as_ref() {
  3733. os.write_bytes(1, &v)?;
  3734. }
  3735. if let Some(v) = self.size {
  3736. os.write_enum(2, v.value())?;
  3737. }
  3738. if let Some(v) = self.width {
  3739. os.write_sint32(3, v)?;
  3740. }
  3741. if let Some(v) = self.height {
  3742. os.write_sint32(4, v)?;
  3743. }
  3744. os.write_unknown_fields(self.get_unknown_fields())?;
  3745. ::std::result::Result::Ok(())
  3746. }
  3747. fn get_cached_size(&self) -> u32 {
  3748. self.cached_size.get()
  3749. }
  3750. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  3751. &self.unknown_fields
  3752. }
  3753. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  3754. &mut self.unknown_fields
  3755. }
  3756. fn as_any(&self) -> &::std::any::Any {
  3757. self as &::std::any::Any
  3758. }
  3759. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  3760. self as &mut ::std::any::Any
  3761. }
  3762. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  3763. self
  3764. }
  3765. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  3766. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  3767. }
  3768. }
  3769. impl ::protobuf::MessageStatic for Image {
  3770. fn new() -> Image {
  3771. Image::new()
  3772. }
  3773. fn descriptor_static(_: ::std::option::Option<Image>) -> &'static ::protobuf::reflect::MessageDescriptor {
  3774. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  3775. lock: ::protobuf::lazy::ONCE_INIT,
  3776. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  3777. };
  3778. unsafe {
  3779. descriptor.get(|| {
  3780. let mut fields = ::std::vec::Vec::new();
  3781. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  3782. "file_id",
  3783. Image::get_file_id_for_reflect,
  3784. Image::mut_file_id_for_reflect,
  3785. ));
  3786. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Image_Size>>(
  3787. "size",
  3788. Image::get_size_for_reflect,
  3789. Image::mut_size_for_reflect,
  3790. ));
  3791. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3792. "width",
  3793. Image::get_width_for_reflect,
  3794. Image::mut_width_for_reflect,
  3795. ));
  3796. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3797. "height",
  3798. Image::get_height_for_reflect,
  3799. Image::mut_height_for_reflect,
  3800. ));
  3801. ::protobuf::reflect::MessageDescriptor::new::<Image>(
  3802. "Image",
  3803. fields,
  3804. file_descriptor_proto()
  3805. )
  3806. })
  3807. }
  3808. }
  3809. }
  3810. impl ::protobuf::Clear for Image {
  3811. fn clear(&mut self) {
  3812. self.clear_file_id();
  3813. self.clear_size();
  3814. self.clear_width();
  3815. self.clear_height();
  3816. self.unknown_fields.clear();
  3817. }
  3818. }
  3819. impl ::std::fmt::Debug for Image {
  3820. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  3821. ::protobuf::text_format::fmt(self, f)
  3822. }
  3823. }
  3824. impl ::protobuf::reflect::ProtobufValue for Image {
  3825. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3826. ::protobuf::reflect::ProtobufValueRef::Message(self)
  3827. }
  3828. }
  3829. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  3830. pub enum Image_Size {
  3831. DEFAULT = 0,
  3832. SMALL = 1,
  3833. LARGE = 2,
  3834. XLARGE = 3,
  3835. }
  3836. impl ::protobuf::ProtobufEnum for Image_Size {
  3837. fn value(&self) -> i32 {
  3838. *self as i32
  3839. }
  3840. fn from_i32(value: i32) -> ::std::option::Option<Image_Size> {
  3841. match value {
  3842. 0 => ::std::option::Option::Some(Image_Size::DEFAULT),
  3843. 1 => ::std::option::Option::Some(Image_Size::SMALL),
  3844. 2 => ::std::option::Option::Some(Image_Size::LARGE),
  3845. 3 => ::std::option::Option::Some(Image_Size::XLARGE),
  3846. _ => ::std::option::Option::None
  3847. }
  3848. }
  3849. fn values() -> &'static [Self] {
  3850. static values: &'static [Image_Size] = &[
  3851. Image_Size::DEFAULT,
  3852. Image_Size::SMALL,
  3853. Image_Size::LARGE,
  3854. Image_Size::XLARGE,
  3855. ];
  3856. values
  3857. }
  3858. fn enum_descriptor_static(_: ::std::option::Option<Image_Size>) -> &'static ::protobuf::reflect::EnumDescriptor {
  3859. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  3860. lock: ::protobuf::lazy::ONCE_INIT,
  3861. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  3862. };
  3863. unsafe {
  3864. descriptor.get(|| {
  3865. ::protobuf::reflect::EnumDescriptor::new("Image_Size", file_descriptor_proto())
  3866. })
  3867. }
  3868. }
  3869. }
  3870. impl ::std::marker::Copy for Image_Size {
  3871. }
  3872. impl ::protobuf::reflect::ProtobufValue for Image_Size {
  3873. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3874. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  3875. }
  3876. }
  3877. #[derive(PartialEq,Clone,Default)]
  3878. pub struct ImageGroup {
  3879. // message fields
  3880. image: ::protobuf::RepeatedField<Image>,
  3881. // special fields
  3882. unknown_fields: ::protobuf::UnknownFields,
  3883. cached_size: ::protobuf::CachedSize,
  3884. }
  3885. // see codegen.rs for the explanation why impl Sync explicitly
  3886. unsafe impl ::std::marker::Sync for ImageGroup {}
  3887. impl ImageGroup {
  3888. pub fn new() -> ImageGroup {
  3889. ::std::default::Default::default()
  3890. }
  3891. pub fn default_instance() -> &'static ImageGroup {
  3892. static mut instance: ::protobuf::lazy::Lazy<ImageGroup> = ::protobuf::lazy::Lazy {
  3893. lock: ::protobuf::lazy::ONCE_INIT,
  3894. ptr: 0 as *const ImageGroup,
  3895. };
  3896. unsafe {
  3897. instance.get(ImageGroup::new)
  3898. }
  3899. }
  3900. // repeated .Image image = 1;
  3901. pub fn clear_image(&mut self) {
  3902. self.image.clear();
  3903. }
  3904. // Param is passed by value, moved
  3905. pub fn set_image(&mut self, v: ::protobuf::RepeatedField<Image>) {
  3906. self.image = v;
  3907. }
  3908. // Mutable pointer to the field.
  3909. pub fn mut_image(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  3910. &mut self.image
  3911. }
  3912. // Take field
  3913. pub fn take_image(&mut self) -> ::protobuf::RepeatedField<Image> {
  3914. ::std::mem::replace(&mut self.image, ::protobuf::RepeatedField::new())
  3915. }
  3916. pub fn get_image(&self) -> &[Image] {
  3917. &self.image
  3918. }
  3919. fn get_image_for_reflect(&self) -> &::protobuf::RepeatedField<Image> {
  3920. &self.image
  3921. }
  3922. fn mut_image_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  3923. &mut self.image
  3924. }
  3925. }
  3926. impl ::protobuf::Message for ImageGroup {
  3927. fn is_initialized(&self) -> bool {
  3928. for v in &self.image {
  3929. if !v.is_initialized() {
  3930. return false;
  3931. }
  3932. };
  3933. true
  3934. }
  3935. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  3936. while !is.eof()? {
  3937. let (field_number, wire_type) = is.read_tag_unpack()?;
  3938. match field_number {
  3939. 1 => {
  3940. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.image)?;
  3941. },
  3942. _ => {
  3943. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  3944. },
  3945. };
  3946. }
  3947. ::std::result::Result::Ok(())
  3948. }
  3949. // Compute sizes of nested messages
  3950. #[allow(unused_variables)]
  3951. fn compute_size(&self) -> u32 {
  3952. let mut my_size = 0;
  3953. for value in &self.image {
  3954. let len = value.compute_size();
  3955. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3956. };
  3957. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  3958. self.cached_size.set(my_size);
  3959. my_size
  3960. }
  3961. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  3962. for v in &self.image {
  3963. os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3964. os.write_raw_varint32(v.get_cached_size())?;
  3965. v.write_to_with_cached_sizes(os)?;
  3966. };
  3967. os.write_unknown_fields(self.get_unknown_fields())?;
  3968. ::std::result::Result::Ok(())
  3969. }
  3970. fn get_cached_size(&self) -> u32 {
  3971. self.cached_size.get()
  3972. }
  3973. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  3974. &self.unknown_fields
  3975. }
  3976. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  3977. &mut self.unknown_fields
  3978. }
  3979. fn as_any(&self) -> &::std::any::Any {
  3980. self as &::std::any::Any
  3981. }
  3982. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  3983. self as &mut ::std::any::Any
  3984. }
  3985. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  3986. self
  3987. }
  3988. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  3989. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  3990. }
  3991. }
  3992. impl ::protobuf::MessageStatic for ImageGroup {
  3993. fn new() -> ImageGroup {
  3994. ImageGroup::new()
  3995. }
  3996. fn descriptor_static(_: ::std::option::Option<ImageGroup>) -> &'static ::protobuf::reflect::MessageDescriptor {
  3997. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  3998. lock: ::protobuf::lazy::ONCE_INIT,
  3999. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4000. };
  4001. unsafe {
  4002. descriptor.get(|| {
  4003. let mut fields = ::std::vec::Vec::new();
  4004. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  4005. "image",
  4006. ImageGroup::get_image_for_reflect,
  4007. ImageGroup::mut_image_for_reflect,
  4008. ));
  4009. ::protobuf::reflect::MessageDescriptor::new::<ImageGroup>(
  4010. "ImageGroup",
  4011. fields,
  4012. file_descriptor_proto()
  4013. )
  4014. })
  4015. }
  4016. }
  4017. }
  4018. impl ::protobuf::Clear for ImageGroup {
  4019. fn clear(&mut self) {
  4020. self.clear_image();
  4021. self.unknown_fields.clear();
  4022. }
  4023. }
  4024. impl ::std::fmt::Debug for ImageGroup {
  4025. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  4026. ::protobuf::text_format::fmt(self, f)
  4027. }
  4028. }
  4029. impl ::protobuf::reflect::ProtobufValue for ImageGroup {
  4030. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4031. ::protobuf::reflect::ProtobufValueRef::Message(self)
  4032. }
  4033. }
  4034. #[derive(PartialEq,Clone,Default)]
  4035. pub struct Biography {
  4036. // message fields
  4037. text: ::protobuf::SingularField<::std::string::String>,
  4038. portrait: ::protobuf::RepeatedField<Image>,
  4039. portrait_group: ::protobuf::RepeatedField<ImageGroup>,
  4040. // special fields
  4041. unknown_fields: ::protobuf::UnknownFields,
  4042. cached_size: ::protobuf::CachedSize,
  4043. }
  4044. // see codegen.rs for the explanation why impl Sync explicitly
  4045. unsafe impl ::std::marker::Sync for Biography {}
  4046. impl Biography {
  4047. pub fn new() -> Biography {
  4048. ::std::default::Default::default()
  4049. }
  4050. pub fn default_instance() -> &'static Biography {
  4051. static mut instance: ::protobuf::lazy::Lazy<Biography> = ::protobuf::lazy::Lazy {
  4052. lock: ::protobuf::lazy::ONCE_INIT,
  4053. ptr: 0 as *const Biography,
  4054. };
  4055. unsafe {
  4056. instance.get(Biography::new)
  4057. }
  4058. }
  4059. // optional string text = 1;
  4060. pub fn clear_text(&mut self) {
  4061. self.text.clear();
  4062. }
  4063. pub fn has_text(&self) -> bool {
  4064. self.text.is_some()
  4065. }
  4066. // Param is passed by value, moved
  4067. pub fn set_text(&mut self, v: ::std::string::String) {
  4068. self.text = ::protobuf::SingularField::some(v);
  4069. }
  4070. // Mutable pointer to the field.
  4071. // If field is not initialized, it is initialized with default value first.
  4072. pub fn mut_text(&mut self) -> &mut ::std::string::String {
  4073. if self.text.is_none() {
  4074. self.text.set_default();
  4075. }
  4076. self.text.as_mut().unwrap()
  4077. }
  4078. // Take field
  4079. pub fn take_text(&mut self) -> ::std::string::String {
  4080. self.text.take().unwrap_or_else(|| ::std::string::String::new())
  4081. }
  4082. pub fn get_text(&self) -> &str {
  4083. match self.text.as_ref() {
  4084. Some(v) => &v,
  4085. None => "",
  4086. }
  4087. }
  4088. fn get_text_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  4089. &self.text
  4090. }
  4091. fn mut_text_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  4092. &mut self.text
  4093. }
  4094. // repeated .Image portrait = 2;
  4095. pub fn clear_portrait(&mut self) {
  4096. self.portrait.clear();
  4097. }
  4098. // Param is passed by value, moved
  4099. pub fn set_portrait(&mut self, v: ::protobuf::RepeatedField<Image>) {
  4100. self.portrait = v;
  4101. }
  4102. // Mutable pointer to the field.
  4103. pub fn mut_portrait(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  4104. &mut self.portrait
  4105. }
  4106. // Take field
  4107. pub fn take_portrait(&mut self) -> ::protobuf::RepeatedField<Image> {
  4108. ::std::mem::replace(&mut self.portrait, ::protobuf::RepeatedField::new())
  4109. }
  4110. pub fn get_portrait(&self) -> &[Image] {
  4111. &self.portrait
  4112. }
  4113. fn get_portrait_for_reflect(&self) -> &::protobuf::RepeatedField<Image> {
  4114. &self.portrait
  4115. }
  4116. fn mut_portrait_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  4117. &mut self.portrait
  4118. }
  4119. // repeated .ImageGroup portrait_group = 3;
  4120. pub fn clear_portrait_group(&mut self) {
  4121. self.portrait_group.clear();
  4122. }
  4123. // Param is passed by value, moved
  4124. pub fn set_portrait_group(&mut self, v: ::protobuf::RepeatedField<ImageGroup>) {
  4125. self.portrait_group = v;
  4126. }
  4127. // Mutable pointer to the field.
  4128. pub fn mut_portrait_group(&mut self) -> &mut ::protobuf::RepeatedField<ImageGroup> {
  4129. &mut self.portrait_group
  4130. }
  4131. // Take field
  4132. pub fn take_portrait_group(&mut self) -> ::protobuf::RepeatedField<ImageGroup> {
  4133. ::std::mem::replace(&mut self.portrait_group, ::protobuf::RepeatedField::new())
  4134. }
  4135. pub fn get_portrait_group(&self) -> &[ImageGroup] {
  4136. &self.portrait_group
  4137. }
  4138. fn get_portrait_group_for_reflect(&self) -> &::protobuf::RepeatedField<ImageGroup> {
  4139. &self.portrait_group
  4140. }
  4141. fn mut_portrait_group_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<ImageGroup> {
  4142. &mut self.portrait_group
  4143. }
  4144. }
  4145. impl ::protobuf::Message for Biography {
  4146. fn is_initialized(&self) -> bool {
  4147. for v in &self.portrait {
  4148. if !v.is_initialized() {
  4149. return false;
  4150. }
  4151. };
  4152. for v in &self.portrait_group {
  4153. if !v.is_initialized() {
  4154. return false;
  4155. }
  4156. };
  4157. true
  4158. }
  4159. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  4160. while !is.eof()? {
  4161. let (field_number, wire_type) = is.read_tag_unpack()?;
  4162. match field_number {
  4163. 1 => {
  4164. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.text)?;
  4165. },
  4166. 2 => {
  4167. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.portrait)?;
  4168. },
  4169. 3 => {
  4170. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.portrait_group)?;
  4171. },
  4172. _ => {
  4173. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4174. },
  4175. };
  4176. }
  4177. ::std::result::Result::Ok(())
  4178. }
  4179. // Compute sizes of nested messages
  4180. #[allow(unused_variables)]
  4181. fn compute_size(&self) -> u32 {
  4182. let mut my_size = 0;
  4183. if let Some(ref v) = self.text.as_ref() {
  4184. my_size += ::protobuf::rt::string_size(1, &v);
  4185. }
  4186. for value in &self.portrait {
  4187. let len = value.compute_size();
  4188. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  4189. };
  4190. for value in &self.portrait_group {
  4191. let len = value.compute_size();
  4192. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  4193. };
  4194. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4195. self.cached_size.set(my_size);
  4196. my_size
  4197. }
  4198. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  4199. if let Some(ref v) = self.text.as_ref() {
  4200. os.write_string(1, &v)?;
  4201. }
  4202. for v in &self.portrait {
  4203. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  4204. os.write_raw_varint32(v.get_cached_size())?;
  4205. v.write_to_with_cached_sizes(os)?;
  4206. };
  4207. for v in &self.portrait_group {
  4208. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  4209. os.write_raw_varint32(v.get_cached_size())?;
  4210. v.write_to_with_cached_sizes(os)?;
  4211. };
  4212. os.write_unknown_fields(self.get_unknown_fields())?;
  4213. ::std::result::Result::Ok(())
  4214. }
  4215. fn get_cached_size(&self) -> u32 {
  4216. self.cached_size.get()
  4217. }
  4218. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4219. &self.unknown_fields
  4220. }
  4221. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4222. &mut self.unknown_fields
  4223. }
  4224. fn as_any(&self) -> &::std::any::Any {
  4225. self as &::std::any::Any
  4226. }
  4227. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  4228. self as &mut ::std::any::Any
  4229. }
  4230. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  4231. self
  4232. }
  4233. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  4234. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  4235. }
  4236. }
  4237. impl ::protobuf::MessageStatic for Biography {
  4238. fn new() -> Biography {
  4239. Biography::new()
  4240. }
  4241. fn descriptor_static(_: ::std::option::Option<Biography>) -> &'static ::protobuf::reflect::MessageDescriptor {
  4242. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  4243. lock: ::protobuf::lazy::ONCE_INIT,
  4244. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4245. };
  4246. unsafe {
  4247. descriptor.get(|| {
  4248. let mut fields = ::std::vec::Vec::new();
  4249. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4250. "text",
  4251. Biography::get_text_for_reflect,
  4252. Biography::mut_text_for_reflect,
  4253. ));
  4254. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  4255. "portrait",
  4256. Biography::get_portrait_for_reflect,
  4257. Biography::mut_portrait_for_reflect,
  4258. ));
  4259. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  4260. "portrait_group",
  4261. Biography::get_portrait_group_for_reflect,
  4262. Biography::mut_portrait_group_for_reflect,
  4263. ));
  4264. ::protobuf::reflect::MessageDescriptor::new::<Biography>(
  4265. "Biography",
  4266. fields,
  4267. file_descriptor_proto()
  4268. )
  4269. })
  4270. }
  4271. }
  4272. }
  4273. impl ::protobuf::Clear for Biography {
  4274. fn clear(&mut self) {
  4275. self.clear_text();
  4276. self.clear_portrait();
  4277. self.clear_portrait_group();
  4278. self.unknown_fields.clear();
  4279. }
  4280. }
  4281. impl ::std::fmt::Debug for Biography {
  4282. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  4283. ::protobuf::text_format::fmt(self, f)
  4284. }
  4285. }
  4286. impl ::protobuf::reflect::ProtobufValue for Biography {
  4287. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4288. ::protobuf::reflect::ProtobufValueRef::Message(self)
  4289. }
  4290. }
  4291. #[derive(PartialEq,Clone,Default)]
  4292. pub struct Disc {
  4293. // message fields
  4294. number: ::std::option::Option<i32>,
  4295. name: ::protobuf::SingularField<::std::string::String>,
  4296. track: ::protobuf::RepeatedField<Track>,
  4297. // special fields
  4298. unknown_fields: ::protobuf::UnknownFields,
  4299. cached_size: ::protobuf::CachedSize,
  4300. }
  4301. // see codegen.rs for the explanation why impl Sync explicitly
  4302. unsafe impl ::std::marker::Sync for Disc {}
  4303. impl Disc {
  4304. pub fn new() -> Disc {
  4305. ::std::default::Default::default()
  4306. }
  4307. pub fn default_instance() -> &'static Disc {
  4308. static mut instance: ::protobuf::lazy::Lazy<Disc> = ::protobuf::lazy::Lazy {
  4309. lock: ::protobuf::lazy::ONCE_INIT,
  4310. ptr: 0 as *const Disc,
  4311. };
  4312. unsafe {
  4313. instance.get(Disc::new)
  4314. }
  4315. }
  4316. // optional sint32 number = 1;
  4317. pub fn clear_number(&mut self) {
  4318. self.number = ::std::option::Option::None;
  4319. }
  4320. pub fn has_number(&self) -> bool {
  4321. self.number.is_some()
  4322. }
  4323. // Param is passed by value, moved
  4324. pub fn set_number(&mut self, v: i32) {
  4325. self.number = ::std::option::Option::Some(v);
  4326. }
  4327. pub fn get_number(&self) -> i32 {
  4328. self.number.unwrap_or(0)
  4329. }
  4330. fn get_number_for_reflect(&self) -> &::std::option::Option<i32> {
  4331. &self.number
  4332. }
  4333. fn mut_number_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
  4334. &mut self.number
  4335. }
  4336. // optional string name = 2;
  4337. pub fn clear_name(&mut self) {
  4338. self.name.clear();
  4339. }
  4340. pub fn has_name(&self) -> bool {
  4341. self.name.is_some()
  4342. }
  4343. // Param is passed by value, moved
  4344. pub fn set_name(&mut self, v: ::std::string::String) {
  4345. self.name = ::protobuf::SingularField::some(v);
  4346. }
  4347. // Mutable pointer to the field.
  4348. // If field is not initialized, it is initialized with default value first.
  4349. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  4350. if self.name.is_none() {
  4351. self.name.set_default();
  4352. }
  4353. self.name.as_mut().unwrap()
  4354. }
  4355. // Take field
  4356. pub fn take_name(&mut self) -> ::std::string::String {
  4357. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  4358. }
  4359. pub fn get_name(&self) -> &str {
  4360. match self.name.as_ref() {
  4361. Some(v) => &v,
  4362. None => "",
  4363. }
  4364. }
  4365. fn get_name_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  4366. &self.name
  4367. }
  4368. fn mut_name_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  4369. &mut self.name
  4370. }
  4371. // repeated .Track track = 3;
  4372. pub fn clear_track(&mut self) {
  4373. self.track.clear();
  4374. }
  4375. // Param is passed by value, moved
  4376. pub fn set_track(&mut self, v: ::protobuf::RepeatedField<Track>) {
  4377. self.track = v;
  4378. }
  4379. // Mutable pointer to the field.
  4380. pub fn mut_track(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  4381. &mut self.track
  4382. }
  4383. // Take field
  4384. pub fn take_track(&mut self) -> ::protobuf::RepeatedField<Track> {
  4385. ::std::mem::replace(&mut self.track, ::protobuf::RepeatedField::new())
  4386. }
  4387. pub fn get_track(&self) -> &[Track] {
  4388. &self.track
  4389. }
  4390. fn get_track_for_reflect(&self) -> &::protobuf::RepeatedField<Track> {
  4391. &self.track
  4392. }
  4393. fn mut_track_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  4394. &mut self.track
  4395. }
  4396. }
  4397. impl ::protobuf::Message for Disc {
  4398. fn is_initialized(&self) -> bool {
  4399. for v in &self.track {
  4400. if !v.is_initialized() {
  4401. return false;
  4402. }
  4403. };
  4404. true
  4405. }
  4406. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  4407. while !is.eof()? {
  4408. let (field_number, wire_type) = is.read_tag_unpack()?;
  4409. match field_number {
  4410. 1 => {
  4411. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  4412. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  4413. }
  4414. let tmp = is.read_sint32()?;
  4415. self.number = ::std::option::Option::Some(tmp);
  4416. },
  4417. 2 => {
  4418. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  4419. },
  4420. 3 => {
  4421. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.track)?;
  4422. },
  4423. _ => {
  4424. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4425. },
  4426. };
  4427. }
  4428. ::std::result::Result::Ok(())
  4429. }
  4430. // Compute sizes of nested messages
  4431. #[allow(unused_variables)]
  4432. fn compute_size(&self) -> u32 {
  4433. let mut my_size = 0;
  4434. if let Some(v) = self.number {
  4435. my_size += ::protobuf::rt::value_varint_zigzag_size(1, v);
  4436. }
  4437. if let Some(ref v) = self.name.as_ref() {
  4438. my_size += ::protobuf::rt::string_size(2, &v);
  4439. }
  4440. for value in &self.track {
  4441. let len = value.compute_size();
  4442. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  4443. };
  4444. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4445. self.cached_size.set(my_size);
  4446. my_size
  4447. }
  4448. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  4449. if let Some(v) = self.number {
  4450. os.write_sint32(1, v)?;
  4451. }
  4452. if let Some(ref v) = self.name.as_ref() {
  4453. os.write_string(2, &v)?;
  4454. }
  4455. for v in &self.track {
  4456. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  4457. os.write_raw_varint32(v.get_cached_size())?;
  4458. v.write_to_with_cached_sizes(os)?;
  4459. };
  4460. os.write_unknown_fields(self.get_unknown_fields())?;
  4461. ::std::result::Result::Ok(())
  4462. }
  4463. fn get_cached_size(&self) -> u32 {
  4464. self.cached_size.get()
  4465. }
  4466. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4467. &self.unknown_fields
  4468. }
  4469. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4470. &mut self.unknown_fields
  4471. }
  4472. fn as_any(&self) -> &::std::any::Any {
  4473. self as &::std::any::Any
  4474. }
  4475. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  4476. self as &mut ::std::any::Any
  4477. }
  4478. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  4479. self
  4480. }
  4481. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  4482. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  4483. }
  4484. }
  4485. impl ::protobuf::MessageStatic for Disc {
  4486. fn new() -> Disc {
  4487. Disc::new()
  4488. }
  4489. fn descriptor_static(_: ::std::option::Option<Disc>) -> &'static ::protobuf::reflect::MessageDescriptor {
  4490. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  4491. lock: ::protobuf::lazy::ONCE_INIT,
  4492. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4493. };
  4494. unsafe {
  4495. descriptor.get(|| {
  4496. let mut fields = ::std::vec::Vec::new();
  4497. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  4498. "number",
  4499. Disc::get_number_for_reflect,
  4500. Disc::mut_number_for_reflect,
  4501. ));
  4502. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4503. "name",
  4504. Disc::get_name_for_reflect,
  4505. Disc::mut_name_for_reflect,
  4506. ));
  4507. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Track>>(
  4508. "track",
  4509. Disc::get_track_for_reflect,
  4510. Disc::mut_track_for_reflect,
  4511. ));
  4512. ::protobuf::reflect::MessageDescriptor::new::<Disc>(
  4513. "Disc",
  4514. fields,
  4515. file_descriptor_proto()
  4516. )
  4517. })
  4518. }
  4519. }
  4520. }
  4521. impl ::protobuf::Clear for Disc {
  4522. fn clear(&mut self) {
  4523. self.clear_number();
  4524. self.clear_name();
  4525. self.clear_track();
  4526. self.unknown_fields.clear();
  4527. }
  4528. }
  4529. impl ::std::fmt::Debug for Disc {
  4530. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  4531. ::protobuf::text_format::fmt(self, f)
  4532. }
  4533. }
  4534. impl ::protobuf::reflect::ProtobufValue for Disc {
  4535. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4536. ::protobuf::reflect::ProtobufValueRef::Message(self)
  4537. }
  4538. }
  4539. #[derive(PartialEq,Clone,Default)]
  4540. pub struct Copyright {
  4541. // message fields
  4542. typ: ::std::option::Option<Copyright_Type>,
  4543. text: ::protobuf::SingularField<::std::string::String>,
  4544. // special fields
  4545. unknown_fields: ::protobuf::UnknownFields,
  4546. cached_size: ::protobuf::CachedSize,
  4547. }
  4548. // see codegen.rs for the explanation why impl Sync explicitly
  4549. unsafe impl ::std::marker::Sync for Copyright {}
  4550. impl Copyright {
  4551. pub fn new() -> Copyright {
  4552. ::std::default::Default::default()
  4553. }
  4554. pub fn default_instance() -> &'static Copyright {
  4555. static mut instance: ::protobuf::lazy::Lazy<Copyright> = ::protobuf::lazy::Lazy {
  4556. lock: ::protobuf::lazy::ONCE_INIT,
  4557. ptr: 0 as *const Copyright,
  4558. };
  4559. unsafe {
  4560. instance.get(Copyright::new)
  4561. }
  4562. }
  4563. // optional .Copyright.Type typ = 1;
  4564. pub fn clear_typ(&mut self) {
  4565. self.typ = ::std::option::Option::None;
  4566. }
  4567. pub fn has_typ(&self) -> bool {
  4568. self.typ.is_some()
  4569. }
  4570. // Param is passed by value, moved
  4571. pub fn set_typ(&mut self, v: Copyright_Type) {
  4572. self.typ = ::std::option::Option::Some(v);
  4573. }
  4574. pub fn get_typ(&self) -> Copyright_Type {
  4575. self.typ.unwrap_or(Copyright_Type::P)
  4576. }
  4577. fn get_typ_for_reflect(&self) -> &::std::option::Option<Copyright_Type> {
  4578. &self.typ
  4579. }
  4580. fn mut_typ_for_reflect(&mut self) -> &mut ::std::option::Option<Copyright_Type> {
  4581. &mut self.typ
  4582. }
  4583. // optional string text = 2;
  4584. pub fn clear_text(&mut self) {
  4585. self.text.clear();
  4586. }
  4587. pub fn has_text(&self) -> bool {
  4588. self.text.is_some()
  4589. }
  4590. // Param is passed by value, moved
  4591. pub fn set_text(&mut self, v: ::std::string::String) {
  4592. self.text = ::protobuf::SingularField::some(v);
  4593. }
  4594. // Mutable pointer to the field.
  4595. // If field is not initialized, it is initialized with default value first.
  4596. pub fn mut_text(&mut self) -> &mut ::std::string::String {
  4597. if self.text.is_none() {
  4598. self.text.set_default();
  4599. }
  4600. self.text.as_mut().unwrap()
  4601. }
  4602. // Take field
  4603. pub fn take_text(&mut self) -> ::std::string::String {
  4604. self.text.take().unwrap_or_else(|| ::std::string::String::new())
  4605. }
  4606. pub fn get_text(&self) -> &str {
  4607. match self.text.as_ref() {
  4608. Some(v) => &v,
  4609. None => "",
  4610. }
  4611. }
  4612. fn get_text_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  4613. &self.text
  4614. }
  4615. fn mut_text_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  4616. &mut self.text
  4617. }
  4618. }
  4619. impl ::protobuf::Message for Copyright {
  4620. fn is_initialized(&self) -> bool {
  4621. true
  4622. }
  4623. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  4624. while !is.eof()? {
  4625. let (field_number, wire_type) = is.read_tag_unpack()?;
  4626. match field_number {
  4627. 1 => {
  4628. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  4629. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  4630. }
  4631. let tmp = is.read_enum()?;
  4632. self.typ = ::std::option::Option::Some(tmp);
  4633. },
  4634. 2 => {
  4635. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.text)?;
  4636. },
  4637. _ => {
  4638. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4639. },
  4640. };
  4641. }
  4642. ::std::result::Result::Ok(())
  4643. }
  4644. // Compute sizes of nested messages
  4645. #[allow(unused_variables)]
  4646. fn compute_size(&self) -> u32 {
  4647. let mut my_size = 0;
  4648. if let Some(v) = self.typ {
  4649. my_size += ::protobuf::rt::enum_size(1, v);
  4650. }
  4651. if let Some(ref v) = self.text.as_ref() {
  4652. my_size += ::protobuf::rt::string_size(2, &v);
  4653. }
  4654. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4655. self.cached_size.set(my_size);
  4656. my_size
  4657. }
  4658. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  4659. if let Some(v) = self.typ {
  4660. os.write_enum(1, v.value())?;
  4661. }
  4662. if let Some(ref v) = self.text.as_ref() {
  4663. os.write_string(2, &v)?;
  4664. }
  4665. os.write_unknown_fields(self.get_unknown_fields())?;
  4666. ::std::result::Result::Ok(())
  4667. }
  4668. fn get_cached_size(&self) -> u32 {
  4669. self.cached_size.get()
  4670. }
  4671. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4672. &self.unknown_fields
  4673. }
  4674. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4675. &mut self.unknown_fields
  4676. }
  4677. fn as_any(&self) -> &::std::any::Any {
  4678. self as &::std::any::Any
  4679. }
  4680. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  4681. self as &mut ::std::any::Any
  4682. }
  4683. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  4684. self
  4685. }
  4686. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  4687. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  4688. }
  4689. }
  4690. impl ::protobuf::MessageStatic for Copyright {
  4691. fn new() -> Copyright {
  4692. Copyright::new()
  4693. }
  4694. fn descriptor_static(_: ::std::option::Option<Copyright>) -> &'static ::protobuf::reflect::MessageDescriptor {
  4695. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  4696. lock: ::protobuf::lazy::ONCE_INIT,
  4697. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4698. };
  4699. unsafe {
  4700. descriptor.get(|| {
  4701. let mut fields = ::std::vec::Vec::new();
  4702. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Copyright_Type>>(
  4703. "typ",
  4704. Copyright::get_typ_for_reflect,
  4705. Copyright::mut_typ_for_reflect,
  4706. ));
  4707. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4708. "text",
  4709. Copyright::get_text_for_reflect,
  4710. Copyright::mut_text_for_reflect,
  4711. ));
  4712. ::protobuf::reflect::MessageDescriptor::new::<Copyright>(
  4713. "Copyright",
  4714. fields,
  4715. file_descriptor_proto()
  4716. )
  4717. })
  4718. }
  4719. }
  4720. }
  4721. impl ::protobuf::Clear for Copyright {
  4722. fn clear(&mut self) {
  4723. self.clear_typ();
  4724. self.clear_text();
  4725. self.unknown_fields.clear();
  4726. }
  4727. }
  4728. impl ::std::fmt::Debug for Copyright {
  4729. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  4730. ::protobuf::text_format::fmt(self, f)
  4731. }
  4732. }
  4733. impl ::protobuf::reflect::ProtobufValue for Copyright {
  4734. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4735. ::protobuf::reflect::ProtobufValueRef::Message(self)
  4736. }
  4737. }
  4738. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  4739. pub enum Copyright_Type {
  4740. P = 0,
  4741. C = 1,
  4742. }
  4743. impl ::protobuf::ProtobufEnum for Copyright_Type {
  4744. fn value(&self) -> i32 {
  4745. *self as i32
  4746. }
  4747. fn from_i32(value: i32) -> ::std::option::Option<Copyright_Type> {
  4748. match value {
  4749. 0 => ::std::option::Option::Some(Copyright_Type::P),
  4750. 1 => ::std::option::Option::Some(Copyright_Type::C),
  4751. _ => ::std::option::Option::None
  4752. }
  4753. }
  4754. fn values() -> &'static [Self] {
  4755. static values: &'static [Copyright_Type] = &[
  4756. Copyright_Type::P,
  4757. Copyright_Type::C,
  4758. ];
  4759. values
  4760. }
  4761. fn enum_descriptor_static(_: ::std::option::Option<Copyright_Type>) -> &'static ::protobuf::reflect::EnumDescriptor {
  4762. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  4763. lock: ::protobuf::lazy::ONCE_INIT,
  4764. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  4765. };
  4766. unsafe {
  4767. descriptor.get(|| {
  4768. ::protobuf::reflect::EnumDescriptor::new("Copyright_Type", file_descriptor_proto())
  4769. })
  4770. }
  4771. }
  4772. }
  4773. impl ::std::marker::Copy for Copyright_Type {
  4774. }
  4775. impl ::protobuf::reflect::ProtobufValue for Copyright_Type {
  4776. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4777. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  4778. }
  4779. }
  4780. #[derive(PartialEq,Clone,Default)]
  4781. pub struct Restriction {
  4782. // message fields
  4783. countries_allowed: ::protobuf::SingularField<::std::string::String>,
  4784. countries_forbidden: ::protobuf::SingularField<::std::string::String>,
  4785. typ: ::std::option::Option<Restriction_Type>,
  4786. catalogue_str: ::protobuf::RepeatedField<::std::string::String>,
  4787. // special fields
  4788. unknown_fields: ::protobuf::UnknownFields,
  4789. cached_size: ::protobuf::CachedSize,
  4790. }
  4791. // see codegen.rs for the explanation why impl Sync explicitly
  4792. unsafe impl ::std::marker::Sync for Restriction {}
  4793. impl Restriction {
  4794. pub fn new() -> Restriction {
  4795. ::std::default::Default::default()
  4796. }
  4797. pub fn default_instance() -> &'static Restriction {
  4798. static mut instance: ::protobuf::lazy::Lazy<Restriction> = ::protobuf::lazy::Lazy {
  4799. lock: ::protobuf::lazy::ONCE_INIT,
  4800. ptr: 0 as *const Restriction,
  4801. };
  4802. unsafe {
  4803. instance.get(Restriction::new)
  4804. }
  4805. }
  4806. // optional string countries_allowed = 2;
  4807. pub fn clear_countries_allowed(&mut self) {
  4808. self.countries_allowed.clear();
  4809. }
  4810. pub fn has_countries_allowed(&self) -> bool {
  4811. self.countries_allowed.is_some()
  4812. }
  4813. // Param is passed by value, moved
  4814. pub fn set_countries_allowed(&mut self, v: ::std::string::String) {
  4815. self.countries_allowed = ::protobuf::SingularField::some(v);
  4816. }
  4817. // Mutable pointer to the field.
  4818. // If field is not initialized, it is initialized with default value first.
  4819. pub fn mut_countries_allowed(&mut self) -> &mut ::std::string::String {
  4820. if self.countries_allowed.is_none() {
  4821. self.countries_allowed.set_default();
  4822. }
  4823. self.countries_allowed.as_mut().unwrap()
  4824. }
  4825. // Take field
  4826. pub fn take_countries_allowed(&mut self) -> ::std::string::String {
  4827. self.countries_allowed.take().unwrap_or_else(|| ::std::string::String::new())
  4828. }
  4829. pub fn get_countries_allowed(&self) -> &str {
  4830. match self.countries_allowed.as_ref() {
  4831. Some(v) => &v,
  4832. None => "",
  4833. }
  4834. }
  4835. fn get_countries_allowed_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  4836. &self.countries_allowed
  4837. }
  4838. fn mut_countries_allowed_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  4839. &mut self.countries_allowed
  4840. }
  4841. // optional string countries_forbidden = 3;
  4842. pub fn clear_countries_forbidden(&mut self) {
  4843. self.countries_forbidden.clear();
  4844. }
  4845. pub fn has_countries_forbidden(&self) -> bool {
  4846. self.countries_forbidden.is_some()
  4847. }
  4848. // Param is passed by value, moved
  4849. pub fn set_countries_forbidden(&mut self, v: ::std::string::String) {
  4850. self.countries_forbidden = ::protobuf::SingularField::some(v);
  4851. }
  4852. // Mutable pointer to the field.
  4853. // If field is not initialized, it is initialized with default value first.
  4854. pub fn mut_countries_forbidden(&mut self) -> &mut ::std::string::String {
  4855. if self.countries_forbidden.is_none() {
  4856. self.countries_forbidden.set_default();
  4857. }
  4858. self.countries_forbidden.as_mut().unwrap()
  4859. }
  4860. // Take field
  4861. pub fn take_countries_forbidden(&mut self) -> ::std::string::String {
  4862. self.countries_forbidden.take().unwrap_or_else(|| ::std::string::String::new())
  4863. }
  4864. pub fn get_countries_forbidden(&self) -> &str {
  4865. match self.countries_forbidden.as_ref() {
  4866. Some(v) => &v,
  4867. None => "",
  4868. }
  4869. }
  4870. fn get_countries_forbidden_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  4871. &self.countries_forbidden
  4872. }
  4873. fn mut_countries_forbidden_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  4874. &mut self.countries_forbidden
  4875. }
  4876. // optional .Restriction.Type typ = 4;
  4877. pub fn clear_typ(&mut self) {
  4878. self.typ = ::std::option::Option::None;
  4879. }
  4880. pub fn has_typ(&self) -> bool {
  4881. self.typ.is_some()
  4882. }
  4883. // Param is passed by value, moved
  4884. pub fn set_typ(&mut self, v: Restriction_Type) {
  4885. self.typ = ::std::option::Option::Some(v);
  4886. }
  4887. pub fn get_typ(&self) -> Restriction_Type {
  4888. self.typ.unwrap_or(Restriction_Type::STREAMING)
  4889. }
  4890. fn get_typ_for_reflect(&self) -> &::std::option::Option<Restriction_Type> {
  4891. &self.typ
  4892. }
  4893. fn mut_typ_for_reflect(&mut self) -> &mut ::std::option::Option<Restriction_Type> {
  4894. &mut self.typ
  4895. }
  4896. // repeated string catalogue_str = 5;
  4897. pub fn clear_catalogue_str(&mut self) {
  4898. self.catalogue_str.clear();
  4899. }
  4900. // Param is passed by value, moved
  4901. pub fn set_catalogue_str(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  4902. self.catalogue_str = v;
  4903. }
  4904. // Mutable pointer to the field.
  4905. pub fn mut_catalogue_str(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  4906. &mut self.catalogue_str
  4907. }
  4908. // Take field
  4909. pub fn take_catalogue_str(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  4910. ::std::mem::replace(&mut self.catalogue_str, ::protobuf::RepeatedField::new())
  4911. }
  4912. pub fn get_catalogue_str(&self) -> &[::std::string::String] {
  4913. &self.catalogue_str
  4914. }
  4915. fn get_catalogue_str_for_reflect(&self) -> &::protobuf::RepeatedField<::std::string::String> {
  4916. &self.catalogue_str
  4917. }
  4918. fn mut_catalogue_str_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  4919. &mut self.catalogue_str
  4920. }
  4921. }
  4922. impl ::protobuf::Message for Restriction {
  4923. fn is_initialized(&self) -> bool {
  4924. true
  4925. }
  4926. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  4927. while !is.eof()? {
  4928. let (field_number, wire_type) = is.read_tag_unpack()?;
  4929. match field_number {
  4930. 2 => {
  4931. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.countries_allowed)?;
  4932. },
  4933. 3 => {
  4934. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.countries_forbidden)?;
  4935. },
  4936. 4 => {
  4937. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  4938. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  4939. }
  4940. let tmp = is.read_enum()?;
  4941. self.typ = ::std::option::Option::Some(tmp);
  4942. },
  4943. 5 => {
  4944. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.catalogue_str)?;
  4945. },
  4946. _ => {
  4947. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4948. },
  4949. };
  4950. }
  4951. ::std::result::Result::Ok(())
  4952. }
  4953. // Compute sizes of nested messages
  4954. #[allow(unused_variables)]
  4955. fn compute_size(&self) -> u32 {
  4956. let mut my_size = 0;
  4957. if let Some(ref v) = self.countries_allowed.as_ref() {
  4958. my_size += ::protobuf::rt::string_size(2, &v);
  4959. }
  4960. if let Some(ref v) = self.countries_forbidden.as_ref() {
  4961. my_size += ::protobuf::rt::string_size(3, &v);
  4962. }
  4963. if let Some(v) = self.typ {
  4964. my_size += ::protobuf::rt::enum_size(4, v);
  4965. }
  4966. for value in &self.catalogue_str {
  4967. my_size += ::protobuf::rt::string_size(5, &value);
  4968. };
  4969. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4970. self.cached_size.set(my_size);
  4971. my_size
  4972. }
  4973. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  4974. if let Some(ref v) = self.countries_allowed.as_ref() {
  4975. os.write_string(2, &v)?;
  4976. }
  4977. if let Some(ref v) = self.countries_forbidden.as_ref() {
  4978. os.write_string(3, &v)?;
  4979. }
  4980. if let Some(v) = self.typ {
  4981. os.write_enum(4, v.value())?;
  4982. }
  4983. for v in &self.catalogue_str {
  4984. os.write_string(5, &v)?;
  4985. };
  4986. os.write_unknown_fields(self.get_unknown_fields())?;
  4987. ::std::result::Result::Ok(())
  4988. }
  4989. fn get_cached_size(&self) -> u32 {
  4990. self.cached_size.get()
  4991. }
  4992. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4993. &self.unknown_fields
  4994. }
  4995. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4996. &mut self.unknown_fields
  4997. }
  4998. fn as_any(&self) -> &::std::any::Any {
  4999. self as &::std::any::Any
  5000. }
  5001. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  5002. self as &mut ::std::any::Any
  5003. }
  5004. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  5005. self
  5006. }
  5007. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5008. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  5009. }
  5010. }
  5011. impl ::protobuf::MessageStatic for Restriction {
  5012. fn new() -> Restriction {
  5013. Restriction::new()
  5014. }
  5015. fn descriptor_static(_: ::std::option::Option<Restriction>) -> &'static ::protobuf::reflect::MessageDescriptor {
  5016. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5017. lock: ::protobuf::lazy::ONCE_INIT,
  5018. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5019. };
  5020. unsafe {
  5021. descriptor.get(|| {
  5022. let mut fields = ::std::vec::Vec::new();
  5023. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  5024. "countries_allowed",
  5025. Restriction::get_countries_allowed_for_reflect,
  5026. Restriction::mut_countries_allowed_for_reflect,
  5027. ));
  5028. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  5029. "countries_forbidden",
  5030. Restriction::get_countries_forbidden_for_reflect,
  5031. Restriction::mut_countries_forbidden_for_reflect,
  5032. ));
  5033. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Restriction_Type>>(
  5034. "typ",
  5035. Restriction::get_typ_for_reflect,
  5036. Restriction::mut_typ_for_reflect,
  5037. ));
  5038. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  5039. "catalogue_str",
  5040. Restriction::get_catalogue_str_for_reflect,
  5041. Restriction::mut_catalogue_str_for_reflect,
  5042. ));
  5043. ::protobuf::reflect::MessageDescriptor::new::<Restriction>(
  5044. "Restriction",
  5045. fields,
  5046. file_descriptor_proto()
  5047. )
  5048. })
  5049. }
  5050. }
  5051. }
  5052. impl ::protobuf::Clear for Restriction {
  5053. fn clear(&mut self) {
  5054. self.clear_countries_allowed();
  5055. self.clear_countries_forbidden();
  5056. self.clear_typ();
  5057. self.clear_catalogue_str();
  5058. self.unknown_fields.clear();
  5059. }
  5060. }
  5061. impl ::std::fmt::Debug for Restriction {
  5062. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  5063. ::protobuf::text_format::fmt(self, f)
  5064. }
  5065. }
  5066. impl ::protobuf::reflect::ProtobufValue for Restriction {
  5067. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5068. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5069. }
  5070. }
  5071. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  5072. pub enum Restriction_Type {
  5073. STREAMING = 0,
  5074. }
  5075. impl ::protobuf::ProtobufEnum for Restriction_Type {
  5076. fn value(&self) -> i32 {
  5077. *self as i32
  5078. }
  5079. fn from_i32(value: i32) -> ::std::option::Option<Restriction_Type> {
  5080. match value {
  5081. 0 => ::std::option::Option::Some(Restriction_Type::STREAMING),
  5082. _ => ::std::option::Option::None
  5083. }
  5084. }
  5085. fn values() -> &'static [Self] {
  5086. static values: &'static [Restriction_Type] = &[
  5087. Restriction_Type::STREAMING,
  5088. ];
  5089. values
  5090. }
  5091. fn enum_descriptor_static(_: ::std::option::Option<Restriction_Type>) -> &'static ::protobuf::reflect::EnumDescriptor {
  5092. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  5093. lock: ::protobuf::lazy::ONCE_INIT,
  5094. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  5095. };
  5096. unsafe {
  5097. descriptor.get(|| {
  5098. ::protobuf::reflect::EnumDescriptor::new("Restriction_Type", file_descriptor_proto())
  5099. })
  5100. }
  5101. }
  5102. }
  5103. impl ::std::marker::Copy for Restriction_Type {
  5104. }
  5105. impl ::protobuf::reflect::ProtobufValue for Restriction_Type {
  5106. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5107. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  5108. }
  5109. }
  5110. #[derive(PartialEq,Clone,Default)]
  5111. pub struct SalePeriod {
  5112. // message fields
  5113. restriction: ::protobuf::RepeatedField<Restriction>,
  5114. start: ::protobuf::SingularPtrField<Date>,
  5115. end: ::protobuf::SingularPtrField<Date>,
  5116. // special fields
  5117. unknown_fields: ::protobuf::UnknownFields,
  5118. cached_size: ::protobuf::CachedSize,
  5119. }
  5120. // see codegen.rs for the explanation why impl Sync explicitly
  5121. unsafe impl ::std::marker::Sync for SalePeriod {}
  5122. impl SalePeriod {
  5123. pub fn new() -> SalePeriod {
  5124. ::std::default::Default::default()
  5125. }
  5126. pub fn default_instance() -> &'static SalePeriod {
  5127. static mut instance: ::protobuf::lazy::Lazy<SalePeriod> = ::protobuf::lazy::Lazy {
  5128. lock: ::protobuf::lazy::ONCE_INIT,
  5129. ptr: 0 as *const SalePeriod,
  5130. };
  5131. unsafe {
  5132. instance.get(SalePeriod::new)
  5133. }
  5134. }
  5135. // repeated .Restriction restriction = 1;
  5136. pub fn clear_restriction(&mut self) {
  5137. self.restriction.clear();
  5138. }
  5139. // Param is passed by value, moved
  5140. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  5141. self.restriction = v;
  5142. }
  5143. // Mutable pointer to the field.
  5144. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  5145. &mut self.restriction
  5146. }
  5147. // Take field
  5148. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  5149. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  5150. }
  5151. pub fn get_restriction(&self) -> &[Restriction] {
  5152. &self.restriction
  5153. }
  5154. fn get_restriction_for_reflect(&self) -> &::protobuf::RepeatedField<Restriction> {
  5155. &self.restriction
  5156. }
  5157. fn mut_restriction_for_reflect(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  5158. &mut self.restriction
  5159. }
  5160. // optional .Date start = 2;
  5161. pub fn clear_start(&mut self) {
  5162. self.start.clear();
  5163. }
  5164. pub fn has_start(&self) -> bool {
  5165. self.start.is_some()
  5166. }
  5167. // Param is passed by value, moved
  5168. pub fn set_start(&mut self, v: Date) {
  5169. self.start = ::protobuf::SingularPtrField::some(v);
  5170. }
  5171. // Mutable pointer to the field.
  5172. // If field is not initialized, it is initialized with default value first.
  5173. pub fn mut_start(&mut self) -> &mut Date {
  5174. if self.start.is_none() {
  5175. self.start.set_default();
  5176. }
  5177. self.start.as_mut().unwrap()
  5178. }
  5179. // Take field
  5180. pub fn take_start(&mut self) -> Date {
  5181. self.start.take().unwrap_or_else(|| Date::new())
  5182. }
  5183. pub fn get_start(&self) -> &Date {
  5184. self.start.as_ref().unwrap_or_else(|| Date::default_instance())
  5185. }
  5186. fn get_start_for_reflect(&self) -> &::protobuf::SingularPtrField<Date> {
  5187. &self.start
  5188. }
  5189. fn mut_start_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField<Date> {
  5190. &mut self.start
  5191. }
  5192. // optional .Date end = 3;
  5193. pub fn clear_end(&mut self) {
  5194. self.end.clear();
  5195. }
  5196. pub fn has_end(&self) -> bool {
  5197. self.end.is_some()
  5198. }
  5199. // Param is passed by value, moved
  5200. pub fn set_end(&mut self, v: Date) {
  5201. self.end = ::protobuf::SingularPtrField::some(v);
  5202. }
  5203. // Mutable pointer to the field.
  5204. // If field is not initialized, it is initialized with default value first.
  5205. pub fn mut_end(&mut self) -> &mut Date {
  5206. if self.end.is_none() {
  5207. self.end.set_default();
  5208. }
  5209. self.end.as_mut().unwrap()
  5210. }
  5211. // Take field
  5212. pub fn take_end(&mut self) -> Date {
  5213. self.end.take().unwrap_or_else(|| Date::new())
  5214. }
  5215. pub fn get_end(&self) -> &Date {
  5216. self.end.as_ref().unwrap_or_else(|| Date::default_instance())
  5217. }
  5218. fn get_end_for_reflect(&self) -> &::protobuf::SingularPtrField<Date> {
  5219. &self.end
  5220. }
  5221. fn mut_end_for_reflect(&mut self) -> &mut ::protobuf::SingularPtrField<Date> {
  5222. &mut self.end
  5223. }
  5224. }
  5225. impl ::protobuf::Message for SalePeriod {
  5226. fn is_initialized(&self) -> bool {
  5227. for v in &self.restriction {
  5228. if !v.is_initialized() {
  5229. return false;
  5230. }
  5231. };
  5232. for v in &self.start {
  5233. if !v.is_initialized() {
  5234. return false;
  5235. }
  5236. };
  5237. for v in &self.end {
  5238. if !v.is_initialized() {
  5239. return false;
  5240. }
  5241. };
  5242. true
  5243. }
  5244. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  5245. while !is.eof()? {
  5246. let (field_number, wire_type) = is.read_tag_unpack()?;
  5247. match field_number {
  5248. 1 => {
  5249. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  5250. },
  5251. 2 => {
  5252. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.start)?;
  5253. },
  5254. 3 => {
  5255. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.end)?;
  5256. },
  5257. _ => {
  5258. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  5259. },
  5260. };
  5261. }
  5262. ::std::result::Result::Ok(())
  5263. }
  5264. // Compute sizes of nested messages
  5265. #[allow(unused_variables)]
  5266. fn compute_size(&self) -> u32 {
  5267. let mut my_size = 0;
  5268. for value in &self.restriction {
  5269. let len = value.compute_size();
  5270. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  5271. };
  5272. if let Some(ref v) = self.start.as_ref() {
  5273. let len = v.compute_size();
  5274. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  5275. }
  5276. if let Some(ref v) = self.end.as_ref() {
  5277. let len = v.compute_size();
  5278. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  5279. }
  5280. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  5281. self.cached_size.set(my_size);
  5282. my_size
  5283. }
  5284. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  5285. for v in &self.restriction {
  5286. os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  5287. os.write_raw_varint32(v.get_cached_size())?;
  5288. v.write_to_with_cached_sizes(os)?;
  5289. };
  5290. if let Some(ref v) = self.start.as_ref() {
  5291. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  5292. os.write_raw_varint32(v.get_cached_size())?;
  5293. v.write_to_with_cached_sizes(os)?;
  5294. }
  5295. if let Some(ref v) = self.end.as_ref() {
  5296. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  5297. os.write_raw_varint32(v.get_cached_size())?;
  5298. v.write_to_with_cached_sizes(os)?;
  5299. }
  5300. os.write_unknown_fields(self.get_unknown_fields())?;
  5301. ::std::result::Result::Ok(())
  5302. }
  5303. fn get_cached_size(&self) -> u32 {
  5304. self.cached_size.get()
  5305. }
  5306. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  5307. &self.unknown_fields
  5308. }
  5309. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  5310. &mut self.unknown_fields
  5311. }
  5312. fn as_any(&self) -> &::std::any::Any {
  5313. self as &::std::any::Any
  5314. }
  5315. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  5316. self as &mut ::std::any::Any
  5317. }
  5318. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  5319. self
  5320. }
  5321. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5322. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  5323. }
  5324. }
  5325. impl ::protobuf::MessageStatic for SalePeriod {
  5326. fn new() -> SalePeriod {
  5327. SalePeriod::new()
  5328. }
  5329. fn descriptor_static(_: ::std::option::Option<SalePeriod>) -> &'static ::protobuf::reflect::MessageDescriptor {
  5330. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5331. lock: ::protobuf::lazy::ONCE_INIT,
  5332. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5333. };
  5334. unsafe {
  5335. descriptor.get(|| {
  5336. let mut fields = ::std::vec::Vec::new();
  5337. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  5338. "restriction",
  5339. SalePeriod::get_restriction_for_reflect,
  5340. SalePeriod::mut_restriction_for_reflect,
  5341. ));
  5342. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  5343. "start",
  5344. SalePeriod::get_start_for_reflect,
  5345. SalePeriod::mut_start_for_reflect,
  5346. ));
  5347. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  5348. "end",
  5349. SalePeriod::get_end_for_reflect,
  5350. SalePeriod::mut_end_for_reflect,
  5351. ));
  5352. ::protobuf::reflect::MessageDescriptor::new::<SalePeriod>(
  5353. "SalePeriod",
  5354. fields,
  5355. file_descriptor_proto()
  5356. )
  5357. })
  5358. }
  5359. }
  5360. }
  5361. impl ::protobuf::Clear for SalePeriod {
  5362. fn clear(&mut self) {
  5363. self.clear_restriction();
  5364. self.clear_start();
  5365. self.clear_end();
  5366. self.unknown_fields.clear();
  5367. }
  5368. }
  5369. impl ::std::fmt::Debug for SalePeriod {
  5370. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  5371. ::protobuf::text_format::fmt(self, f)
  5372. }
  5373. }
  5374. impl ::protobuf::reflect::ProtobufValue for SalePeriod {
  5375. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5376. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5377. }
  5378. }
  5379. #[derive(PartialEq,Clone,Default)]
  5380. pub struct ExternalId {
  5381. // message fields
  5382. typ: ::protobuf::SingularField<::std::string::String>,
  5383. id: ::protobuf::SingularField<::std::string::String>,
  5384. // special fields
  5385. unknown_fields: ::protobuf::UnknownFields,
  5386. cached_size: ::protobuf::CachedSize,
  5387. }
  5388. // see codegen.rs for the explanation why impl Sync explicitly
  5389. unsafe impl ::std::marker::Sync for ExternalId {}
  5390. impl ExternalId {
  5391. pub fn new() -> ExternalId {
  5392. ::std::default::Default::default()
  5393. }
  5394. pub fn default_instance() -> &'static ExternalId {
  5395. static mut instance: ::protobuf::lazy::Lazy<ExternalId> = ::protobuf::lazy::Lazy {
  5396. lock: ::protobuf::lazy::ONCE_INIT,
  5397. ptr: 0 as *const ExternalId,
  5398. };
  5399. unsafe {
  5400. instance.get(ExternalId::new)
  5401. }
  5402. }
  5403. // optional string typ = 1;
  5404. pub fn clear_typ(&mut self) {
  5405. self.typ.clear();
  5406. }
  5407. pub fn has_typ(&self) -> bool {
  5408. self.typ.is_some()
  5409. }
  5410. // Param is passed by value, moved
  5411. pub fn set_typ(&mut self, v: ::std::string::String) {
  5412. self.typ = ::protobuf::SingularField::some(v);
  5413. }
  5414. // Mutable pointer to the field.
  5415. // If field is not initialized, it is initialized with default value first.
  5416. pub fn mut_typ(&mut self) -> &mut ::std::string::String {
  5417. if self.typ.is_none() {
  5418. self.typ.set_default();
  5419. }
  5420. self.typ.as_mut().unwrap()
  5421. }
  5422. // Take field
  5423. pub fn take_typ(&mut self) -> ::std::string::String {
  5424. self.typ.take().unwrap_or_else(|| ::std::string::String::new())
  5425. }
  5426. pub fn get_typ(&self) -> &str {
  5427. match self.typ.as_ref() {
  5428. Some(v) => &v,
  5429. None => "",
  5430. }
  5431. }
  5432. fn get_typ_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  5433. &self.typ
  5434. }
  5435. fn mut_typ_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  5436. &mut self.typ
  5437. }
  5438. // optional string id = 2;
  5439. pub fn clear_id(&mut self) {
  5440. self.id.clear();
  5441. }
  5442. pub fn has_id(&self) -> bool {
  5443. self.id.is_some()
  5444. }
  5445. // Param is passed by value, moved
  5446. pub fn set_id(&mut self, v: ::std::string::String) {
  5447. self.id = ::protobuf::SingularField::some(v);
  5448. }
  5449. // Mutable pointer to the field.
  5450. // If field is not initialized, it is initialized with default value first.
  5451. pub fn mut_id(&mut self) -> &mut ::std::string::String {
  5452. if self.id.is_none() {
  5453. self.id.set_default();
  5454. }
  5455. self.id.as_mut().unwrap()
  5456. }
  5457. // Take field
  5458. pub fn take_id(&mut self) -> ::std::string::String {
  5459. self.id.take().unwrap_or_else(|| ::std::string::String::new())
  5460. }
  5461. pub fn get_id(&self) -> &str {
  5462. match self.id.as_ref() {
  5463. Some(v) => &v,
  5464. None => "",
  5465. }
  5466. }
  5467. fn get_id_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
  5468. &self.id
  5469. }
  5470. fn mut_id_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
  5471. &mut self.id
  5472. }
  5473. }
  5474. impl ::protobuf::Message for ExternalId {
  5475. fn is_initialized(&self) -> bool {
  5476. true
  5477. }
  5478. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  5479. while !is.eof()? {
  5480. let (field_number, wire_type) = is.read_tag_unpack()?;
  5481. match field_number {
  5482. 1 => {
  5483. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.typ)?;
  5484. },
  5485. 2 => {
  5486. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.id)?;
  5487. },
  5488. _ => {
  5489. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  5490. },
  5491. };
  5492. }
  5493. ::std::result::Result::Ok(())
  5494. }
  5495. // Compute sizes of nested messages
  5496. #[allow(unused_variables)]
  5497. fn compute_size(&self) -> u32 {
  5498. let mut my_size = 0;
  5499. if let Some(ref v) = self.typ.as_ref() {
  5500. my_size += ::protobuf::rt::string_size(1, &v);
  5501. }
  5502. if let Some(ref v) = self.id.as_ref() {
  5503. my_size += ::protobuf::rt::string_size(2, &v);
  5504. }
  5505. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  5506. self.cached_size.set(my_size);
  5507. my_size
  5508. }
  5509. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  5510. if let Some(ref v) = self.typ.as_ref() {
  5511. os.write_string(1, &v)?;
  5512. }
  5513. if let Some(ref v) = self.id.as_ref() {
  5514. os.write_string(2, &v)?;
  5515. }
  5516. os.write_unknown_fields(self.get_unknown_fields())?;
  5517. ::std::result::Result::Ok(())
  5518. }
  5519. fn get_cached_size(&self) -> u32 {
  5520. self.cached_size.get()
  5521. }
  5522. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  5523. &self.unknown_fields
  5524. }
  5525. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  5526. &mut self.unknown_fields
  5527. }
  5528. fn as_any(&self) -> &::std::any::Any {
  5529. self as &::std::any::Any
  5530. }
  5531. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  5532. self as &mut ::std::any::Any
  5533. }
  5534. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  5535. self
  5536. }
  5537. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5538. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  5539. }
  5540. }
  5541. impl ::protobuf::MessageStatic for ExternalId {
  5542. fn new() -> ExternalId {
  5543. ExternalId::new()
  5544. }
  5545. fn descriptor_static(_: ::std::option::Option<ExternalId>) -> &'static ::protobuf::reflect::MessageDescriptor {
  5546. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5547. lock: ::protobuf::lazy::ONCE_INIT,
  5548. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5549. };
  5550. unsafe {
  5551. descriptor.get(|| {
  5552. let mut fields = ::std::vec::Vec::new();
  5553. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  5554. "typ",
  5555. ExternalId::get_typ_for_reflect,
  5556. ExternalId::mut_typ_for_reflect,
  5557. ));
  5558. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  5559. "id",
  5560. ExternalId::get_id_for_reflect,
  5561. ExternalId::mut_id_for_reflect,
  5562. ));
  5563. ::protobuf::reflect::MessageDescriptor::new::<ExternalId>(
  5564. "ExternalId",
  5565. fields,
  5566. file_descriptor_proto()
  5567. )
  5568. })
  5569. }
  5570. }
  5571. }
  5572. impl ::protobuf::Clear for ExternalId {
  5573. fn clear(&mut self) {
  5574. self.clear_typ();
  5575. self.clear_id();
  5576. self.unknown_fields.clear();
  5577. }
  5578. }
  5579. impl ::std::fmt::Debug for ExternalId {
  5580. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  5581. ::protobuf::text_format::fmt(self, f)
  5582. }
  5583. }
  5584. impl ::protobuf::reflect::ProtobufValue for ExternalId {
  5585. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5586. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5587. }
  5588. }
  5589. #[derive(PartialEq,Clone,Default)]
  5590. pub struct AudioFile {
  5591. // message fields
  5592. file_id: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  5593. format: ::std::option::Option<AudioFile_Format>,
  5594. // special fields
  5595. unknown_fields: ::protobuf::UnknownFields,
  5596. cached_size: ::protobuf::CachedSize,
  5597. }
  5598. // see codegen.rs for the explanation why impl Sync explicitly
  5599. unsafe impl ::std::marker::Sync for AudioFile {}
  5600. impl AudioFile {
  5601. pub fn new() -> AudioFile {
  5602. ::std::default::Default::default()
  5603. }
  5604. pub fn default_instance() -> &'static AudioFile {
  5605. static mut instance: ::protobuf::lazy::Lazy<AudioFile> = ::protobuf::lazy::Lazy {
  5606. lock: ::protobuf::lazy::ONCE_INIT,
  5607. ptr: 0 as *const AudioFile,
  5608. };
  5609. unsafe {
  5610. instance.get(AudioFile::new)
  5611. }
  5612. }
  5613. // optional bytes file_id = 1;
  5614. pub fn clear_file_id(&mut self) {
  5615. self.file_id.clear();
  5616. }
  5617. pub fn has_file_id(&self) -> bool {
  5618. self.file_id.is_some()
  5619. }
  5620. // Param is passed by value, moved
  5621. pub fn set_file_id(&mut self, v: ::std::vec::Vec<u8>) {
  5622. self.file_id = ::protobuf::SingularField::some(v);
  5623. }
  5624. // Mutable pointer to the field.
  5625. // If field is not initialized, it is initialized with default value first.
  5626. pub fn mut_file_id(&mut self) -> &mut ::std::vec::Vec<u8> {
  5627. if self.file_id.is_none() {
  5628. self.file_id.set_default();
  5629. }
  5630. self.file_id.as_mut().unwrap()
  5631. }
  5632. // Take field
  5633. pub fn take_file_id(&mut self) -> ::std::vec::Vec<u8> {
  5634. self.file_id.take().unwrap_or_else(|| ::std::vec::Vec::new())
  5635. }
  5636. pub fn get_file_id(&self) -> &[u8] {
  5637. match self.file_id.as_ref() {
  5638. Some(v) => &v,
  5639. None => &[],
  5640. }
  5641. }
  5642. fn get_file_id_for_reflect(&self) -> &::protobuf::SingularField<::std::vec::Vec<u8>> {
  5643. &self.file_id
  5644. }
  5645. fn mut_file_id_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::vec::Vec<u8>> {
  5646. &mut self.file_id
  5647. }
  5648. // optional .AudioFile.Format format = 2;
  5649. pub fn clear_format(&mut self) {
  5650. self.format = ::std::option::Option::None;
  5651. }
  5652. pub fn has_format(&self) -> bool {
  5653. self.format.is_some()
  5654. }
  5655. // Param is passed by value, moved
  5656. pub fn set_format(&mut self, v: AudioFile_Format) {
  5657. self.format = ::std::option::Option::Some(v);
  5658. }
  5659. pub fn get_format(&self) -> AudioFile_Format {
  5660. self.format.unwrap_or(AudioFile_Format::OGG_VORBIS_96)
  5661. }
  5662. fn get_format_for_reflect(&self) -> &::std::option::Option<AudioFile_Format> {
  5663. &self.format
  5664. }
  5665. fn mut_format_for_reflect(&mut self) -> &mut ::std::option::Option<AudioFile_Format> {
  5666. &mut self.format
  5667. }
  5668. }
  5669. impl ::protobuf::Message for AudioFile {
  5670. fn is_initialized(&self) -> bool {
  5671. true
  5672. }
  5673. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
  5674. while !is.eof()? {
  5675. let (field_number, wire_type) = is.read_tag_unpack()?;
  5676. match field_number {
  5677. 1 => {
  5678. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.file_id)?;
  5679. },
  5680. 2 => {
  5681. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  5682. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  5683. }
  5684. let tmp = is.read_enum()?;
  5685. self.format = ::std::option::Option::Some(tmp);
  5686. },
  5687. _ => {
  5688. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  5689. },
  5690. };
  5691. }
  5692. ::std::result::Result::Ok(())
  5693. }
  5694. // Compute sizes of nested messages
  5695. #[allow(unused_variables)]
  5696. fn compute_size(&self) -> u32 {
  5697. let mut my_size = 0;
  5698. if let Some(ref v) = self.file_id.as_ref() {
  5699. my_size += ::protobuf::rt::bytes_size(1, &v);
  5700. }
  5701. if let Some(v) = self.format {
  5702. my_size += ::protobuf::rt::enum_size(2, v);
  5703. }
  5704. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  5705. self.cached_size.set(my_size);
  5706. my_size
  5707. }
  5708. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
  5709. if let Some(ref v) = self.file_id.as_ref() {
  5710. os.write_bytes(1, &v)?;
  5711. }
  5712. if let Some(v) = self.format {
  5713. os.write_enum(2, v.value())?;
  5714. }
  5715. os.write_unknown_fields(self.get_unknown_fields())?;
  5716. ::std::result::Result::Ok(())
  5717. }
  5718. fn get_cached_size(&self) -> u32 {
  5719. self.cached_size.get()
  5720. }
  5721. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  5722. &self.unknown_fields
  5723. }
  5724. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  5725. &mut self.unknown_fields
  5726. }
  5727. fn as_any(&self) -> &::std::any::Any {
  5728. self as &::std::any::Any
  5729. }
  5730. fn as_any_mut(&mut self) -> &mut ::std::any::Any {
  5731. self as &mut ::std::any::Any
  5732. }
  5733. fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
  5734. self
  5735. }
  5736. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5737. ::protobuf::MessageStatic::descriptor_static(None::<Self>)
  5738. }
  5739. }
  5740. impl ::protobuf::MessageStatic for AudioFile {
  5741. fn new() -> AudioFile {
  5742. AudioFile::new()
  5743. }
  5744. fn descriptor_static(_: ::std::option::Option<AudioFile>) -> &'static ::protobuf::reflect::MessageDescriptor {
  5745. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5746. lock: ::protobuf::lazy::ONCE_INIT,
  5747. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5748. };
  5749. unsafe {
  5750. descriptor.get(|| {
  5751. let mut fields = ::std::vec::Vec::new();
  5752. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  5753. "file_id",
  5754. AudioFile::get_file_id_for_reflect,
  5755. AudioFile::mut_file_id_for_reflect,
  5756. ));
  5757. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<AudioFile_Format>>(
  5758. "format",
  5759. AudioFile::get_format_for_reflect,
  5760. AudioFile::mut_format_for_reflect,
  5761. ));
  5762. ::protobuf::reflect::MessageDescriptor::new::<AudioFile>(
  5763. "AudioFile",
  5764. fields,
  5765. file_descriptor_proto()
  5766. )
  5767. })
  5768. }
  5769. }
  5770. }
  5771. impl ::protobuf::Clear for AudioFile {
  5772. fn clear(&mut self) {
  5773. self.clear_file_id();
  5774. self.clear_format();
  5775. self.unknown_fields.clear();
  5776. }
  5777. }
  5778. impl ::std::fmt::Debug for AudioFile {
  5779. fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
  5780. ::protobuf::text_format::fmt(self, f)
  5781. }
  5782. }
  5783. impl ::protobuf::reflect::ProtobufValue for AudioFile {
  5784. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5785. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5786. }
  5787. }
  5788. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  5789. pub enum AudioFile_Format {
  5790. OGG_VORBIS_96 = 0,
  5791. OGG_VORBIS_160 = 1,
  5792. OGG_VORBIS_320 = 2,
  5793. MP3_256 = 3,
  5794. MP3_320 = 4,
  5795. MP3_160 = 5,
  5796. MP3_96 = 6,
  5797. MP3_160_ENC = 7,
  5798. OTHER2 = 8,
  5799. OTHER3 = 9,
  5800. AAC_160 = 10,
  5801. AAC_320 = 11,
  5802. OTHER4 = 12,
  5803. OTHER5 = 13,
  5804. }
  5805. impl ::protobuf::ProtobufEnum for AudioFile_Format {
  5806. fn value(&self) -> i32 {
  5807. *self as i32
  5808. }
  5809. fn from_i32(value: i32) -> ::std::option::Option<AudioFile_Format> {
  5810. match value {
  5811. 0 => ::std::option::Option::Some(AudioFile_Format::OGG_VORBIS_96),
  5812. 1 => ::std::option::Option::Some(AudioFile_Format::OGG_VORBIS_160),
  5813. 2 => ::std::option::Option::Some(AudioFile_Format::OGG_VORBIS_320),
  5814. 3 => ::std::option::Option::Some(AudioFile_Format::MP3_256),
  5815. 4 => ::std::option::Option::Some(AudioFile_Format::MP3_320),
  5816. 5 => ::std::option::Option::Some(AudioFile_Format::MP3_160),
  5817. 6 => ::std::option::Option::Some(AudioFile_Format::MP3_96),
  5818. 7 => ::std::option::Option::Some(AudioFile_Format::MP3_160_ENC),
  5819. 8 => ::std::option::Option::Some(AudioFile_Format::OTHER2),
  5820. 9 => ::std::option::Option::Some(AudioFile_Format::OTHER3),
  5821. 10 => ::std::option::Option::Some(AudioFile_Format::AAC_160),
  5822. 11 => ::std::option::Option::Some(AudioFile_Format::AAC_320),
  5823. 12 => ::std::option::Option::Some(AudioFile_Format::OTHER4),
  5824. 13 => ::std::option::Option::Some(AudioFile_Format::OTHER5),
  5825. _ => ::std::option::Option::None
  5826. }
  5827. }
  5828. fn values() -> &'static [Self] {
  5829. static values: &'static [AudioFile_Format] = &[
  5830. AudioFile_Format::OGG_VORBIS_96,
  5831. AudioFile_Format::OGG_VORBIS_160,
  5832. AudioFile_Format::OGG_VORBIS_320,
  5833. AudioFile_Format::MP3_256,
  5834. AudioFile_Format::MP3_320,
  5835. AudioFile_Format::MP3_160,
  5836. AudioFile_Format::MP3_96,
  5837. AudioFile_Format::MP3_160_ENC,
  5838. AudioFile_Format::OTHER2,
  5839. AudioFile_Format::OTHER3,
  5840. AudioFile_Format::AAC_160,
  5841. AudioFile_Format::AAC_320,
  5842. AudioFile_Format::OTHER4,
  5843. AudioFile_Format::OTHER5,
  5844. ];
  5845. values
  5846. }
  5847. fn enum_descriptor_static(_: ::std::option::Option<AudioFile_Format>) -> &'static ::protobuf::reflect::EnumDescriptor {
  5848. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  5849. lock: ::protobuf::lazy::ONCE_INIT,
  5850. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  5851. };
  5852. unsafe {
  5853. descriptor.get(|| {
  5854. ::protobuf::reflect::EnumDescriptor::new("AudioFile_Format", file_descriptor_proto())
  5855. })
  5856. }
  5857. }
  5858. }
  5859. impl ::std::marker::Copy for AudioFile_Format {
  5860. }
  5861. impl ::protobuf::reflect::ProtobufValue for AudioFile_Format {
  5862. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5863. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  5864. }
  5865. }
  5866. static file_descriptor_proto_data: &'static [u8] = b"\
  5867. \n\x0emetadata.proto\"C\n\tTopTracks\x12\x18\n\x07country\x18\x01\x20\
  5868. \x01(\tR\x07country\x12\x1c\n\x05track\x18\x02\x20\x03(\x0b2\x06.TrackR\
  5869. \x05track\"b\n\x0eActivityPeriod\x12\x1d\n\nstart_year\x18\x01\x20\x01(\
  5870. \x11R\tstartYear\x12\x19\n\x08end_year\x18\x02\x20\x01(\x11R\x07endYear\
  5871. \x12\x16\n\x06decade\x18\x03\x20\x01(\x11R\x06decade\"\xd0\x05\n\x06Arti\
  5872. st\x12\x10\n\x03gid\x18\x01\x20\x01(\x0cR\x03gid\x12\x12\n\x04name\x18\
  5873. \x02\x20\x01(\tR\x04name\x12\x1e\n\npopularity\x18\x03\x20\x01(\x11R\npo\
  5874. pularity\x12'\n\ttop_track\x18\x04\x20\x03(\x0b2\n.TopTracksR\x08topTrac\
  5875. k\x12,\n\x0balbum_group\x18\x05\x20\x03(\x0b2\x0b.AlbumGroupR\nalbumGrou\
  5876. p\x12.\n\x0csingle_group\x18\x06\x20\x03(\x0b2\x0b.AlbumGroupR\x0bsingle\
  5877. Group\x128\n\x11compilation_group\x18\x07\x20\x03(\x0b2\x0b.AlbumGroupR\
  5878. \x10compilationGroup\x125\n\x10appears_on_group\x18\x08\x20\x03(\x0b2\
  5879. \x0b.AlbumGroupR\x0eappearsOnGroup\x12\x14\n\x05genre\x18\t\x20\x03(\tR\
  5880. \x05genre\x12,\n\x0bexternal_id\x18\n\x20\x03(\x0b2\x0b.ExternalIdR\next\
  5881. ernalId\x12\"\n\x08portrait\x18\x0b\x20\x03(\x0b2\x06.ImageR\x08portrait\
  5882. \x12(\n\tbiography\x18\x0c\x20\x03(\x0b2\n.BiographyR\tbiography\x128\n\
  5883. \x0factivity_period\x18\r\x20\x03(\x0b2\x0f.ActivityPeriodR\x0eactivityP\
  5884. eriod\x12.\n\x0brestriction\x18\x0e\x20\x03(\x0b2\x0c.RestrictionR\x0bre\
  5885. striction\x12!\n\x07related\x18\x0f\x20\x03(\x0b2\x07.ArtistR\x07related\
  5886. \x125\n\x17is_portrait_album_cover\x18\x10\x20\x01(\x08R\x14isPortraitAl\
  5887. bumCover\x122\n\x0eportrait_group\x18\x11\x20\x01(\x0b2\x0b.ImageGroupR\
  5888. \rportraitGroup\"*\n\nAlbumGroup\x12\x1c\n\x05album\x18\x01\x20\x03(\x0b\
  5889. 2\x06.AlbumR\x05album\"B\n\x04Date\x12\x12\n\x04year\x18\x01\x20\x01(\
  5890. \x11R\x04year\x12\x14\n\x05month\x18\x02\x20\x01(\x11R\x05month\x12\x10\
  5891. \n\x03day\x18\x03\x20\x01(\x11R\x03day\"\xe3\x04\n\x05Album\x12\x10\n\
  5892. \x03gid\x18\x01\x20\x01(\x0cR\x03gid\x12\x12\n\x04name\x18\x02\x20\x01(\
  5893. \tR\x04name\x12\x1f\n\x06artist\x18\x03\x20\x03(\x0b2\x07.ArtistR\x06art\
  5894. ist\x12\x1d\n\x03typ\x18\x04\x20\x01(\x0e2\x0b.Album.TypeR\x03typ\x12\
  5895. \x14\n\x05label\x18\x05\x20\x01(\tR\x05label\x12\x19\n\x04date\x18\x06\
  5896. \x20\x01(\x0b2\x05.DateR\x04date\x12\x1e\n\npopularity\x18\x07\x20\x01(\
  5897. \x11R\npopularity\x12\x14\n\x05genre\x18\x08\x20\x03(\tR\x05genre\x12\
  5898. \x1c\n\x05cover\x18\t\x20\x03(\x0b2\x06.ImageR\x05cover\x12,\n\x0bextern\
  5899. al_id\x18\n\x20\x03(\x0b2\x0b.ExternalIdR\nexternalId\x12\x19\n\x04disc\
  5900. \x18\x0b\x20\x03(\x0b2\x05.DiscR\x04disc\x12\x16\n\x06review\x18\x0c\x20\
  5901. \x03(\tR\x06review\x12(\n\tcopyright\x18\r\x20\x03(\x0b2\n.CopyrightR\tc\
  5902. opyright\x12.\n\x0brestriction\x18\x0e\x20\x03(\x0b2\x0c.RestrictionR\
  5903. \x0brestriction\x12\x20\n\x07related\x18\x0f\x20\x03(\x0b2\x06.AlbumR\
  5904. \x07related\x12,\n\x0bsale_period\x18\x10\x20\x03(\x0b2\x0b.SalePeriodR\
  5905. \nsalePeriod\x12,\n\x0bcover_group\x18\x11\x20\x01(\x0b2\x0b.ImageGroupR\
  5906. \ncoverGroup\"6\n\x04Type\x12\t\n\x05ALBUM\x10\x01\x12\n\n\x06SINGLE\x10\
  5907. \x02\x12\x0f\n\x0bCOMPILATION\x10\x03\x12\x06\n\x02EP\x10\x04\"\xf9\x03\
  5908. \n\x05Track\x12\x10\n\x03gid\x18\x01\x20\x01(\x0cR\x03gid\x12\x12\n\x04n\
  5909. ame\x18\x02\x20\x01(\tR\x04name\x12\x1c\n\x05album\x18\x03\x20\x01(\x0b2\
  5910. \x06.AlbumR\x05album\x12\x1f\n\x06artist\x18\x04\x20\x03(\x0b2\x07.Artis\
  5911. tR\x06artist\x12\x16\n\x06number\x18\x05\x20\x01(\x11R\x06number\x12\x1f\
  5912. \n\x0bdisc_number\x18\x06\x20\x01(\x11R\ndiscNumber\x12\x1a\n\x08duratio\
  5913. n\x18\x07\x20\x01(\x11R\x08duration\x12\x1e\n\npopularity\x18\x08\x20\
  5914. \x01(\x11R\npopularity\x12\x1a\n\x08explicit\x18\t\x20\x01(\x08R\x08expl\
  5915. icit\x12,\n\x0bexternal_id\x18\n\x20\x03(\x0b2\x0b.ExternalIdR\nexternal\
  5916. Id\x12.\n\x0brestriction\x18\x0b\x20\x03(\x0b2\x0c.RestrictionR\x0brestr\
  5917. iction\x12\x1e\n\x04file\x18\x0c\x20\x03(\x0b2\n.AudioFileR\x04file\x12(\
  5918. \n\x0balternative\x18\r\x20\x03(\x0b2\x06.TrackR\x0balternative\x12,\n\
  5919. \x0bsale_period\x18\x0e\x20\x03(\x0b2\x0b.SalePeriodR\nsalePeriod\x12$\n\
  5920. \x07preview\x18\x0f\x20\x03(\x0b2\n.AudioFileR\x07preview\"\xa6\x01\n\
  5921. \x05Image\x12\x17\n\x07file_id\x18\x01\x20\x01(\x0cR\x06fileId\x12\x1f\n\
  5922. \x04size\x18\x02\x20\x01(\x0e2\x0b.Image.SizeR\x04size\x12\x14\n\x05widt\
  5923. h\x18\x03\x20\x01(\x11R\x05width\x12\x16\n\x06height\x18\x04\x20\x01(\
  5924. \x11R\x06height\"5\n\x04Size\x12\x0b\n\x07DEFAULT\x10\0\x12\t\n\x05SMALL\
  5925. \x10\x01\x12\t\n\x05LARGE\x10\x02\x12\n\n\x06XLARGE\x10\x03\"*\n\nImageG\
  5926. roup\x12\x1c\n\x05image\x18\x01\x20\x03(\x0b2\x06.ImageR\x05image\"w\n\t\
  5927. Biography\x12\x12\n\x04text\x18\x01\x20\x01(\tR\x04text\x12\"\n\x08portr\
  5928. ait\x18\x02\x20\x03(\x0b2\x06.ImageR\x08portrait\x122\n\x0eportrait_grou\
  5929. p\x18\x03\x20\x03(\x0b2\x0b.ImageGroupR\rportraitGroup\"P\n\x04Disc\x12\
  5930. \x16\n\x06number\x18\x01\x20\x01(\x11R\x06number\x12\x12\n\x04name\x18\
  5931. \x02\x20\x01(\tR\x04name\x12\x1c\n\x05track\x18\x03\x20\x03(\x0b2\x06.Tr\
  5932. ackR\x05track\"X\n\tCopyright\x12!\n\x03typ\x18\x01\x20\x01(\x0e2\x0f.Co\
  5933. pyright.TypeR\x03typ\x12\x12\n\x04text\x18\x02\x20\x01(\tR\x04text\"\x14\
  5934. \n\x04Type\x12\x05\n\x01P\x10\0\x12\x05\n\x01C\x10\x01\"\xcc\x01\n\x0bRe\
  5935. striction\x12+\n\x11countries_allowed\x18\x02\x20\x01(\tR\x10countriesAl\
  5936. lowed\x12/\n\x13countries_forbidden\x18\x03\x20\x01(\tR\x12countriesForb\
  5937. idden\x12#\n\x03typ\x18\x04\x20\x01(\x0e2\x11.Restriction.TypeR\x03typ\
  5938. \x12#\n\rcatalogue_str\x18\x05\x20\x03(\tR\x0ccatalogueStr\"\x15\n\x04Ty\
  5939. pe\x12\r\n\tSTREAMING\x10\0\"r\n\nSalePeriod\x12.\n\x0brestriction\x18\
  5940. \x01\x20\x03(\x0b2\x0c.RestrictionR\x0brestriction\x12\x1b\n\x05start\
  5941. \x18\x02\x20\x01(\x0b2\x05.DateR\x05start\x12\x17\n\x03end\x18\x03\x20\
  5942. \x01(\x0b2\x05.DateR\x03end\".\n\nExternalId\x12\x10\n\x03typ\x18\x01\
  5943. \x20\x01(\tR\x03typ\x12\x0e\n\x02id\x18\x02\x20\x01(\tR\x02id\"\xa3\x02\
  5944. \n\tAudioFile\x12\x17\n\x07file_id\x18\x01\x20\x01(\x0cR\x06fileId\x12)\
  5945. \n\x06format\x18\x02\x20\x01(\x0e2\x11.AudioFile.FormatR\x06format\"\xd1\
  5946. \x01\n\x06Format\x12\x11\n\rOGG_VORBIS_96\x10\0\x12\x12\n\x0eOGG_VORBIS_\
  5947. 160\x10\x01\x12\x12\n\x0eOGG_VORBIS_320\x10\x02\x12\x0b\n\x07MP3_256\x10\
  5948. \x03\x12\x0b\n\x07MP3_320\x10\x04\x12\x0b\n\x07MP3_160\x10\x05\x12\n\n\
  5949. \x06MP3_96\x10\x06\x12\x0f\n\x0bMP3_160_ENC\x10\x07\x12\n\n\x06OTHER2\
  5950. \x10\x08\x12\n\n\x06OTHER3\x10\t\x12\x0b\n\x07AAC_160\x10\n\x12\x0b\n\
  5951. \x07AAC_320\x10\x0b\x12\n\n\x06OTHER4\x10\x0c\x12\n\n\x06OTHER5\x10\rJ\
  5952. \xba:\n\x07\x12\x05\0\0\xa5\x01\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\
  5953. \n\x02\x04\0\x12\x04\x02\0\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\
  5954. \x11\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\"\n\x0c\n\x05\x04\0\x02\0\
  5955. \x04\x12\x03\x03\x04\x0c\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\r\x13\n\
  5956. \x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\x14\x1b\n\x0c\n\x05\x04\0\x02\0\
  5957. \x03\x12\x03\x03\x1e!\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x1f\n\
  5958. \x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x04\x04\x0c\n\x0c\n\x05\x04\0\x02\
  5959. \x01\x06\x12\x03\x04\r\x12\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04\x13\
  5960. \x18\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x04\x1b\x1e\n\n\n\x02\x04\x01\
  5961. \x12\x04\x07\0\x0b\x01\n\n\n\x03\x04\x01\x01\x12\x03\x07\x08\x16\n\x0b\n\
  5962. \x04\x04\x01\x02\0\x12\x03\x08\x04%\n\x0c\n\x05\x04\x01\x02\0\x04\x12\
  5963. \x03\x08\x04\x0c\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\x08\r\x13\n\x0c\n\
  5964. \x05\x04\x01\x02\0\x01\x12\x03\x08\x14\x1e\n\x0c\n\x05\x04\x01\x02\0\x03\
  5965. \x12\x03\x08!$\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\t\x04#\n\x0c\n\x05\
  5966. \x04\x01\x02\x01\x04\x12\x03\t\x04\x0c\n\x0c\n\x05\x04\x01\x02\x01\x05\
  5967. \x12\x03\t\r\x13\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\t\x14\x1c\n\x0c\
  5968. \n\x05\x04\x01\x02\x01\x03\x12\x03\t\x1f\"\n\x0b\n\x04\x04\x01\x02\x02\
  5969. \x12\x03\n\x04!\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03\n\x04\x0c\n\x0c\
  5970. \n\x05\x04\x01\x02\x02\x05\x12\x03\n\r\x13\n\x0c\n\x05\x04\x01\x02\x02\
  5971. \x01\x12\x03\n\x14\x1a\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\n\x1d\x20\
  5972. \n\n\n\x02\x04\x02\x12\x04\r\0\x1f\x01\n\n\n\x03\x04\x02\x01\x12\x03\r\
  5973. \x08\x0e\n\x0b\n\x04\x04\x02\x02\0\x12\x03\x0e\x04\x1d\n\x0c\n\x05\x04\
  5974. \x02\x02\0\x04\x12\x03\x0e\x04\x0c\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\
  5975. \x0e\r\x12\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\x0e\x13\x16\n\x0c\n\x05\
  5976. \x04\x02\x02\0\x03\x12\x03\x0e\x19\x1c\n\x0b\n\x04\x04\x02\x02\x01\x12\
  5977. \x03\x0f\x04\x1f\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03\x0f\x04\x0c\n\
  5978. \x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x0f\r\x13\n\x0c\n\x05\x04\x02\x02\
  5979. \x01\x01\x12\x03\x0f\x14\x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x0f\
  5980. \x1b\x1e\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x10\x04%\n\x0c\n\x05\x04\
  5981. \x02\x02\x02\x04\x12\x03\x10\x04\x0c\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\
  5982. \x03\x10\r\x13\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x10\x14\x1e\n\x0c\
  5983. \n\x05\x04\x02\x02\x02\x03\x12\x03\x10!$\n\x0b\n\x04\x04\x02\x02\x03\x12\
  5984. \x03\x11\x04'\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\x03\x11\x04\x0c\n\x0c\
  5985. \n\x05\x04\x02\x02\x03\x06\x12\x03\x11\r\x16\n\x0c\n\x05\x04\x02\x02\x03\
  5986. \x01\x12\x03\x11\x17\x20\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03\x11#&\n\
  5987. \x0b\n\x04\x04\x02\x02\x04\x12\x03\x12\x04*\n\x0c\n\x05\x04\x02\x02\x04\
  5988. \x04\x12\x03\x12\x04\x0c\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03\x12\r\
  5989. \x17\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03\x12\x18#\n\x0c\n\x05\x04\
  5990. \x02\x02\x04\x03\x12\x03\x12&)\n\x0b\n\x04\x04\x02\x02\x05\x12\x03\x13\
  5991. \x04+\n\x0c\n\x05\x04\x02\x02\x05\x04\x12\x03\x13\x04\x0c\n\x0c\n\x05\
  5992. \x04\x02\x02\x05\x06\x12\x03\x13\r\x17\n\x0c\n\x05\x04\x02\x02\x05\x01\
  5993. \x12\x03\x13\x18$\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03\x13'*\n\x0b\n\
  5994. \x04\x04\x02\x02\x06\x12\x03\x14\x040\n\x0c\n\x05\x04\x02\x02\x06\x04\
  5995. \x12\x03\x14\x04\x0c\n\x0c\n\x05\x04\x02\x02\x06\x06\x12\x03\x14\r\x17\n\
  5996. \x0c\n\x05\x04\x02\x02\x06\x01\x12\x03\x14\x18)\n\x0c\n\x05\x04\x02\x02\
  5997. \x06\x03\x12\x03\x14,/\n\x0b\n\x04\x04\x02\x02\x07\x12\x03\x15\x04/\n\
  5998. \x0c\n\x05\x04\x02\x02\x07\x04\x12\x03\x15\x04\x0c\n\x0c\n\x05\x04\x02\
  5999. \x02\x07\x06\x12\x03\x15\r\x17\n\x0c\n\x05\x04\x02\x02\x07\x01\x12\x03\
  6000. \x15\x18(\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03\x15+.\n\x0b\n\x04\x04\
  6001. \x02\x02\x08\x12\x03\x16\x04\x20\n\x0c\n\x05\x04\x02\x02\x08\x04\x12\x03\
  6002. \x16\x04\x0c\n\x0c\n\x05\x04\x02\x02\x08\x05\x12\x03\x16\r\x13\n\x0c\n\
  6003. \x05\x04\x02\x02\x08\x01\x12\x03\x16\x14\x19\n\x0c\n\x05\x04\x02\x02\x08\
  6004. \x03\x12\x03\x16\x1c\x1f\n\x0b\n\x04\x04\x02\x02\t\x12\x03\x17\x04*\n\
  6005. \x0c\n\x05\x04\x02\x02\t\x04\x12\x03\x17\x04\x0c\n\x0c\n\x05\x04\x02\x02\
  6006. \t\x06\x12\x03\x17\r\x17\n\x0c\n\x05\x04\x02\x02\t\x01\x12\x03\x17\x18#\
  6007. \n\x0c\n\x05\x04\x02\x02\t\x03\x12\x03\x17&)\n\x0b\n\x04\x04\x02\x02\n\
  6008. \x12\x03\x18\x04\"\n\x0c\n\x05\x04\x02\x02\n\x04\x12\x03\x18\x04\x0c\n\
  6009. \x0c\n\x05\x04\x02\x02\n\x06\x12\x03\x18\r\x12\n\x0c\n\x05\x04\x02\x02\n\
  6010. \x01\x12\x03\x18\x13\x1b\n\x0c\n\x05\x04\x02\x02\n\x03\x12\x03\x18\x1e!\
  6011. \n\x0b\n\x04\x04\x02\x02\x0b\x12\x03\x19\x04'\n\x0c\n\x05\x04\x02\x02\
  6012. \x0b\x04\x12\x03\x19\x04\x0c\n\x0c\n\x05\x04\x02\x02\x0b\x06\x12\x03\x19\
  6013. \r\x16\n\x0c\n\x05\x04\x02\x02\x0b\x01\x12\x03\x19\x17\x20\n\x0c\n\x05\
  6014. \x04\x02\x02\x0b\x03\x12\x03\x19#&\n\x0b\n\x04\x04\x02\x02\x0c\x12\x03\
  6015. \x1a\x042\n\x0c\n\x05\x04\x02\x02\x0c\x04\x12\x03\x1a\x04\x0c\n\x0c\n\
  6016. \x05\x04\x02\x02\x0c\x06\x12\x03\x1a\r\x1b\n\x0c\n\x05\x04\x02\x02\x0c\
  6017. \x01\x12\x03\x1a\x1c+\n\x0c\n\x05\x04\x02\x02\x0c\x03\x12\x03\x1a.1\n\
  6018. \x0b\n\x04\x04\x02\x02\r\x12\x03\x1b\x04+\n\x0c\n\x05\x04\x02\x02\r\x04\
  6019. \x12\x03\x1b\x04\x0c\n\x0c\n\x05\x04\x02\x02\r\x06\x12\x03\x1b\r\x18\n\
  6020. \x0c\n\x05\x04\x02\x02\r\x01\x12\x03\x1b\x19$\n\x0c\n\x05\x04\x02\x02\r\
  6021. \x03\x12\x03\x1b'*\n\x0b\n\x04\x04\x02\x02\x0e\x12\x03\x1c\x04\"\n\x0c\n\
  6022. \x05\x04\x02\x02\x0e\x04\x12\x03\x1c\x04\x0c\n\x0c\n\x05\x04\x02\x02\x0e\
  6023. \x06\x12\x03\x1c\r\x13\n\x0c\n\x05\x04\x02\x02\x0e\x01\x12\x03\x1c\x14\
  6024. \x1b\n\x0c\n\x05\x04\x02\x02\x0e\x03\x12\x03\x1c\x1e!\n\x0b\n\x04\x04\
  6025. \x02\x02\x0f\x12\x03\x1d\x041\n\x0c\n\x05\x04\x02\x02\x0f\x04\x12\x03\
  6026. \x1d\x04\x0c\n\x0c\n\x05\x04\x02\x02\x0f\x05\x12\x03\x1d\r\x11\n\x0c\n\
  6027. \x05\x04\x02\x02\x0f\x01\x12\x03\x1d\x12)\n\x0c\n\x05\x04\x02\x02\x0f\
  6028. \x03\x12\x03\x1d,0\n\x0b\n\x04\x04\x02\x02\x10\x12\x03\x1e\x04.\n\x0c\n\
  6029. \x05\x04\x02\x02\x10\x04\x12\x03\x1e\x04\x0c\n\x0c\n\x05\x04\x02\x02\x10\
  6030. \x06\x12\x03\x1e\r\x17\n\x0c\n\x05\x04\x02\x02\x10\x01\x12\x03\x1e\x18&\
  6031. \n\x0c\n\x05\x04\x02\x02\x10\x03\x12\x03\x1e)-\n\n\n\x02\x04\x03\x12\x04\
  6032. !\0#\x01\n\n\n\x03\x04\x03\x01\x12\x03!\x08\x12\n\x0b\n\x04\x04\x03\x02\
  6033. \0\x12\x03\"\x04\x1f\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03\"\x04\x0c\n\
  6034. \x0c\n\x05\x04\x03\x02\0\x06\x12\x03\"\r\x12\n\x0c\n\x05\x04\x03\x02\0\
  6035. \x01\x12\x03\"\x13\x18\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\"\x1b\x1e\n\
  6036. \n\n\x02\x04\x04\x12\x04%\0)\x01\n\n\n\x03\x04\x04\x01\x12\x03%\x08\x0c\
  6037. \n\x0b\n\x04\x04\x04\x02\0\x12\x03&\x04\x1f\n\x0c\n\x05\x04\x04\x02\0\
  6038. \x04\x12\x03&\x04\x0c\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03&\r\x13\n\x0c\
  6039. \n\x05\x04\x04\x02\0\x01\x12\x03&\x14\x18\n\x0c\n\x05\x04\x04\x02\0\x03\
  6040. \x12\x03&\x1b\x1e\n\x0b\n\x04\x04\x04\x02\x01\x12\x03'\x04\x20\n\x0c\n\
  6041. \x05\x04\x04\x02\x01\x04\x12\x03'\x04\x0c\n\x0c\n\x05\x04\x04\x02\x01\
  6042. \x05\x12\x03'\r\x13\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03'\x14\x19\n\
  6043. \x0c\n\x05\x04\x04\x02\x01\x03\x12\x03'\x1c\x1f\n\x0b\n\x04\x04\x04\x02\
  6044. \x02\x12\x03(\x04\x1e\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03(\x04\x0c\n\
  6045. \x0c\n\x05\x04\x04\x02\x02\x05\x12\x03(\r\x13\n\x0c\n\x05\x04\x04\x02\
  6046. \x02\x01\x12\x03(\x14\x17\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03(\x1a\
  6047. \x1d\n\n\n\x02\x04\x05\x12\x04+\0C\x01\n\n\n\x03\x04\x05\x01\x12\x03+\
  6048. \x08\r\n\x0b\n\x04\x04\x05\x02\0\x12\x03,\x04\x1d\n\x0c\n\x05\x04\x05\
  6049. \x02\0\x04\x12\x03,\x04\x0c\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03,\r\x12\
  6050. \n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03,\x13\x16\n\x0c\n\x05\x04\x05\x02\
  6051. \0\x03\x12\x03,\x19\x1c\n\x0b\n\x04\x04\x05\x02\x01\x12\x03-\x04\x1f\n\
  6052. \x0c\n\x05\x04\x05\x02\x01\x04\x12\x03-\x04\x0c\n\x0c\n\x05\x04\x05\x02\
  6053. \x01\x05\x12\x03-\r\x13\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03-\x14\x18\
  6054. \n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03-\x1b\x1e\n\x0b\n\x04\x04\x05\
  6055. \x02\x02\x12\x03.\x04!\n\x0c\n\x05\x04\x05\x02\x02\x04\x12\x03.\x04\x0c\
  6056. \n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03.\r\x13\n\x0c\n\x05\x04\x05\x02\
  6057. \x02\x01\x12\x03.\x14\x1a\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03.\x1d\
  6058. \x20\n\x0b\n\x04\x04\x05\x02\x03\x12\x03/\x04\x1c\n\x0c\n\x05\x04\x05\
  6059. \x02\x03\x04\x12\x03/\x04\x0c\n\x0c\n\x05\x04\x05\x02\x03\x06\x12\x03/\r\
  6060. \x11\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03/\x12\x15\n\x0c\n\x05\x04\
  6061. \x05\x02\x03\x03\x12\x03/\x18\x1b\n\x0c\n\x04\x04\x05\x04\0\x12\x040\x04\
  6062. 5\x05\n\x0c\n\x05\x04\x05\x04\0\x01\x12\x030\t\r\n\r\n\x06\x04\x05\x04\0\
  6063. \x02\0\x12\x031\x08\x14\n\x0e\n\x07\x04\x05\x04\0\x02\0\x01\x12\x031\x08\
  6064. \r\n\x0e\n\x07\x04\x05\x04\0\x02\0\x02\x12\x031\x10\x13\n\r\n\x06\x04\
  6065. \x05\x04\0\x02\x01\x12\x032\x08\x15\n\x0e\n\x07\x04\x05\x04\0\x02\x01\
  6066. \x01\x12\x032\x08\x0e\n\x0e\n\x07\x04\x05\x04\0\x02\x01\x02\x12\x032\x11\
  6067. \x14\n\r\n\x06\x04\x05\x04\0\x02\x02\x12\x033\x08\x1a\n\x0e\n\x07\x04\
  6068. \x05\x04\0\x02\x02\x01\x12\x033\x08\x13\n\x0e\n\x07\x04\x05\x04\0\x02\
  6069. \x02\x02\x12\x033\x16\x19\n\r\n\x06\x04\x05\x04\0\x02\x03\x12\x034\x08\
  6070. \x11\n\x0e\n\x07\x04\x05\x04\0\x02\x03\x01\x12\x034\x08\n\n\x0e\n\x07\
  6071. \x04\x05\x04\0\x02\x03\x02\x12\x034\r\x10\n\x0b\n\x04\x04\x05\x02\x04\
  6072. \x12\x036\x04\x20\n\x0c\n\x05\x04\x05\x02\x04\x04\x12\x036\x04\x0c\n\x0c\
  6073. \n\x05\x04\x05\x02\x04\x05\x12\x036\r\x13\n\x0c\n\x05\x04\x05\x02\x04\
  6074. \x01\x12\x036\x14\x19\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x036\x1c\x1f\n\
  6075. \x0b\n\x04\x04\x05\x02\x05\x12\x037\x04\x1d\n\x0c\n\x05\x04\x05\x02\x05\
  6076. \x04\x12\x037\x04\x0c\n\x0c\n\x05\x04\x05\x02\x05\x06\x12\x037\r\x11\n\
  6077. \x0c\n\x05\x04\x05\x02\x05\x01\x12\x037\x12\x16\n\x0c\n\x05\x04\x05\x02\
  6078. \x05\x03\x12\x037\x19\x1c\n\x0b\n\x04\x04\x05\x02\x06\x12\x038\x04%\n\
  6079. \x0c\n\x05\x04\x05\x02\x06\x04\x12\x038\x04\x0c\n\x0c\n\x05\x04\x05\x02\
  6080. \x06\x05\x12\x038\r\x13\n\x0c\n\x05\x04\x05\x02\x06\x01\x12\x038\x14\x1e\
  6081. \n\x0c\n\x05\x04\x05\x02\x06\x03\x12\x038!$\n\x0b\n\x04\x04\x05\x02\x07\
  6082. \x12\x039\x04\x20\n\x0c\n\x05\x04\x05\x02\x07\x04\x12\x039\x04\x0c\n\x0c\
  6083. \n\x05\x04\x05\x02\x07\x05\x12\x039\r\x13\n\x0c\n\x05\x04\x05\x02\x07\
  6084. \x01\x12\x039\x14\x19\n\x0c\n\x05\x04\x05\x02\x07\x03\x12\x039\x1c\x1f\n\
  6085. \x0b\n\x04\x04\x05\x02\x08\x12\x03:\x04\x1f\n\x0c\n\x05\x04\x05\x02\x08\
  6086. \x04\x12\x03:\x04\x0c\n\x0c\n\x05\x04\x05\x02\x08\x06\x12\x03:\r\x12\n\
  6087. \x0c\n\x05\x04\x05\x02\x08\x01\x12\x03:\x13\x18\n\x0c\n\x05\x04\x05\x02\
  6088. \x08\x03\x12\x03:\x1b\x1e\n\x0b\n\x04\x04\x05\x02\t\x12\x03;\x04*\n\x0c\
  6089. \n\x05\x04\x05\x02\t\x04\x12\x03;\x04\x0c\n\x0c\n\x05\x04\x05\x02\t\x06\
  6090. \x12\x03;\r\x17\n\x0c\n\x05\x04\x05\x02\t\x01\x12\x03;\x18#\n\x0c\n\x05\
  6091. \x04\x05\x02\t\x03\x12\x03;&)\n\x0b\n\x04\x04\x05\x02\n\x12\x03<\x04\x1d\
  6092. \n\x0c\n\x05\x04\x05\x02\n\x04\x12\x03<\x04\x0c\n\x0c\n\x05\x04\x05\x02\
  6093. \n\x06\x12\x03<\r\x11\n\x0c\n\x05\x04\x05\x02\n\x01\x12\x03<\x12\x16\n\
  6094. \x0c\n\x05\x04\x05\x02\n\x03\x12\x03<\x19\x1c\n\x0b\n\x04\x04\x05\x02\
  6095. \x0b\x12\x03=\x04!\n\x0c\n\x05\x04\x05\x02\x0b\x04\x12\x03=\x04\x0c\n\
  6096. \x0c\n\x05\x04\x05\x02\x0b\x05\x12\x03=\r\x13\n\x0c\n\x05\x04\x05\x02\
  6097. \x0b\x01\x12\x03=\x14\x1a\n\x0c\n\x05\x04\x05\x02\x0b\x03\x12\x03=\x1d\
  6098. \x20\n\x0b\n\x04\x04\x05\x02\x0c\x12\x03>\x04'\n\x0c\n\x05\x04\x05\x02\
  6099. \x0c\x04\x12\x03>\x04\x0c\n\x0c\n\x05\x04\x05\x02\x0c\x06\x12\x03>\r\x16\
  6100. \n\x0c\n\x05\x04\x05\x02\x0c\x01\x12\x03>\x17\x20\n\x0c\n\x05\x04\x05\
  6101. \x02\x0c\x03\x12\x03>#&\n\x0b\n\x04\x04\x05\x02\r\x12\x03?\x04+\n\x0c\n\
  6102. \x05\x04\x05\x02\r\x04\x12\x03?\x04\x0c\n\x0c\n\x05\x04\x05\x02\r\x06\
  6103. \x12\x03?\r\x18\n\x0c\n\x05\x04\x05\x02\r\x01\x12\x03?\x19$\n\x0c\n\x05\
  6104. \x04\x05\x02\r\x03\x12\x03?'*\n\x0b\n\x04\x04\x05\x02\x0e\x12\x03@\x04!\
  6105. \n\x0c\n\x05\x04\x05\x02\x0e\x04\x12\x03@\x04\x0c\n\x0c\n\x05\x04\x05\
  6106. \x02\x0e\x06\x12\x03@\r\x12\n\x0c\n\x05\x04\x05\x02\x0e\x01\x12\x03@\x13\
  6107. \x1a\n\x0c\n\x05\x04\x05\x02\x0e\x03\x12\x03@\x1d\x20\n\x0b\n\x04\x04\
  6108. \x05\x02\x0f\x12\x03A\x04+\n\x0c\n\x05\x04\x05\x02\x0f\x04\x12\x03A\x04\
  6109. \x0c\n\x0c\n\x05\x04\x05\x02\x0f\x06\x12\x03A\r\x17\n\x0c\n\x05\x04\x05\
  6110. \x02\x0f\x01\x12\x03A\x18#\n\x0c\n\x05\x04\x05\x02\x0f\x03\x12\x03A&*\n\
  6111. \x0b\n\x04\x04\x05\x02\x10\x12\x03B\x04+\n\x0c\n\x05\x04\x05\x02\x10\x04\
  6112. \x12\x03B\x04\x0c\n\x0c\n\x05\x04\x05\x02\x10\x06\x12\x03B\r\x17\n\x0c\n\
  6113. \x05\x04\x05\x02\x10\x01\x12\x03B\x18#\n\x0c\n\x05\x04\x05\x02\x10\x03\
  6114. \x12\x03B&*\n\n\n\x02\x04\x06\x12\x04E\0U\x01\n\n\n\x03\x04\x06\x01\x12\
  6115. \x03E\x08\r\n\x0b\n\x04\x04\x06\x02\0\x12\x03F\x04\x1d\n\x0c\n\x05\x04\
  6116. \x06\x02\0\x04\x12\x03F\x04\x0c\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03F\r\
  6117. \x12\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03F\x13\x16\n\x0c\n\x05\x04\x06\
  6118. \x02\0\x03\x12\x03F\x19\x1c\n\x0b\n\x04\x04\x06\x02\x01\x12\x03G\x04\x1f\
  6119. \n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03G\x04\x0c\n\x0c\n\x05\x04\x06\
  6120. \x02\x01\x05\x12\x03G\r\x13\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03G\x14\
  6121. \x18\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03G\x1b\x1e\n\x0b\n\x04\x04\
  6122. \x06\x02\x02\x12\x03H\x04\x1f\n\x0c\n\x05\x04\x06\x02\x02\x04\x12\x03H\
  6123. \x04\x0c\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03H\r\x12\n\x0c\n\x05\x04\
  6124. \x06\x02\x02\x01\x12\x03H\x13\x18\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\
  6125. \x03H\x1b\x1e\n\x0b\n\x04\x04\x06\x02\x03\x12\x03I\x04!\n\x0c\n\x05\x04\
  6126. \x06\x02\x03\x04\x12\x03I\x04\x0c\n\x0c\n\x05\x04\x06\x02\x03\x06\x12\
  6127. \x03I\r\x13\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03I\x14\x1a\n\x0c\n\x05\
  6128. \x04\x06\x02\x03\x03\x12\x03I\x1d\x20\n\x0b\n\x04\x04\x06\x02\x04\x12\
  6129. \x03J\x04!\n\x0c\n\x05\x04\x06\x02\x04\x04\x12\x03J\x04\x0c\n\x0c\n\x05\
  6130. \x04\x06\x02\x04\x05\x12\x03J\r\x13\n\x0c\n\x05\x04\x06\x02\x04\x01\x12\
  6131. \x03J\x14\x1a\n\x0c\n\x05\x04\x06\x02\x04\x03\x12\x03J\x1d\x20\n\x0b\n\
  6132. \x04\x04\x06\x02\x05\x12\x03K\x04&\n\x0c\n\x05\x04\x06\x02\x05\x04\x12\
  6133. \x03K\x04\x0c\n\x0c\n\x05\x04\x06\x02\x05\x05\x12\x03K\r\x13\n\x0c\n\x05\
  6134. \x04\x06\x02\x05\x01\x12\x03K\x14\x1f\n\x0c\n\x05\x04\x06\x02\x05\x03\
  6135. \x12\x03K\"%\n\x0b\n\x04\x04\x06\x02\x06\x12\x03L\x04#\n\x0c\n\x05\x04\
  6136. \x06\x02\x06\x04\x12\x03L\x04\x0c\n\x0c\n\x05\x04\x06\x02\x06\x05\x12\
  6137. \x03L\r\x13\n\x0c\n\x05\x04\x06\x02\x06\x01\x12\x03L\x14\x1c\n\x0c\n\x05\
  6138. \x04\x06\x02\x06\x03\x12\x03L\x1f\"\n\x0b\n\x04\x04\x06\x02\x07\x12\x03M\
  6139. \x04%\n\x0c\n\x05\x04\x06\x02\x07\x04\x12\x03M\x04\x0c\n\x0c\n\x05\x04\
  6140. \x06\x02\x07\x05\x12\x03M\r\x13\n\x0c\n\x05\x04\x06\x02\x07\x01\x12\x03M\
  6141. \x14\x1e\n\x0c\n\x05\x04\x06\x02\x07\x03\x12\x03M!$\n\x0b\n\x04\x04\x06\
  6142. \x02\x08\x12\x03N\x04!\n\x0c\n\x05\x04\x06\x02\x08\x04\x12\x03N\x04\x0c\
  6143. \n\x0c\n\x05\x04\x06\x02\x08\x05\x12\x03N\r\x11\n\x0c\n\x05\x04\x06\x02\
  6144. \x08\x01\x12\x03N\x12\x1a\n\x0c\n\x05\x04\x06\x02\x08\x03\x12\x03N\x1d\
  6145. \x20\n\x0b\n\x04\x04\x06\x02\t\x12\x03O\x04*\n\x0c\n\x05\x04\x06\x02\t\
  6146. \x04\x12\x03O\x04\x0c\n\x0c\n\x05\x04\x06\x02\t\x06\x12\x03O\r\x17\n\x0c\
  6147. \n\x05\x04\x06\x02\t\x01\x12\x03O\x18#\n\x0c\n\x05\x04\x06\x02\t\x03\x12\
  6148. \x03O&)\n\x0b\n\x04\x04\x06\x02\n\x12\x03P\x04+\n\x0c\n\x05\x04\x06\x02\
  6149. \n\x04\x12\x03P\x04\x0c\n\x0c\n\x05\x04\x06\x02\n\x06\x12\x03P\r\x18\n\
  6150. \x0c\n\x05\x04\x06\x02\n\x01\x12\x03P\x19$\n\x0c\n\x05\x04\x06\x02\n\x03\
  6151. \x12\x03P'*\n\x0b\n\x04\x04\x06\x02\x0b\x12\x03Q\x04\"\n\x0c\n\x05\x04\
  6152. \x06\x02\x0b\x04\x12\x03Q\x04\x0c\n\x0c\n\x05\x04\x06\x02\x0b\x06\x12\
  6153. \x03Q\r\x16\n\x0c\n\x05\x04\x06\x02\x0b\x01\x12\x03Q\x17\x1b\n\x0c\n\x05\
  6154. \x04\x06\x02\x0b\x03\x12\x03Q\x1e!\n\x0b\n\x04\x04\x06\x02\x0c\x12\x03R\
  6155. \x04%\n\x0c\n\x05\x04\x06\x02\x0c\x04\x12\x03R\x04\x0c\n\x0c\n\x05\x04\
  6156. \x06\x02\x0c\x06\x12\x03R\r\x12\n\x0c\n\x05\x04\x06\x02\x0c\x01\x12\x03R\
  6157. \x13\x1e\n\x0c\n\x05\x04\x06\x02\x0c\x03\x12\x03R!$\n\x0b\n\x04\x04\x06\
  6158. \x02\r\x12\x03S\x04*\n\x0c\n\x05\x04\x06\x02\r\x04\x12\x03S\x04\x0c\n\
  6159. \x0c\n\x05\x04\x06\x02\r\x06\x12\x03S\r\x17\n\x0c\n\x05\x04\x06\x02\r\
  6160. \x01\x12\x03S\x18#\n\x0c\n\x05\x04\x06\x02\r\x03\x12\x03S&)\n\x0b\n\x04\
  6161. \x04\x06\x02\x0e\x12\x03T\x04%\n\x0c\n\x05\x04\x06\x02\x0e\x04\x12\x03T\
  6162. \x04\x0c\n\x0c\n\x05\x04\x06\x02\x0e\x06\x12\x03T\r\x16\n\x0c\n\x05\x04\
  6163. \x06\x02\x0e\x01\x12\x03T\x17\x1e\n\x0c\n\x05\x04\x06\x02\x0e\x03\x12\
  6164. \x03T!$\n\n\n\x02\x04\x07\x12\x04W\0b\x01\n\n\n\x03\x04\x07\x01\x12\x03W\
  6165. \x08\r\n\x0b\n\x04\x04\x07\x02\0\x12\x03X\x04!\n\x0c\n\x05\x04\x07\x02\0\
  6166. \x04\x12\x03X\x04\x0c\n\x0c\n\x05\x04\x07\x02\0\x05\x12\x03X\r\x12\n\x0c\
  6167. \n\x05\x04\x07\x02\0\x01\x12\x03X\x13\x1a\n\x0c\n\x05\x04\x07\x02\0\x03\
  6168. \x12\x03X\x1d\x20\n\x0b\n\x04\x04\x07\x02\x01\x12\x03Y\x04\x1d\n\x0c\n\
  6169. \x05\x04\x07\x02\x01\x04\x12\x03Y\x04\x0c\n\x0c\n\x05\x04\x07\x02\x01\
  6170. \x06\x12\x03Y\r\x11\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03Y\x12\x16\n\
  6171. \x0c\n\x05\x04\x07\x02\x01\x03\x12\x03Y\x19\x1c\n\x0c\n\x04\x04\x07\x04\
  6172. \0\x12\x04Z\x04_\x05\n\x0c\n\x05\x04\x07\x04\0\x01\x12\x03Z\t\r\n\r\n\
  6173. \x06\x04\x07\x04\0\x02\0\x12\x03[\x08\x16\n\x0e\n\x07\x04\x07\x04\0\x02\
  6174. \0\x01\x12\x03[\x08\x0f\n\x0e\n\x07\x04\x07\x04\0\x02\0\x02\x12\x03[\x12\
  6175. \x15\n\r\n\x06\x04\x07\x04\0\x02\x01\x12\x03\\\x08\x14\n\x0e\n\x07\x04\
  6176. \x07\x04\0\x02\x01\x01\x12\x03\\\x08\r\n\x0e\n\x07\x04\x07\x04\0\x02\x01\
  6177. \x02\x12\x03\\\x10\x13\n\r\n\x06\x04\x07\x04\0\x02\x02\x12\x03]\x08\x14\
  6178. \n\x0e\n\x07\x04\x07\x04\0\x02\x02\x01\x12\x03]\x08\r\n\x0e\n\x07\x04\
  6179. \x07\x04\0\x02\x02\x02\x12\x03]\x10\x13\n\r\n\x06\x04\x07\x04\0\x02\x03\
  6180. \x12\x03^\x08\x15\n\x0e\n\x07\x04\x07\x04\0\x02\x03\x01\x12\x03^\x08\x0e\
  6181. \n\x0e\n\x07\x04\x07\x04\0\x02\x03\x02\x12\x03^\x11\x14\n\x0b\n\x04\x04\
  6182. \x07\x02\x02\x12\x03`\x04\x20\n\x0c\n\x05\x04\x07\x02\x02\x04\x12\x03`\
  6183. \x04\x0c\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03`\r\x13\n\x0c\n\x05\x04\
  6184. \x07\x02\x02\x01\x12\x03`\x14\x19\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\
  6185. \x03`\x1c\x1f\n\x0b\n\x04\x04\x07\x02\x03\x12\x03a\x04!\n\x0c\n\x05\x04\
  6186. \x07\x02\x03\x04\x12\x03a\x04\x0c\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\
  6187. \x03a\r\x13\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03a\x14\x1a\n\x0c\n\x05\
  6188. \x04\x07\x02\x03\x03\x12\x03a\x1d\x20\n\n\n\x02\x04\x08\x12\x04d\0f\x01\
  6189. \n\n\n\x03\x04\x08\x01\x12\x03d\x08\x12\n\x0b\n\x04\x04\x08\x02\0\x12\
  6190. \x03e\x04\x1f\n\x0c\n\x05\x04\x08\x02\0\x04\x12\x03e\x04\x0c\n\x0c\n\x05\
  6191. \x04\x08\x02\0\x06\x12\x03e\r\x12\n\x0c\n\x05\x04\x08\x02\0\x01\x12\x03e\
  6192. \x13\x18\n\x0c\n\x05\x04\x08\x02\0\x03\x12\x03e\x1b\x1e\n\n\n\x02\x04\t\
  6193. \x12\x04h\0l\x01\n\n\n\x03\x04\t\x01\x12\x03h\x08\x11\n\x0b\n\x04\x04\t\
  6194. \x02\0\x12\x03i\x04\x1f\n\x0c\n\x05\x04\t\x02\0\x04\x12\x03i\x04\x0c\n\
  6195. \x0c\n\x05\x04\t\x02\0\x05\x12\x03i\r\x13\n\x0c\n\x05\x04\t\x02\0\x01\
  6196. \x12\x03i\x14\x18\n\x0c\n\x05\x04\t\x02\0\x03\x12\x03i\x1b\x1e\n\x0b\n\
  6197. \x04\x04\t\x02\x01\x12\x03j\x04\"\n\x0c\n\x05\x04\t\x02\x01\x04\x12\x03j\
  6198. \x04\x0c\n\x0c\n\x05\x04\t\x02\x01\x06\x12\x03j\r\x12\n\x0c\n\x05\x04\t\
  6199. \x02\x01\x01\x12\x03j\x13\x1b\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03j\x1e\
  6200. !\n\x0b\n\x04\x04\t\x02\x02\x12\x03k\x04-\n\x0c\n\x05\x04\t\x02\x02\x04\
  6201. \x12\x03k\x04\x0c\n\x0c\n\x05\x04\t\x02\x02\x06\x12\x03k\r\x17\n\x0c\n\
  6202. \x05\x04\t\x02\x02\x01\x12\x03k\x18&\n\x0c\n\x05\x04\t\x02\x02\x03\x12\
  6203. \x03k),\n\n\n\x02\x04\n\x12\x04n\0r\x01\n\n\n\x03\x04\n\x01\x12\x03n\x08\
  6204. \x0c\n\x0b\n\x04\x04\n\x02\0\x12\x03o\x04!\n\x0c\n\x05\x04\n\x02\0\x04\
  6205. \x12\x03o\x04\x0c\n\x0c\n\x05\x04\n\x02\0\x05\x12\x03o\r\x13\n\x0c\n\x05\
  6206. \x04\n\x02\0\x01\x12\x03o\x14\x1a\n\x0c\n\x05\x04\n\x02\0\x03\x12\x03o\
  6207. \x1d\x20\n\x0b\n\x04\x04\n\x02\x01\x12\x03p\x04\x1f\n\x0c\n\x05\x04\n\
  6208. \x02\x01\x04\x12\x03p\x04\x0c\n\x0c\n\x05\x04\n\x02\x01\x05\x12\x03p\r\
  6209. \x13\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03p\x14\x18\n\x0c\n\x05\x04\n\
  6210. \x02\x01\x03\x12\x03p\x1b\x1e\n\x0b\n\x04\x04\n\x02\x02\x12\x03q\x04\x1f\
  6211. \n\x0c\n\x05\x04\n\x02\x02\x04\x12\x03q\x04\x0c\n\x0c\n\x05\x04\n\x02\
  6212. \x02\x06\x12\x03q\r\x12\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03q\x13\x18\n\
  6213. \x0c\n\x05\x04\n\x02\x02\x03\x12\x03q\x1b\x1e\n\n\n\x02\x04\x0b\x12\x04t\
  6214. \0{\x01\n\n\n\x03\x04\x0b\x01\x12\x03t\x08\x11\n\x0b\n\x04\x04\x0b\x02\0\
  6215. \x12\x03u\x04\x1c\n\x0c\n\x05\x04\x0b\x02\0\x04\x12\x03u\x04\x0c\n\x0c\n\
  6216. \x05\x04\x0b\x02\0\x06\x12\x03u\r\x11\n\x0c\n\x05\x04\x0b\x02\0\x01\x12\
  6217. \x03u\x12\x15\n\x0c\n\x05\x04\x0b\x02\0\x03\x12\x03u\x18\x1b\n\x0c\n\x04\
  6218. \x04\x0b\x04\0\x12\x04v\x04y\x05\n\x0c\n\x05\x04\x0b\x04\0\x01\x12\x03v\
  6219. \t\r\n\r\n\x06\x04\x0b\x04\0\x02\0\x12\x03w\x08\x10\n\x0e\n\x07\x04\x0b\
  6220. \x04\0\x02\0\x01\x12\x03w\x08\t\n\x0e\n\x07\x04\x0b\x04\0\x02\0\x02\x12\
  6221. \x03w\x0c\x0f\n\r\n\x06\x04\x0b\x04\0\x02\x01\x12\x03x\x08\x10\n\x0e\n\
  6222. \x07\x04\x0b\x04\0\x02\x01\x01\x12\x03x\x08\t\n\x0e\n\x07\x04\x0b\x04\0\
  6223. \x02\x01\x02\x12\x03x\x0c\x0f\n\x0b\n\x04\x04\x0b\x02\x01\x12\x03z\x04\
  6224. \x1f\n\x0c\n\x05\x04\x0b\x02\x01\x04\x12\x03z\x04\x0c\n\x0c\n\x05\x04\
  6225. \x0b\x02\x01\x05\x12\x03z\r\x13\n\x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03z\
  6226. \x14\x18\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03z\x1b\x1e\n\x0b\n\x02\
  6227. \x04\x0c\x12\x05}\0\x85\x01\x01\n\n\n\x03\x04\x0c\x01\x12\x03}\x08\x13\n\
  6228. \x0b\n\x04\x04\x0c\x02\0\x12\x03~\x04,\n\x0c\n\x05\x04\x0c\x02\0\x04\x12\
  6229. \x03~\x04\x0c\n\x0c\n\x05\x04\x0c\x02\0\x05\x12\x03~\r\x13\n\x0c\n\x05\
  6230. \x04\x0c\x02\0\x01\x12\x03~\x14%\n\x0c\n\x05\x04\x0c\x02\0\x03\x12\x03~(\
  6231. +\n\x0b\n\x04\x04\x0c\x02\x01\x12\x03\x7f\x04.\n\x0c\n\x05\x04\x0c\x02\
  6232. \x01\x04\x12\x03\x7f\x04\x0c\n\x0c\n\x05\x04\x0c\x02\x01\x05\x12\x03\x7f\
  6233. \r\x13\n\x0c\n\x05\x04\x0c\x02\x01\x01\x12\x03\x7f\x14'\n\x0c\n\x05\x04\
  6234. \x0c\x02\x01\x03\x12\x03\x7f*-\n\x0c\n\x04\x04\x0c\x02\x02\x12\x04\x80\
  6235. \x01\x04\x1c\n\r\n\x05\x04\x0c\x02\x02\x04\x12\x04\x80\x01\x04\x0c\n\r\n\
  6236. \x05\x04\x0c\x02\x02\x06\x12\x04\x80\x01\r\x11\n\r\n\x05\x04\x0c\x02\x02\
  6237. \x01\x12\x04\x80\x01\x12\x15\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\x80\
  6238. \x01\x18\x1b\n\x0e\n\x04\x04\x0c\x04\0\x12\x06\x81\x01\x04\x83\x01\x05\n\
  6239. \r\n\x05\x04\x0c\x04\0\x01\x12\x04\x81\x01\t\r\n\x0e\n\x06\x04\x0c\x04\0\
  6240. \x02\0\x12\x04\x82\x01\x08\x18\n\x0f\n\x07\x04\x0c\x04\0\x02\0\x01\x12\
  6241. \x04\x82\x01\x08\x11\n\x0f\n\x07\x04\x0c\x04\0\x02\0\x02\x12\x04\x82\x01\
  6242. \x14\x17\n\x0c\n\x04\x04\x0c\x02\x03\x12\x04\x84\x01\x04(\n\r\n\x05\x04\
  6243. \x0c\x02\x03\x04\x12\x04\x84\x01\x04\x0c\n\r\n\x05\x04\x0c\x02\x03\x05\
  6244. \x12\x04\x84\x01\r\x13\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\x84\x01\x14\
  6245. !\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\x84\x01$'\n\x0c\n\x02\x04\r\x12\
  6246. \x06\x87\x01\0\x8b\x01\x01\n\x0b\n\x03\x04\r\x01\x12\x04\x87\x01\x08\x12\
  6247. \n\x0c\n\x04\x04\r\x02\0\x12\x04\x88\x01\x04+\n\r\n\x05\x04\r\x02\0\x04\
  6248. \x12\x04\x88\x01\x04\x0c\n\r\n\x05\x04\r\x02\0\x06\x12\x04\x88\x01\r\x18\
  6249. \n\r\n\x05\x04\r\x02\0\x01\x12\x04\x88\x01\x19$\n\r\n\x05\x04\r\x02\0\
  6250. \x03\x12\x04\x88\x01'*\n\x0c\n\x04\x04\r\x02\x01\x12\x04\x89\x01\x04\x1e\
  6251. \n\r\n\x05\x04\r\x02\x01\x04\x12\x04\x89\x01\x04\x0c\n\r\n\x05\x04\r\x02\
  6252. \x01\x06\x12\x04\x89\x01\r\x11\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\x89\
  6253. \x01\x12\x17\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\x89\x01\x1a\x1d\n\x0c\n\
  6254. \x04\x04\r\x02\x02\x12\x04\x8a\x01\x04\x1c\n\r\n\x05\x04\r\x02\x02\x04\
  6255. \x12\x04\x8a\x01\x04\x0c\n\r\n\x05\x04\r\x02\x02\x06\x12\x04\x8a\x01\r\
  6256. \x11\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\x8a\x01\x12\x15\n\r\n\x05\x04\r\
  6257. \x02\x02\x03\x12\x04\x8a\x01\x18\x1b\n\x0c\n\x02\x04\x0e\x12\x06\x8d\x01\
  6258. \0\x90\x01\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\x8d\x01\x08\x12\n\x0c\n\
  6259. \x04\x04\x0e\x02\0\x12\x04\x8e\x01\x04\x1e\n\r\n\x05\x04\x0e\x02\0\x04\
  6260. \x12\x04\x8e\x01\x04\x0c\n\r\n\x05\x04\x0e\x02\0\x05\x12\x04\x8e\x01\r\
  6261. \x13\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\x8e\x01\x14\x17\n\r\n\x05\x04\
  6262. \x0e\x02\0\x03\x12\x04\x8e\x01\x1a\x1d\n\x0c\n\x04\x04\x0e\x02\x01\x12\
  6263. \x04\x8f\x01\x04\x1d\n\r\n\x05\x04\x0e\x02\x01\x04\x12\x04\x8f\x01\x04\
  6264. \x0c\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\x8f\x01\r\x13\n\r\n\x05\x04\
  6265. \x0e\x02\x01\x01\x12\x04\x8f\x01\x14\x16\n\r\n\x05\x04\x0e\x02\x01\x03\
  6266. \x12\x04\x8f\x01\x19\x1c\n\x0c\n\x02\x04\x0f\x12\x06\x92\x01\0\xa5\x01\
  6267. \x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\x92\x01\x08\x11\n\x0c\n\x04\x04\x0f\
  6268. \x02\0\x12\x04\x93\x01\x04!\n\r\n\x05\x04\x0f\x02\0\x04\x12\x04\x93\x01\
  6269. \x04\x0c\n\r\n\x05\x04\x0f\x02\0\x05\x12\x04\x93\x01\r\x12\n\r\n\x05\x04\
  6270. \x0f\x02\0\x01\x12\x04\x93\x01\x13\x1a\n\r\n\x05\x04\x0f\x02\0\x03\x12\
  6271. \x04\x93\x01\x1d\x20\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\x94\x01\x04!\n\
  6272. \r\n\x05\x04\x0f\x02\x01\x04\x12\x04\x94\x01\x04\x0c\n\r\n\x05\x04\x0f\
  6273. \x02\x01\x06\x12\x04\x94\x01\r\x13\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\
  6274. \x94\x01\x14\x1a\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\x94\x01\x1d\x20\n\
  6275. \x0e\n\x04\x04\x0f\x04\0\x12\x06\x95\x01\x04\xa4\x01\x05\n\r\n\x05\x04\
  6276. \x0f\x04\0\x01\x12\x04\x95\x01\t\x0f\n\x0e\n\x06\x04\x0f\x04\0\x02\0\x12\
  6277. \x04\x96\x01\x08\x1c\n\x0f\n\x07\x04\x0f\x04\0\x02\0\x01\x12\x04\x96\x01\
  6278. \x08\x15\n\x0f\n\x07\x04\x0f\x04\0\x02\0\x02\x12\x04\x96\x01\x18\x1b\n\
  6279. \x0e\n\x06\x04\x0f\x04\0\x02\x01\x12\x04\x97\x01\x08\x1d\n\x0f\n\x07\x04\
  6280. \x0f\x04\0\x02\x01\x01\x12\x04\x97\x01\x08\x16\n\x0f\n\x07\x04\x0f\x04\0\
  6281. \x02\x01\x02\x12\x04\x97\x01\x19\x1c\n\x0e\n\x06\x04\x0f\x04\0\x02\x02\
  6282. \x12\x04\x98\x01\x08\x1d\n\x0f\n\x07\x04\x0f\x04\0\x02\x02\x01\x12\x04\
  6283. \x98\x01\x08\x16\n\x0f\n\x07\x04\x0f\x04\0\x02\x02\x02\x12\x04\x98\x01\
  6284. \x19\x1c\n\x0e\n\x06\x04\x0f\x04\0\x02\x03\x12\x04\x99\x01\x08\x16\n\x0f\
  6285. \n\x07\x04\x0f\x04\0\x02\x03\x01\x12\x04\x99\x01\x08\x0f\n\x0f\n\x07\x04\
  6286. \x0f\x04\0\x02\x03\x02\x12\x04\x99\x01\x12\x15\n\x0e\n\x06\x04\x0f\x04\0\
  6287. \x02\x04\x12\x04\x9a\x01\x08\x16\n\x0f\n\x07\x04\x0f\x04\0\x02\x04\x01\
  6288. \x12\x04\x9a\x01\x08\x0f\n\x0f\n\x07\x04\x0f\x04\0\x02\x04\x02\x12\x04\
  6289. \x9a\x01\x12\x15\n\x0e\n\x06\x04\x0f\x04\0\x02\x05\x12\x04\x9b\x01\x08\
  6290. \x16\n\x0f\n\x07\x04\x0f\x04\0\x02\x05\x01\x12\x04\x9b\x01\x08\x0f\n\x0f\
  6291. \n\x07\x04\x0f\x04\0\x02\x05\x02\x12\x04\x9b\x01\x12\x15\n\x0e\n\x06\x04\
  6292. \x0f\x04\0\x02\x06\x12\x04\x9c\x01\x08\x15\n\x0f\n\x07\x04\x0f\x04\0\x02\
  6293. \x06\x01\x12\x04\x9c\x01\x08\x0e\n\x0f\n\x07\x04\x0f\x04\0\x02\x06\x02\
  6294. \x12\x04\x9c\x01\x11\x14\n\x0e\n\x06\x04\x0f\x04\0\x02\x07\x12\x04\x9d\
  6295. \x01\x08\x1a\n\x0f\n\x07\x04\x0f\x04\0\x02\x07\x01\x12\x04\x9d\x01\x08\
  6296. \x13\n\x0f\n\x07\x04\x0f\x04\0\x02\x07\x02\x12\x04\x9d\x01\x16\x19\n\x0e\
  6297. \n\x06\x04\x0f\x04\0\x02\x08\x12\x04\x9e\x01\x08\x15\n\x0f\n\x07\x04\x0f\
  6298. \x04\0\x02\x08\x01\x12\x04\x9e\x01\x08\x0e\n\x0f\n\x07\x04\x0f\x04\0\x02\
  6299. \x08\x02\x12\x04\x9e\x01\x11\x14\n\x0e\n\x06\x04\x0f\x04\0\x02\t\x12\x04\
  6300. \x9f\x01\x08\x15\n\x0f\n\x07\x04\x0f\x04\0\x02\t\x01\x12\x04\x9f\x01\x08\
  6301. \x0e\n\x0f\n\x07\x04\x0f\x04\0\x02\t\x02\x12\x04\x9f\x01\x11\x14\n\x0e\n\
  6302. \x06\x04\x0f\x04\0\x02\n\x12\x04\xa0\x01\x08\x16\n\x0f\n\x07\x04\x0f\x04\
  6303. \0\x02\n\x01\x12\x04\xa0\x01\x08\x0f\n\x0f\n\x07\x04\x0f\x04\0\x02\n\x02\
  6304. \x12\x04\xa0\x01\x12\x15\n\x0e\n\x06\x04\x0f\x04\0\x02\x0b\x12\x04\xa1\
  6305. \x01\x08\x16\n\x0f\n\x07\x04\x0f\x04\0\x02\x0b\x01\x12\x04\xa1\x01\x08\
  6306. \x0f\n\x0f\n\x07\x04\x0f\x04\0\x02\x0b\x02\x12\x04\xa1\x01\x12\x15\n\x0e\
  6307. \n\x06\x04\x0f\x04\0\x02\x0c\x12\x04\xa2\x01\x08\x15\n\x0f\n\x07\x04\x0f\
  6308. \x04\0\x02\x0c\x01\x12\x04\xa2\x01\x08\x0e\n\x0f\n\x07\x04\x0f\x04\0\x02\
  6309. \x0c\x02\x12\x04\xa2\x01\x11\x14\n\x0e\n\x06\x04\x0f\x04\0\x02\r\x12\x04\
  6310. \xa3\x01\x08\x15\n\x0f\n\x07\x04\x0f\x04\0\x02\r\x01\x12\x04\xa3\x01\x08\
  6311. \x0e\n\x0f\n\x07\x04\x0f\x04\0\x02\r\x02\x12\x04\xa3\x01\x11\x14\
  6312. ";
  6313. static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
  6314. lock: ::protobuf::lazy::ONCE_INIT,
  6315. ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
  6316. };
  6317. fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
  6318. ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
  6319. }
  6320. pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
  6321. unsafe {
  6322. file_descriptor_proto_lazy.get(|| {
  6323. parse_descriptor_proto()
  6324. })
  6325. }
  6326. }