# Generated by the pRPC protocol buffer compiler plugin.  DO NOT EDIT!
# source: api/api_proto/users.proto

import base64
import zlib

from google.protobuf import descriptor_pb2

# Includes description of the api/api_proto/users.proto and all of its transitive
# dependencies. Includes source code info.
FILE_DESCRIPTOR_SET = descriptor_pb2.FileDescriptorSet()
FILE_DESCRIPTOR_SET.ParseFromString(zlib.decompress(base64.b64decode(
    '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'
    'F80kCIT1GeDvtw/wc6pIc/')))
_INDEX = {
    f.name: {
      'descriptor': f,
      'services': {s.name: s for s in f.service},
    }
    for f in FILE_DESCRIPTOR_SET.file
}


UsersServiceDescription = {
  'file_descriptor_set': FILE_DESCRIPTOR_SET,
  'file_descriptor': _INDEX[u'api/api_proto/users.proto']['descriptor'],
  'service_descriptor': _INDEX[u'api/api_proto/users.proto']['services'][u'Users'],
}
