/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: clienttoken.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "clienttoken.pb-c.h"
void   spotify__clienttoken__http__v0__client_token_request__init
                     (Spotify__Clienttoken__Http__V0__ClientTokenRequest         *message)
{
  static const Spotify__Clienttoken__Http__V0__ClientTokenRequest init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__client_token_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientTokenRequest *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_request__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__client_token_request__pack
                     (const Spotify__Clienttoken__Http__V0__ClientTokenRequest *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_request__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__client_token_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientTokenRequest *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_request__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ClientTokenRequest *
       spotify__clienttoken__http__v0__client_token_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ClientTokenRequest *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__client_token_request__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__client_token_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientTokenRequest *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_request__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__client_data_request__init
                     (Spotify__Clienttoken__Http__V0__ClientDataRequest         *message)
{
  static const Spotify__Clienttoken__Http__V0__ClientDataRequest init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_DATA_REQUEST__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__client_data_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientDataRequest *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_data_request__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__client_data_request__pack
                     (const Spotify__Clienttoken__Http__V0__ClientDataRequest *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_data_request__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__client_data_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientDataRequest *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_data_request__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ClientDataRequest *
       spotify__clienttoken__http__v0__client_data_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ClientDataRequest *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__client_data_request__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__client_data_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientDataRequest *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_data_request__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__challenge_answers_request__init
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest         *message)
{
  static const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWERS_REQUEST__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__challenge_answers_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answers_request__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__challenge_answers_request__pack
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answers_request__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__challenge_answers_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answers_request__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *
       spotify__clienttoken__http__v0__challenge_answers_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__challenge_answers_request__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__challenge_answers_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answers_request__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__client_token_response__init
                     (Spotify__Clienttoken__Http__V0__ClientTokenResponse         *message)
{
  static const Spotify__Clienttoken__Http__V0__ClientTokenResponse init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__client_token_response__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientTokenResponse *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_response__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__client_token_response__pack
                     (const Spotify__Clienttoken__Http__V0__ClientTokenResponse *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_response__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__client_token_response__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientTokenResponse *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_response__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ClientTokenResponse *
       spotify__clienttoken__http__v0__client_token_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ClientTokenResponse *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__client_token_response__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__client_token_response__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientTokenResponse *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_response__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__token_domain__init
                     (Spotify__Clienttoken__Http__V0__TokenDomain         *message)
{
  static const Spotify__Clienttoken__Http__V0__TokenDomain init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__TOKEN_DOMAIN__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__token_domain__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__TokenDomain *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__token_domain__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__token_domain__pack
                     (const Spotify__Clienttoken__Http__V0__TokenDomain *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__token_domain__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__token_domain__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__TokenDomain *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__token_domain__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__TokenDomain *
       spotify__clienttoken__http__v0__token_domain__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__TokenDomain *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__token_domain__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__token_domain__free_unpacked
                     (Spotify__Clienttoken__Http__V0__TokenDomain *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__token_domain__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__granted_token_response__init
                     (Spotify__Clienttoken__Http__V0__GrantedTokenResponse         *message)
{
  static const Spotify__Clienttoken__Http__V0__GrantedTokenResponse init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__GRANTED_TOKEN_RESPONSE__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__granted_token_response__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__GrantedTokenResponse *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__granted_token_response__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__granted_token_response__pack
                     (const Spotify__Clienttoken__Http__V0__GrantedTokenResponse *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__granted_token_response__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__granted_token_response__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__GrantedTokenResponse *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__granted_token_response__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__GrantedTokenResponse *
       spotify__clienttoken__http__v0__granted_token_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__GrantedTokenResponse *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__granted_token_response__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__granted_token_response__free_unpacked
                     (Spotify__Clienttoken__Http__V0__GrantedTokenResponse *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__granted_token_response__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__challenges_response__init
                     (Spotify__Clienttoken__Http__V0__ChallengesResponse         *message)
{
  static const Spotify__Clienttoken__Http__V0__ChallengesResponse init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGES_RESPONSE__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__challenges_response__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ChallengesResponse *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenges_response__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__challenges_response__pack
                     (const Spotify__Clienttoken__Http__V0__ChallengesResponse *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenges_response__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__challenges_response__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ChallengesResponse *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenges_response__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ChallengesResponse *
       spotify__clienttoken__http__v0__challenges_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ChallengesResponse *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__challenges_response__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__challenges_response__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ChallengesResponse *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenges_response__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__client_secret_parameters__init
                     (Spotify__Clienttoken__Http__V0__ClientSecretParameters         *message)
{
  static const Spotify__Clienttoken__Http__V0__ClientSecretParameters init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_SECRET_PARAMETERS__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__client_secret_parameters__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientSecretParameters *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_parameters__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__client_secret_parameters__pack
                     (const Spotify__Clienttoken__Http__V0__ClientSecretParameters *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_parameters__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__client_secret_parameters__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientSecretParameters *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_parameters__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ClientSecretParameters *
       spotify__clienttoken__http__v0__client_secret_parameters__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ClientSecretParameters *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__client_secret_parameters__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__client_secret_parameters__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientSecretParameters *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_parameters__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__evaluate_jsparameters__init
                     (Spotify__Clienttoken__Http__V0__EvaluateJSParameters         *message)
{
  static const Spotify__Clienttoken__Http__V0__EvaluateJSParameters init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__EVALUATE_JSPARAMETERS__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__evaluate_jsparameters__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSParameters *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__evaluate_jsparameters__pack
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSParameters *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__evaluate_jsparameters__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSParameters *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__EvaluateJSParameters *
       spotify__clienttoken__http__v0__evaluate_jsparameters__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__EvaluateJSParameters *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__evaluate_jsparameters__free_unpacked
                     (Spotify__Clienttoken__Http__V0__EvaluateJSParameters *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__hash_cash_parameters__init
                     (Spotify__Clienttoken__Http__V0__HashCashParameters         *message)
{
  static const Spotify__Clienttoken__Http__V0__HashCashParameters init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__HASH_CASH_PARAMETERS__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__hash_cash_parameters__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__HashCashParameters *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_parameters__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__hash_cash_parameters__pack
                     (const Spotify__Clienttoken__Http__V0__HashCashParameters *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_parameters__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__hash_cash_parameters__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__HashCashParameters *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_parameters__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__HashCashParameters *
       spotify__clienttoken__http__v0__hash_cash_parameters__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__HashCashParameters *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__hash_cash_parameters__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__hash_cash_parameters__free_unpacked
                     (Spotify__Clienttoken__Http__V0__HashCashParameters *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_parameters__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__challenge__init
                     (Spotify__Clienttoken__Http__V0__Challenge         *message)
{
  static const Spotify__Clienttoken__Http__V0__Challenge init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__challenge__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__Challenge *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__challenge__pack
                     (const Spotify__Clienttoken__Http__V0__Challenge *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__challenge__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__Challenge *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__Challenge *
       spotify__clienttoken__http__v0__challenge__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__Challenge *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__challenge__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__challenge__free_unpacked
                     (Spotify__Clienttoken__Http__V0__Challenge *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__client_secret_hmacanswer__init
                     (Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer         *message)
{
  static const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_SECRET_HMACANSWER__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__client_secret_hmacanswer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__client_secret_hmacanswer__pack
                     (const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__client_secret_hmacanswer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *
       spotify__clienttoken__http__v0__client_secret_hmacanswer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__client_secret_hmacanswer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__evaluate_jsanswer__init
                     (Spotify__Clienttoken__Http__V0__EvaluateJSAnswer         *message)
{
  static const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__EVALUATE_JSANSWER__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__evaluate_jsanswer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__evaluate_jsanswer__pack
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__evaluate_jsanswer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *
       spotify__clienttoken__http__v0__evaluate_jsanswer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__evaluate_jsanswer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__EvaluateJSAnswer *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__hash_cash_answer__init
                     (Spotify__Clienttoken__Http__V0__HashCashAnswer         *message)
{
  static const Spotify__Clienttoken__Http__V0__HashCashAnswer init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__HASH_CASH_ANSWER__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__hash_cash_answer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__HashCashAnswer *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_answer__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__hash_cash_answer__pack
                     (const Spotify__Clienttoken__Http__V0__HashCashAnswer *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_answer__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__hash_cash_answer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__HashCashAnswer *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_answer__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__HashCashAnswer *
       spotify__clienttoken__http__v0__hash_cash_answer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__HashCashAnswer *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__hash_cash_answer__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__hash_cash_answer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__HashCashAnswer *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__hash_cash_answer__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__challenge_answer__init
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswer         *message)
{
  static const Spotify__Clienttoken__Http__V0__ChallengeAnswer init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_ANSWER__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__challenge_answer__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswer *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answer__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__challenge_answer__pack
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswer *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answer__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__challenge_answer__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ChallengeAnswer *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answer__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ChallengeAnswer *
       spotify__clienttoken__http__v0__challenge_answer__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ChallengeAnswer *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__challenge_answer__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__challenge_answer__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ChallengeAnswer *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__challenge_answer__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   spotify__clienttoken__http__v0__client_token_bad_request__init
                     (Spotify__Clienttoken__Http__V0__ClientTokenBadRequest         *message)
{
  static const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest init_value = SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_BAD_REQUEST__INIT;
  *message = init_value;
}
size_t spotify__clienttoken__http__v0__client_token_bad_request__get_packed_size
                     (const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *message)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_bad_request__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t spotify__clienttoken__http__v0__client_token_bad_request__pack
                     (const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_bad_request__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t spotify__clienttoken__http__v0__client_token_bad_request__pack_to_buffer
                     (const Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_bad_request__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *
       spotify__clienttoken__http__v0__client_token_bad_request__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *)
     protobuf_c_message_unpack (&spotify__clienttoken__http__v0__client_token_bad_request__descriptor,
                                allocator, len, data);
}
void   spotify__clienttoken__http__v0__client_token_bad_request__free_unpacked
                     (Spotify__Clienttoken__Http__V0__ClientTokenBadRequest *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &spotify__clienttoken__http__v0__client_token_bad_request__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__client_token_request__field_descriptors[3] =
{
  {
    "request_type",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenRequest, request_type),
    &spotify__clienttoken__http__v0__client_token_request_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "client_data",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenRequest, request_case),
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenRequest, client_data),
    &spotify__clienttoken__http__v0__client_data_request__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "challenge_answers",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenRequest, request_case),
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenRequest, challenge_answers),
    &spotify__clienttoken__http__v0__challenge_answers_request__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__client_token_request__field_indices_by_name[] = {
  2,   /* field[2] = challenge_answers */
  1,   /* field[1] = client_data */
  0,   /* field[0] = request_type */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_token_request__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_token_request__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientTokenRequest",
  "ClientTokenRequest",
  "Spotify__Clienttoken__Http__V0__ClientTokenRequest",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ClientTokenRequest),
  3,
  spotify__clienttoken__http__v0__client_token_request__field_descriptors,
  spotify__clienttoken__http__v0__client_token_request__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__client_token_request__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__client_token_request__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__client_data_request__field_descriptors[3] =
{
  {
    "client_version",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ClientDataRequest, client_version),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "client_id",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ClientDataRequest, client_id),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "connectivity_sdk_data",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ClientDataRequest, data_case),
    offsetof(Spotify__Clienttoken__Http__V0__ClientDataRequest, connectivity_sdk_data),
    &spotify__clienttoken__data__v0__connectivity_sdk_data__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__client_data_request__field_indices_by_name[] = {
  1,   /* field[1] = client_id */
  0,   /* field[0] = client_version */
  2,   /* field[2] = connectivity_sdk_data */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_data_request__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_data_request__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientDataRequest",
  "ClientDataRequest",
  "Spotify__Clienttoken__Http__V0__ClientDataRequest",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ClientDataRequest),
  3,
  spotify__clienttoken__http__v0__client_data_request__field_descriptors,
  spotify__clienttoken__http__v0__client_data_request__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__client_data_request__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__client_data_request__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__challenge_answers_request__field_descriptors[2] =
{
  {
    "state",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest, state),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "answers",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest, n_answers),
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest, answers),
    &spotify__clienttoken__http__v0__challenge_answer__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__challenge_answers_request__field_indices_by_name[] = {
  1,   /* field[1] = answers */
  0,   /* field[0] = state */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__challenge_answers_request__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenge_answers_request__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ChallengeAnswersRequest",
  "ChallengeAnswersRequest",
  "Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ChallengeAnswersRequest),
  2,
  spotify__clienttoken__http__v0__challenge_answers_request__field_descriptors,
  spotify__clienttoken__http__v0__challenge_answers_request__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__challenge_answers_request__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__challenge_answers_request__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__client_token_response__field_descriptors[3] =
{
  {
    "response_type",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenResponse, response_type),
    &spotify__clienttoken__http__v0__client_token_response_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "granted_token",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenResponse, response_case),
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenResponse, granted_token),
    &spotify__clienttoken__http__v0__granted_token_response__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "challenges",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenResponse, response_case),
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenResponse, challenges),
    &spotify__clienttoken__http__v0__challenges_response__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__client_token_response__field_indices_by_name[] = {
  2,   /* field[2] = challenges */
  1,   /* field[1] = granted_token */
  0,   /* field[0] = response_type */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_token_response__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_token_response__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientTokenResponse",
  "ClientTokenResponse",
  "Spotify__Clienttoken__Http__V0__ClientTokenResponse",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ClientTokenResponse),
  3,
  spotify__clienttoken__http__v0__client_token_response__field_descriptors,
  spotify__clienttoken__http__v0__client_token_response__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__client_token_response__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__client_token_response__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__token_domain__field_descriptors[1] =
{
  {
    "domain",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__TokenDomain, domain),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__token_domain__field_indices_by_name[] = {
  0,   /* field[0] = domain */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__token_domain__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__token_domain__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.TokenDomain",
  "TokenDomain",
  "Spotify__Clienttoken__Http__V0__TokenDomain",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__TokenDomain),
  1,
  spotify__clienttoken__http__v0__token_domain__field_descriptors,
  spotify__clienttoken__http__v0__token_domain__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__token_domain__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__token_domain__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__granted_token_response__field_descriptors[4] =
{
  {
    "token",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__GrantedTokenResponse, token),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "expires_after_seconds",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__GrantedTokenResponse, expires_after_seconds),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "refresh_after_seconds",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__GrantedTokenResponse, refresh_after_seconds),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "domains",
    4,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__GrantedTokenResponse, n_domains),
    offsetof(Spotify__Clienttoken__Http__V0__GrantedTokenResponse, domains),
    &spotify__clienttoken__http__v0__token_domain__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__granted_token_response__field_indices_by_name[] = {
  3,   /* field[3] = domains */
  1,   /* field[1] = expires_after_seconds */
  2,   /* field[2] = refresh_after_seconds */
  0,   /* field[0] = token */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__granted_token_response__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__granted_token_response__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.GrantedTokenResponse",
  "GrantedTokenResponse",
  "Spotify__Clienttoken__Http__V0__GrantedTokenResponse",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__GrantedTokenResponse),
  4,
  spotify__clienttoken__http__v0__granted_token_response__field_descriptors,
  spotify__clienttoken__http__v0__granted_token_response__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__granted_token_response__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__granted_token_response__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__challenges_response__field_descriptors[2] =
{
  {
    "state",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ChallengesResponse, state),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "challenges",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ChallengesResponse, n_challenges),
    offsetof(Spotify__Clienttoken__Http__V0__ChallengesResponse, challenges),
    &spotify__clienttoken__http__v0__challenge__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__challenges_response__field_indices_by_name[] = {
  1,   /* field[1] = challenges */
  0,   /* field[0] = state */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__challenges_response__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenges_response__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ChallengesResponse",
  "ChallengesResponse",
  "Spotify__Clienttoken__Http__V0__ChallengesResponse",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ChallengesResponse),
  2,
  spotify__clienttoken__http__v0__challenges_response__field_descriptors,
  spotify__clienttoken__http__v0__challenges_response__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__challenges_response__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__challenges_response__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__client_secret_parameters__field_descriptors[1] =
{
  {
    "salt",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ClientSecretParameters, salt),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__client_secret_parameters__field_indices_by_name[] = {
  0,   /* field[0] = salt */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_secret_parameters__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_secret_parameters__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientSecretParameters",
  "ClientSecretParameters",
  "Spotify__Clienttoken__Http__V0__ClientSecretParameters",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ClientSecretParameters),
  1,
  spotify__clienttoken__http__v0__client_secret_parameters__field_descriptors,
  spotify__clienttoken__http__v0__client_secret_parameters__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__client_secret_parameters__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__client_secret_parameters__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__evaluate_jsparameters__field_descriptors[2] =
{
  {
    "code",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__EvaluateJSParameters, code),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "libraries",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(Spotify__Clienttoken__Http__V0__EvaluateJSParameters, n_libraries),
    offsetof(Spotify__Clienttoken__Http__V0__EvaluateJSParameters, libraries),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__evaluate_jsparameters__field_indices_by_name[] = {
  0,   /* field[0] = code */
  1,   /* field[1] = libraries */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__evaluate_jsparameters__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.EvaluateJSParameters",
  "EvaluateJSParameters",
  "Spotify__Clienttoken__Http__V0__EvaluateJSParameters",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__EvaluateJSParameters),
  2,
  spotify__clienttoken__http__v0__evaluate_jsparameters__field_descriptors,
  spotify__clienttoken__http__v0__evaluate_jsparameters__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__evaluate_jsparameters__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__evaluate_jsparameters__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__hash_cash_parameters__field_descriptors[2] =
{
  {
    "length",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__HashCashParameters, length),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "prefix",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__HashCashParameters, prefix),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__hash_cash_parameters__field_indices_by_name[] = {
  0,   /* field[0] = length */
  1,   /* field[1] = prefix */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__hash_cash_parameters__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__hash_cash_parameters__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.HashCashParameters",
  "HashCashParameters",
  "Spotify__Clienttoken__Http__V0__HashCashParameters",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__HashCashParameters),
  2,
  spotify__clienttoken__http__v0__hash_cash_parameters__field_descriptors,
  spotify__clienttoken__http__v0__hash_cash_parameters__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__hash_cash_parameters__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__hash_cash_parameters__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__challenge__field_descriptors[4] =
{
  {
    "type",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__Challenge, type),
    &spotify__clienttoken__http__v0__challenge_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "client_secret_parameters",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__Challenge, parameters_case),
    offsetof(Spotify__Clienttoken__Http__V0__Challenge, client_secret_parameters),
    &spotify__clienttoken__http__v0__client_secret_parameters__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "evaluate_js_parameters",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__Challenge, parameters_case),
    offsetof(Spotify__Clienttoken__Http__V0__Challenge, evaluate_js_parameters),
    &spotify__clienttoken__http__v0__evaluate_jsparameters__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "evaluate_hashcash_parameters",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__Challenge, parameters_case),
    offsetof(Spotify__Clienttoken__Http__V0__Challenge, evaluate_hashcash_parameters),
    &spotify__clienttoken__http__v0__hash_cash_parameters__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__challenge__field_indices_by_name[] = {
  1,   /* field[1] = client_secret_parameters */
  3,   /* field[3] = evaluate_hashcash_parameters */
  2,   /* field[2] = evaluate_js_parameters */
  0,   /* field[0] = type */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__challenge__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenge__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.Challenge",
  "Challenge",
  "Spotify__Clienttoken__Http__V0__Challenge",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__Challenge),
  4,
  spotify__clienttoken__http__v0__challenge__field_descriptors,
  spotify__clienttoken__http__v0__challenge__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__challenge__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__challenge__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__client_secret_hmacanswer__field_descriptors[1] =
{
  {
    "hmac",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer, hmac),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__client_secret_hmacanswer__field_indices_by_name[] = {
  0,   /* field[0] = hmac */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_secret_hmacanswer__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientSecretHMACAnswer",
  "ClientSecretHMACAnswer",
  "Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ClientSecretHMACAnswer),
  1,
  spotify__clienttoken__http__v0__client_secret_hmacanswer__field_descriptors,
  spotify__clienttoken__http__v0__client_secret_hmacanswer__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__client_secret_hmacanswer__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__client_secret_hmacanswer__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__evaluate_jsanswer__field_descriptors[1] =
{
  {
    "result",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__EvaluateJSAnswer, result),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__evaluate_jsanswer__field_indices_by_name[] = {
  0,   /* field[0] = result */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__evaluate_jsanswer__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.EvaluateJSAnswer",
  "EvaluateJSAnswer",
  "Spotify__Clienttoken__Http__V0__EvaluateJSAnswer",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__EvaluateJSAnswer),
  1,
  spotify__clienttoken__http__v0__evaluate_jsanswer__field_descriptors,
  spotify__clienttoken__http__v0__evaluate_jsanswer__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__evaluate_jsanswer__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__evaluate_jsanswer__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__hash_cash_answer__field_descriptors[1] =
{
  {
    "suffix",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__HashCashAnswer, suffix),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__hash_cash_answer__field_indices_by_name[] = {
  0,   /* field[0] = suffix */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__hash_cash_answer__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__hash_cash_answer__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.HashCashAnswer",
  "HashCashAnswer",
  "Spotify__Clienttoken__Http__V0__HashCashAnswer",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__HashCashAnswer),
  1,
  spotify__clienttoken__http__v0__hash_cash_answer__field_descriptors,
  spotify__clienttoken__http__v0__hash_cash_answer__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__hash_cash_answer__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__hash_cash_answer__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__challenge_answer__field_descriptors[4] =
{
  {
    "ChallengeType",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswer, challengetype),
    &spotify__clienttoken__http__v0__challenge_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "client_secret",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswer, answer_case),
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswer, client_secret),
    &spotify__clienttoken__http__v0__client_secret_hmacanswer__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "evaluate_js",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswer, answer_case),
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswer, evaluate_js),
    &spotify__clienttoken__http__v0__evaluate_jsanswer__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "hash_cash",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswer, answer_case),
    offsetof(Spotify__Clienttoken__Http__V0__ChallengeAnswer, hash_cash),
    &spotify__clienttoken__http__v0__hash_cash_answer__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__challenge_answer__field_indices_by_name[] = {
  0,   /* field[0] = ChallengeType */
  1,   /* field[1] = client_secret */
  2,   /* field[2] = evaluate_js */
  3,   /* field[3] = hash_cash */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__challenge_answer__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__challenge_answer__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ChallengeAnswer",
  "ChallengeAnswer",
  "Spotify__Clienttoken__Http__V0__ChallengeAnswer",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ChallengeAnswer),
  4,
  spotify__clienttoken__http__v0__challenge_answer__field_descriptors,
  spotify__clienttoken__http__v0__challenge_answer__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__challenge_answer__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__challenge_answer__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor spotify__clienttoken__http__v0__client_token_bad_request__field_descriptors[1] =
{
  {
    "message",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Spotify__Clienttoken__Http__V0__ClientTokenBadRequest, message),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned spotify__clienttoken__http__v0__client_token_bad_request__field_indices_by_name[] = {
  0,   /* field[0] = message */
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_token_bad_request__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor spotify__clienttoken__http__v0__client_token_bad_request__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientTokenBadRequest",
  "ClientTokenBadRequest",
  "Spotify__Clienttoken__Http__V0__ClientTokenBadRequest",
  "spotify.clienttoken.http.v0",
  sizeof(Spotify__Clienttoken__Http__V0__ClientTokenBadRequest),
  1,
  spotify__clienttoken__http__v0__client_token_bad_request__field_descriptors,
  spotify__clienttoken__http__v0__client_token_bad_request__field_indices_by_name,
  1,  spotify__clienttoken__http__v0__client_token_bad_request__number_ranges,
  (ProtobufCMessageInit) spotify__clienttoken__http__v0__client_token_bad_request__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCEnumValue spotify__clienttoken__http__v0__client_token_request_type__enum_values_by_number[3] =
{
  { "REQUEST_UNKNOWN", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE__REQUEST_UNKNOWN", 0 },
  { "REQUEST_CLIENT_DATA_REQUEST", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE__REQUEST_CLIENT_DATA_REQUEST", 1 },
  { "REQUEST_CHALLENGE_ANSWERS_REQUEST", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_REQUEST_TYPE__REQUEST_CHALLENGE_ANSWERS_REQUEST", 2 },
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_token_request_type__value_ranges[] = {
{0, 0},{0, 3}
};
static const ProtobufCEnumValueIndex spotify__clienttoken__http__v0__client_token_request_type__enum_values_by_name[3] =
{
  { "REQUEST_CHALLENGE_ANSWERS_REQUEST", 2 },
  { "REQUEST_CLIENT_DATA_REQUEST", 1 },
  { "REQUEST_UNKNOWN", 0 },
};
const ProtobufCEnumDescriptor spotify__clienttoken__http__v0__client_token_request_type__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientTokenRequestType",
  "ClientTokenRequestType",
  "Spotify__Clienttoken__Http__V0__ClientTokenRequestType",
  "spotify.clienttoken.http.v0",
  3,
  spotify__clienttoken__http__v0__client_token_request_type__enum_values_by_number,
  3,
  spotify__clienttoken__http__v0__client_token_request_type__enum_values_by_name,
  1,
  spotify__clienttoken__http__v0__client_token_request_type__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue spotify__clienttoken__http__v0__client_token_response_type__enum_values_by_number[3] =
{
  { "RESPONSE_UNKNOWN", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE__RESPONSE_UNKNOWN", 0 },
  { "RESPONSE_GRANTED_TOKEN_RESPONSE", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE__RESPONSE_GRANTED_TOKEN_RESPONSE", 1 },
  { "RESPONSE_CHALLENGES_RESPONSE", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CLIENT_TOKEN_RESPONSE_TYPE__RESPONSE_CHALLENGES_RESPONSE", 2 },
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__client_token_response_type__value_ranges[] = {
{0, 0},{0, 3}
};
static const ProtobufCEnumValueIndex spotify__clienttoken__http__v0__client_token_response_type__enum_values_by_name[3] =
{
  { "RESPONSE_CHALLENGES_RESPONSE", 2 },
  { "RESPONSE_GRANTED_TOKEN_RESPONSE", 1 },
  { "RESPONSE_UNKNOWN", 0 },
};
const ProtobufCEnumDescriptor spotify__clienttoken__http__v0__client_token_response_type__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ClientTokenResponseType",
  "ClientTokenResponseType",
  "Spotify__Clienttoken__Http__V0__ClientTokenResponseType",
  "spotify.clienttoken.http.v0",
  3,
  spotify__clienttoken__http__v0__client_token_response_type__enum_values_by_number,
  3,
  spotify__clienttoken__http__v0__client_token_response_type__enum_values_by_name,
  1,
  spotify__clienttoken__http__v0__client_token_response_type__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue spotify__clienttoken__http__v0__challenge_type__enum_values_by_number[4] =
{
  { "CHALLENGE_UNKNOWN", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_UNKNOWN", 0 },
  { "CHALLENGE_CLIENT_SECRET_HMAC", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_CLIENT_SECRET_HMAC", 1 },
  { "CHALLENGE_EVALUATE_JS", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_EVALUATE_JS", 2 },
  { "CHALLENGE_HASH_CASH", "SPOTIFY__CLIENTTOKEN__HTTP__V0__CHALLENGE_TYPE__CHALLENGE_HASH_CASH", 3 },
};
static const ProtobufCIntRange spotify__clienttoken__http__v0__challenge_type__value_ranges[] = {
{0, 0},{0, 4}
};
static const ProtobufCEnumValueIndex spotify__clienttoken__http__v0__challenge_type__enum_values_by_name[4] =
{
  { "CHALLENGE_CLIENT_SECRET_HMAC", 1 },
  { "CHALLENGE_EVALUATE_JS", 2 },
  { "CHALLENGE_HASH_CASH", 3 },
  { "CHALLENGE_UNKNOWN", 0 },
};
const ProtobufCEnumDescriptor spotify__clienttoken__http__v0__challenge_type__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "spotify.clienttoken.http.v0.ChallengeType",
  "ChallengeType",
  "Spotify__Clienttoken__Http__V0__ChallengeType",
  "spotify.clienttoken.http.v0",
  4,
  spotify__clienttoken__http__v0__challenge_type__enum_values_by_number,
  4,
  spotify__clienttoken__http__v0__challenge_type__enum_values_by_name,
  1,
  spotify__clienttoken__http__v0__challenge_type__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
