# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: pfs.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='pfs.proto',
  package='pfs',
  syntax='proto3',
  serialized_pb=_b('\n\tpfs.proto\x12\x03pfs\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x14\n\x04Repo\x12\x0c\n\x04name\x18\x01 \x01(\t\"-\n\x06\x43ommit\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\x12\n\n\x02id\x18\x02 \x01(\t\"&\n\x07\x43ommits\x12\x1b\n\x06\x63ommit\x18\x01 \x03(\x0b\x32\x0b.pfs.Commit\"1\n\x06\x42ranch\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x04head\x18\x02 \x01(\x0b\x32\x0b.pfs.Commit\")\n\x08\x42ranches\x12\x1d\n\x08\x62ranches\x18\x01 \x03(\x0b\x32\x0b.pfs.Branch\"1\n\x04\x46ile\x12\x1b\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x15\n\x05\x42lock\x12\x0c\n\x04hash\x18\x01 \x01(\t\"\x16\n\x06Object\x12\x0c\n\x04hash\x18\x01 \x01(\t\"\x13\n\x03Tag\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x83\x01\n\x08RepoInfo\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\x12+\n\x07\x63reated\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x1d\n\nprovenance\x18\x04 \x03(\x0b\x32\t.pfs.Repo\"-\n\tRepoInfos\x12 \n\trepo_info\x18\x01 \x03(\x0b\x32\r.pfs.RepoInfo\"\xf8\x01\n\nCommitInfo\x12\x1b\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\x12\"\n\rparent_commit\x18\x02 \x01(\x0b\x32\x0b.pfs.Commit\x12+\n\x07started\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x66inished\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nsize_bytes\x18\x05 \x01(\x04\x12\x1f\n\nprovenance\x18\x06 \x03(\x0b\x32\x0b.pfs.Commit\x12\x19\n\x04tree\x18\x07 \x01(\x0b\x32\x0b.pfs.Object\"3\n\x0b\x43ommitInfos\x12$\n\x0b\x63ommit_info\x18\x01 \x03(\x0b\x32\x0f.pfs.CommitInfo\"y\n\x08\x46ileInfo\x12\x17\n\x04\x66ile\x18\x01 \x01(\x0b\x32\t.pfs.File\x12 \n\tfile_type\x18\x02 \x01(\x0e\x32\r.pfs.FileType\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x10\n\x08\x63hildren\x18\x06 \x03(\t\x12\x0c\n\x04hash\x18\x07 \x01(\x0c\"-\n\tFileInfos\x12 \n\tfile_info\x18\x01 \x03(\x0b\x32\r.pfs.FileInfo\")\n\tByteRange\x12\r\n\x05lower\x18\x01 \x01(\x04\x12\r\n\x05upper\x18\x02 \x01(\x04\"D\n\x08\x42lockRef\x12\x19\n\x05\x62lock\x18\x01 \x01(\x0b\x32\n.pfs.Block\x12\x1d\n\x05range\x18\x02 \x01(\x0b\x32\x0e.pfs.ByteRange\"K\n\nObjectInfo\x12\x1b\n\x06object\x18\x01 \x01(\x0b\x32\x0b.pfs.Object\x12 \n\tblock_ref\x18\x02 \x01(\x0b\x32\r.pfs.BlockRef\"K\n\x11\x43reateRepoRequest\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\x12\x1d\n\nprovenance\x18\x02 \x03(\x0b\x32\t.pfs.Repo\"-\n\x12InspectRepoRequest\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\"0\n\x0fListRepoRequest\x12\x1d\n\nprovenance\x18\x01 \x03(\x0b\x32\t.pfs.Repo\";\n\x11\x44\x65leteRepoRequest\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\"b\n\x12StartCommitRequest\x12\x1b\n\x06parent\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\x12\x0e\n\x06\x62ranch\x18\x03 \x01(\t\x12\x1f\n\nprovenance\x18\x02 \x03(\x0b\x32\x0b.pfs.Commit\"}\n\x12\x42uildCommitRequest\x12\x1b\n\x06parent\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\x12\x0e\n\x06\x62ranch\x18\x04 \x01(\t\x12\x1f\n\nprovenance\x18\x02 \x03(\x0b\x32\x0b.pfs.Commit\x12\x19\n\x04tree\x18\x03 \x01(\x0b\x32\x0b.pfs.Object\"2\n\x13\x46inishCommitRequest\x12\x1b\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\"3\n\x14InspectCommitRequest\x12\x1b\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\"p\n\x11ListCommitRequest\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\x12\x19\n\x04\x66rom\x18\x02 \x01(\x0b\x32\x0b.pfs.Commit\x12\x17\n\x02to\x18\x03 \x01(\x0b\x32\x0b.pfs.Commit\x12\x0e\n\x06number\x18\x04 \x01(\x04\",\n\x11ListBranchRequest\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\"?\n\x10SetBranchRequest\x12\x1b\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\">\n\x13\x44\x65leteBranchRequest\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\"2\n\x13\x44\x65leteCommitRequest\x12\x1b\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\"O\n\x12\x46lushCommitRequest\x12\x1c\n\x07\x63ommits\x18\x01 \x03(\x0b\x32\x0b.pfs.Commit\x12\x1b\n\x08to_repos\x18\x02 \x03(\x0b\x32\t.pfs.Repo\"\\\n\x16SubscribeCommitRequest\x12\x17\n\x04repo\x18\x01 \x01(\x0b\x32\t.pfs.Repo\x12\x0e\n\x06\x62ranch\x18\x02 \x01(\t\x12\x19\n\x04\x66rom\x18\x03 \x01(\x0b\x32\x0b.pfs.Commit\"S\n\x0eGetFileRequest\x12\x17\n\x04\x66ile\x18\x01 \x01(\x0b\x32\t.pfs.File\x12\x14\n\x0coffset_bytes\x18\x02 \x01(\x03\x12\x12\n\nsize_bytes\x18\x03 \x01(\x03\"\xb8\x01\n\x0ePutFileRequest\x12\x17\n\x04\x66ile\x18\x01 \x01(\x0b\x32\t.pfs.File\x12\r\n\x05value\x18\x03 \x01(\x0c\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x11\n\trecursive\x18\x06 \x01(\x08\x12!\n\tdelimiter\x18\x07 \x01(\x0e\x32\x0e.pfs.Delimiter\x12\x1a\n\x12target_file_datums\x18\x08 \x01(\x03\x12\x19\n\x11target_file_bytes\x18\t \x01(\x03J\x04\x08\x02\x10\x03\"-\n\x12InspectFileRequest\x12\x17\n\x04\x66ile\x18\x01 \x01(\x0b\x32\t.pfs.File\"*\n\x0fListFileRequest\x12\x17\n\x04\x66ile\x18\x01 \x01(\x0b\x32\t.pfs.File\"?\n\x0fGlobFileRequest\x12\x1b\n\x06\x63ommit\x18\x01 \x01(\x0b\x32\x0b.pfs.Commit\x12\x0f\n\x07pattern\x18\x02 \x01(\t\",\n\x11\x44\x65leteFileRequest\x12\x17\n\x04\x66ile\x18\x01 \x01(\x0b\x32\t.pfs.File\"9\n\x10PutObjectRequest\x12\r\n\x05value\x18\x01 \x01(\x0c\x12\x16\n\x04tags\x18\x02 \x03(\x0b\x32\x08.pfs.Tag\"[\n\x11GetObjectsRequest\x12\x1c\n\x07objects\x18\x01 \x03(\x0b\x32\x0b.pfs.Object\x12\x14\n\x0coffset_bytes\x18\x02 \x01(\x04\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\"G\n\x10TagObjectRequest\x12\x1b\n\x06object\x18\x01 \x01(\x0b\x32\x0b.pfs.Object\x12\x16\n\x04tags\x18\x02 \x03(\x0b\x32\x08.pfs.Tag\"\xe0\x01\n\x0bObjectIndex\x12.\n\x07objects\x18\x01 \x03(\x0b\x32\x1d.pfs.ObjectIndex.ObjectsEntry\x12(\n\x04tags\x18\x02 \x03(\x0b\x32\x1a.pfs.ObjectIndex.TagsEntry\x1a=\n\x0cObjectsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.pfs.BlockRef:\x02\x38\x01\x1a\x38\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1a\n\x05value\x18\x02 \x01(\x0b\x32\x0b.pfs.Object:\x02\x38\x01*+\n\x08\x46ileType\x12\x0c\n\x08RESERVED\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\x07\n\x03\x44IR\x10\x02*)\n\tDelimiter\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04JSON\x10\x01\x12\x08\n\x04LINE\x10\x02*L\n\x0cListFileMode\x12\x13\n\x0fListFile_NORMAL\x10\x00\x12\x11\n\rListFile_FAST\x10\x01\x12\x14\n\x10ListFile_RECURSE\x10\x02\x32\xb9\n\n\x03\x41PI\x12>\n\nCreateRepo\x12\x16.pfs.CreateRepoRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x37\n\x0bInspectRepo\x12\x17.pfs.InspectRepoRequest\x1a\r.pfs.RepoInfo\"\x00\x12\x32\n\x08ListRepo\x12\x14.pfs.ListRepoRequest\x1a\x0e.pfs.RepoInfos\"\x00\x12>\n\nDeleteRepo\x12\x16.pfs.DeleteRepoRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x35\n\x0bStartCommit\x12\x17.pfs.StartCommitRequest\x1a\x0b.pfs.Commit\"\x00\x12\x42\n\x0c\x46inishCommit\x12\x18.pfs.FinishCommitRequest\x1a\x16.google.protobuf.Empty\"\x00\x12=\n\rInspectCommit\x12\x19.pfs.InspectCommitRequest\x1a\x0f.pfs.CommitInfo\"\x00\x12\x38\n\nListCommit\x12\x16.pfs.ListCommitRequest\x1a\x10.pfs.CommitInfos\"\x00\x12\x42\n\x0c\x44\x65leteCommit\x12\x18.pfs.DeleteCommitRequest\x1a\x16.google.protobuf.Empty\"\x00\x12;\n\x0b\x46lushCommit\x12\x17.pfs.FlushCommitRequest\x1a\x0f.pfs.CommitInfo\"\x00\x30\x01\x12\x43\n\x0fSubscribeCommit\x12\x1b.pfs.SubscribeCommitRequest\x1a\x0f.pfs.CommitInfo\"\x00\x30\x01\x12\x35\n\x0b\x42uildCommit\x12\x17.pfs.BuildCommitRequest\x1a\x0b.pfs.Commit\"\x00\x12\x35\n\nListBranch\x12\x16.pfs.ListBranchRequest\x1a\r.pfs.Branches\"\x00\x12<\n\tSetBranch\x12\x15.pfs.SetBranchRequest\x1a\x16.google.protobuf.Empty\"\x00\x12\x42\n\x0c\x44\x65leteBranch\x12\x18.pfs.DeleteBranchRequest\x1a\x16.google.protobuf.Empty\"\x00\x12:\n\x07PutFile\x12\x13.pfs.PutFileRequest\x1a\x16.google.protobuf.Empty\"\x00(\x01\x12?\n\x07GetFile\x12\x13.pfs.GetFileRequest\x1a\x1b.google.protobuf.BytesValue\"\x00\x30\x01\x12\x37\n\x0bInspectFile\x12\x17.pfs.InspectFileRequest\x1a\r.pfs.FileInfo\"\x00\x12\x32\n\x08ListFile\x12\x14.pfs.ListFileRequest\x1a\x0e.pfs.FileInfos\"\x00\x12\x32\n\x08GlobFile\x12\x14.pfs.GlobFileRequest\x1a\x0e.pfs.FileInfos\"\x00\x12>\n\nDeleteFile\x12\x16.pfs.DeleteFileRequest\x1a\x16.google.protobuf.Empty\"\x00\x12=\n\tDeleteAll\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x32\xce\x03\n\tObjectAPI\x12\x33\n\tPutObject\x12\x15.pfs.PutObjectRequest\x1a\x0b.pfs.Object\"\x00(\x01\x12\x39\n\tGetObject\x12\x0b.pfs.Object\x1a\x1b.google.protobuf.BytesValue\"\x00\x30\x01\x12\x45\n\nGetObjects\x12\x16.pfs.GetObjectsRequest\x1a\x1b.google.protobuf.BytesValue\"\x00\x30\x01\x12<\n\tTagObject\x12\x15.pfs.TagObjectRequest\x1a\x16.google.protobuf.Empty\"\x00\x12/\n\rInspectObject\x12\x0b.pfs.Object\x1a\x0f.pfs.ObjectInfo\"\x00\x12\x33\n\x06GetTag\x12\x08.pfs.Tag\x1a\x1b.google.protobuf.BytesValue\"\x00\x30\x01\x12)\n\nInspectTag\x12\x08.pfs.Tag\x1a\x0f.pfs.ObjectInfo\"\x00\x12;\n\x07\x43ompact\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x62\x06proto3')
  ,
  dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

_FILETYPE = _descriptor.EnumDescriptor(
  name='FileType',
  full_name='pfs.FileType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='RESERVED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FILE', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DIR', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3288,
  serialized_end=3331,
)
_sym_db.RegisterEnumDescriptor(_FILETYPE)

FileType = enum_type_wrapper.EnumTypeWrapper(_FILETYPE)
_DELIMITER = _descriptor.EnumDescriptor(
  name='Delimiter',
  full_name='pfs.Delimiter',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='JSON', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LINE', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3333,
  serialized_end=3374,
)
_sym_db.RegisterEnumDescriptor(_DELIMITER)

Delimiter = enum_type_wrapper.EnumTypeWrapper(_DELIMITER)
_LISTFILEMODE = _descriptor.EnumDescriptor(
  name='ListFileMode',
  full_name='pfs.ListFileMode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ListFile_NORMAL', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ListFile_FAST', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ListFile_RECURSE', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3376,
  serialized_end=3452,
)
_sym_db.RegisterEnumDescriptor(_LISTFILEMODE)

ListFileMode = enum_type_wrapper.EnumTypeWrapper(_LISTFILEMODE)
RESERVED = 0
FILE = 1
DIR = 2
NONE = 0
JSON = 1
LINE = 2
ListFile_NORMAL = 0
ListFile_FAST = 1
ListFile_RECURSE = 2



_REPO = _descriptor.Descriptor(
  name='Repo',
  full_name='pfs.Repo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='pfs.Repo.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=112,
  serialized_end=132,
)


_COMMIT = _descriptor.Descriptor(
  name='Commit',
  full_name='pfs.Commit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.Commit.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='id', full_name='pfs.Commit.id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=134,
  serialized_end=179,
)


_COMMITS = _descriptor.Descriptor(
  name='Commits',
  full_name='pfs.Commits',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.Commits.commit', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=181,
  serialized_end=219,
)


_BRANCH = _descriptor.Descriptor(
  name='Branch',
  full_name='pfs.Branch',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='pfs.Branch.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='head', full_name='pfs.Branch.head', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=221,
  serialized_end=270,
)


_BRANCHES = _descriptor.Descriptor(
  name='Branches',
  full_name='pfs.Branches',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='branches', full_name='pfs.Branches.branches', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=272,
  serialized_end=313,
)


_FILE = _descriptor.Descriptor(
  name='File',
  full_name='pfs.File',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.File.commit', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='path', full_name='pfs.File.path', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=315,
  serialized_end=364,
)


_BLOCK = _descriptor.Descriptor(
  name='Block',
  full_name='pfs.Block',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash', full_name='pfs.Block.hash', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=366,
  serialized_end=387,
)


_OBJECT = _descriptor.Descriptor(
  name='Object',
  full_name='pfs.Object',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash', full_name='pfs.Object.hash', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=389,
  serialized_end=411,
)


_TAG = _descriptor.Descriptor(
  name='Tag',
  full_name='pfs.Tag',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='pfs.Tag.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=413,
  serialized_end=432,
)


_REPOINFO = _descriptor.Descriptor(
  name='RepoInfo',
  full_name='pfs.RepoInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.RepoInfo.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='created', full_name='pfs.RepoInfo.created', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='size_bytes', full_name='pfs.RepoInfo.size_bytes', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='provenance', full_name='pfs.RepoInfo.provenance', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=435,
  serialized_end=566,
)


_REPOINFOS = _descriptor.Descriptor(
  name='RepoInfos',
  full_name='pfs.RepoInfos',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo_info', full_name='pfs.RepoInfos.repo_info', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=568,
  serialized_end=613,
)


_COMMITINFO = _descriptor.Descriptor(
  name='CommitInfo',
  full_name='pfs.CommitInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.CommitInfo.commit', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='parent_commit', full_name='pfs.CommitInfo.parent_commit', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='started', full_name='pfs.CommitInfo.started', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='finished', full_name='pfs.CommitInfo.finished', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='size_bytes', full_name='pfs.CommitInfo.size_bytes', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='provenance', full_name='pfs.CommitInfo.provenance', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='tree', full_name='pfs.CommitInfo.tree', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=616,
  serialized_end=864,
)


_COMMITINFOS = _descriptor.Descriptor(
  name='CommitInfos',
  full_name='pfs.CommitInfos',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit_info', full_name='pfs.CommitInfos.commit_info', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=866,
  serialized_end=917,
)


_FILEINFO = _descriptor.Descriptor(
  name='FileInfo',
  full_name='pfs.FileInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file', full_name='pfs.FileInfo.file', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='file_type', full_name='pfs.FileInfo.file_type', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='size_bytes', full_name='pfs.FileInfo.size_bytes', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='children', full_name='pfs.FileInfo.children', index=3,
      number=6, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hash', full_name='pfs.FileInfo.hash', index=4,
      number=7, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=919,
  serialized_end=1040,
)


_FILEINFOS = _descriptor.Descriptor(
  name='FileInfos',
  full_name='pfs.FileInfos',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file_info', full_name='pfs.FileInfos.file_info', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1042,
  serialized_end=1087,
)


_BYTERANGE = _descriptor.Descriptor(
  name='ByteRange',
  full_name='pfs.ByteRange',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='lower', full_name='pfs.ByteRange.lower', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='upper', full_name='pfs.ByteRange.upper', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1089,
  serialized_end=1130,
)


_BLOCKREF = _descriptor.Descriptor(
  name='BlockRef',
  full_name='pfs.BlockRef',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block', full_name='pfs.BlockRef.block', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='range', full_name='pfs.BlockRef.range', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1132,
  serialized_end=1200,
)


_OBJECTINFO = _descriptor.Descriptor(
  name='ObjectInfo',
  full_name='pfs.ObjectInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='object', full_name='pfs.ObjectInfo.object', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='block_ref', full_name='pfs.ObjectInfo.block_ref', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1202,
  serialized_end=1277,
)


_CREATEREPOREQUEST = _descriptor.Descriptor(
  name='CreateRepoRequest',
  full_name='pfs.CreateRepoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.CreateRepoRequest.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='provenance', full_name='pfs.CreateRepoRequest.provenance', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1279,
  serialized_end=1354,
)


_INSPECTREPOREQUEST = _descriptor.Descriptor(
  name='InspectRepoRequest',
  full_name='pfs.InspectRepoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.InspectRepoRequest.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1356,
  serialized_end=1401,
)


_LISTREPOREQUEST = _descriptor.Descriptor(
  name='ListRepoRequest',
  full_name='pfs.ListRepoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='provenance', full_name='pfs.ListRepoRequest.provenance', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1403,
  serialized_end=1451,
)


_DELETEREPOREQUEST = _descriptor.Descriptor(
  name='DeleteRepoRequest',
  full_name='pfs.DeleteRepoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.DeleteRepoRequest.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='force', full_name='pfs.DeleteRepoRequest.force', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1453,
  serialized_end=1512,
)


_STARTCOMMITREQUEST = _descriptor.Descriptor(
  name='StartCommitRequest',
  full_name='pfs.StartCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='pfs.StartCommitRequest.parent', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='branch', full_name='pfs.StartCommitRequest.branch', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='provenance', full_name='pfs.StartCommitRequest.provenance', index=2,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1514,
  serialized_end=1612,
)


_BUILDCOMMITREQUEST = _descriptor.Descriptor(
  name='BuildCommitRequest',
  full_name='pfs.BuildCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='pfs.BuildCommitRequest.parent', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='branch', full_name='pfs.BuildCommitRequest.branch', index=1,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='provenance', full_name='pfs.BuildCommitRequest.provenance', index=2,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='tree', full_name='pfs.BuildCommitRequest.tree', index=3,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1614,
  serialized_end=1739,
)


_FINISHCOMMITREQUEST = _descriptor.Descriptor(
  name='FinishCommitRequest',
  full_name='pfs.FinishCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.FinishCommitRequest.commit', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1741,
  serialized_end=1791,
)


_INSPECTCOMMITREQUEST = _descriptor.Descriptor(
  name='InspectCommitRequest',
  full_name='pfs.InspectCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.InspectCommitRequest.commit', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1793,
  serialized_end=1844,
)


_LISTCOMMITREQUEST = _descriptor.Descriptor(
  name='ListCommitRequest',
  full_name='pfs.ListCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.ListCommitRequest.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='from', full_name='pfs.ListCommitRequest.from', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='to', full_name='pfs.ListCommitRequest.to', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='number', full_name='pfs.ListCommitRequest.number', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1846,
  serialized_end=1958,
)


_LISTBRANCHREQUEST = _descriptor.Descriptor(
  name='ListBranchRequest',
  full_name='pfs.ListBranchRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.ListBranchRequest.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1960,
  serialized_end=2004,
)


_SETBRANCHREQUEST = _descriptor.Descriptor(
  name='SetBranchRequest',
  full_name='pfs.SetBranchRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.SetBranchRequest.commit', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='branch', full_name='pfs.SetBranchRequest.branch', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2006,
  serialized_end=2069,
)


_DELETEBRANCHREQUEST = _descriptor.Descriptor(
  name='DeleteBranchRequest',
  full_name='pfs.DeleteBranchRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.DeleteBranchRequest.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='branch', full_name='pfs.DeleteBranchRequest.branch', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2071,
  serialized_end=2133,
)


_DELETECOMMITREQUEST = _descriptor.Descriptor(
  name='DeleteCommitRequest',
  full_name='pfs.DeleteCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.DeleteCommitRequest.commit', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2135,
  serialized_end=2185,
)


_FLUSHCOMMITREQUEST = _descriptor.Descriptor(
  name='FlushCommitRequest',
  full_name='pfs.FlushCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commits', full_name='pfs.FlushCommitRequest.commits', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='to_repos', full_name='pfs.FlushCommitRequest.to_repos', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2187,
  serialized_end=2266,
)


_SUBSCRIBECOMMITREQUEST = _descriptor.Descriptor(
  name='SubscribeCommitRequest',
  full_name='pfs.SubscribeCommitRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repo', full_name='pfs.SubscribeCommitRequest.repo', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='branch', full_name='pfs.SubscribeCommitRequest.branch', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='from', full_name='pfs.SubscribeCommitRequest.from', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2268,
  serialized_end=2360,
)


_GETFILEREQUEST = _descriptor.Descriptor(
  name='GetFileRequest',
  full_name='pfs.GetFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file', full_name='pfs.GetFileRequest.file', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='offset_bytes', full_name='pfs.GetFileRequest.offset_bytes', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='size_bytes', full_name='pfs.GetFileRequest.size_bytes', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2362,
  serialized_end=2445,
)


_PUTFILEREQUEST = _descriptor.Descriptor(
  name='PutFileRequest',
  full_name='pfs.PutFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file', full_name='pfs.PutFileRequest.file', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='pfs.PutFileRequest.value', index=1,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='url', full_name='pfs.PutFileRequest.url', index=2,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='recursive', full_name='pfs.PutFileRequest.recursive', index=3,
      number=6, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='delimiter', full_name='pfs.PutFileRequest.delimiter', index=4,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='target_file_datums', full_name='pfs.PutFileRequest.target_file_datums', index=5,
      number=8, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='target_file_bytes', full_name='pfs.PutFileRequest.target_file_bytes', index=6,
      number=9, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2448,
  serialized_end=2632,
)


_INSPECTFILEREQUEST = _descriptor.Descriptor(
  name='InspectFileRequest',
  full_name='pfs.InspectFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file', full_name='pfs.InspectFileRequest.file', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2634,
  serialized_end=2679,
)


_LISTFILEREQUEST = _descriptor.Descriptor(
  name='ListFileRequest',
  full_name='pfs.ListFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file', full_name='pfs.ListFileRequest.file', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2681,
  serialized_end=2723,
)


_GLOBFILEREQUEST = _descriptor.Descriptor(
  name='GlobFileRequest',
  full_name='pfs.GlobFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commit', full_name='pfs.GlobFileRequest.commit', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pattern', full_name='pfs.GlobFileRequest.pattern', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2725,
  serialized_end=2788,
)


_DELETEFILEREQUEST = _descriptor.Descriptor(
  name='DeleteFileRequest',
  full_name='pfs.DeleteFileRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file', full_name='pfs.DeleteFileRequest.file', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2790,
  serialized_end=2834,
)


_PUTOBJECTREQUEST = _descriptor.Descriptor(
  name='PutObjectRequest',
  full_name='pfs.PutObjectRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='pfs.PutObjectRequest.value', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='tags', full_name='pfs.PutObjectRequest.tags', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2836,
  serialized_end=2893,
)


_GETOBJECTSREQUEST = _descriptor.Descriptor(
  name='GetObjectsRequest',
  full_name='pfs.GetObjectsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='objects', full_name='pfs.GetObjectsRequest.objects', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='offset_bytes', full_name='pfs.GetObjectsRequest.offset_bytes', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='size_bytes', full_name='pfs.GetObjectsRequest.size_bytes', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2895,
  serialized_end=2986,
)


_TAGOBJECTREQUEST = _descriptor.Descriptor(
  name='TagObjectRequest',
  full_name='pfs.TagObjectRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='object', full_name='pfs.TagObjectRequest.object', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='tags', full_name='pfs.TagObjectRequest.tags', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2988,
  serialized_end=3059,
)


_OBJECTINDEX_OBJECTSENTRY = _descriptor.Descriptor(
  name='ObjectsEntry',
  full_name='pfs.ObjectIndex.ObjectsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='pfs.ObjectIndex.ObjectsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='pfs.ObjectIndex.ObjectsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3167,
  serialized_end=3228,
)

_OBJECTINDEX_TAGSENTRY = _descriptor.Descriptor(
  name='TagsEntry',
  full_name='pfs.ObjectIndex.TagsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='pfs.ObjectIndex.TagsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='pfs.ObjectIndex.TagsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3230,
  serialized_end=3286,
)

_OBJECTINDEX = _descriptor.Descriptor(
  name='ObjectIndex',
  full_name='pfs.ObjectIndex',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='objects', full_name='pfs.ObjectIndex.objects', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='tags', full_name='pfs.ObjectIndex.tags', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_OBJECTINDEX_OBJECTSENTRY, _OBJECTINDEX_TAGSENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3062,
  serialized_end=3286,
)

_COMMIT.fields_by_name['repo'].message_type = _REPO
_COMMITS.fields_by_name['commit'].message_type = _COMMIT
_BRANCH.fields_by_name['head'].message_type = _COMMIT
_BRANCHES.fields_by_name['branches'].message_type = _BRANCH
_FILE.fields_by_name['commit'].message_type = _COMMIT
_REPOINFO.fields_by_name['repo'].message_type = _REPO
_REPOINFO.fields_by_name['created'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_REPOINFO.fields_by_name['provenance'].message_type = _REPO
_REPOINFOS.fields_by_name['repo_info'].message_type = _REPOINFO
_COMMITINFO.fields_by_name['commit'].message_type = _COMMIT
_COMMITINFO.fields_by_name['parent_commit'].message_type = _COMMIT
_COMMITINFO.fields_by_name['started'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_COMMITINFO.fields_by_name['finished'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_COMMITINFO.fields_by_name['provenance'].message_type = _COMMIT
_COMMITINFO.fields_by_name['tree'].message_type = _OBJECT
_COMMITINFOS.fields_by_name['commit_info'].message_type = _COMMITINFO
_FILEINFO.fields_by_name['file'].message_type = _FILE
_FILEINFO.fields_by_name['file_type'].enum_type = _FILETYPE
_FILEINFOS.fields_by_name['file_info'].message_type = _FILEINFO
_BLOCKREF.fields_by_name['block'].message_type = _BLOCK
_BLOCKREF.fields_by_name['range'].message_type = _BYTERANGE
_OBJECTINFO.fields_by_name['object'].message_type = _OBJECT
_OBJECTINFO.fields_by_name['block_ref'].message_type = _BLOCKREF
_CREATEREPOREQUEST.fields_by_name['repo'].message_type = _REPO
_CREATEREPOREQUEST.fields_by_name['provenance'].message_type = _REPO
_INSPECTREPOREQUEST.fields_by_name['repo'].message_type = _REPO
_LISTREPOREQUEST.fields_by_name['provenance'].message_type = _REPO
_DELETEREPOREQUEST.fields_by_name['repo'].message_type = _REPO
_STARTCOMMITREQUEST.fields_by_name['parent'].message_type = _COMMIT
_STARTCOMMITREQUEST.fields_by_name['provenance'].message_type = _COMMIT
_BUILDCOMMITREQUEST.fields_by_name['parent'].message_type = _COMMIT
_BUILDCOMMITREQUEST.fields_by_name['provenance'].message_type = _COMMIT
_BUILDCOMMITREQUEST.fields_by_name['tree'].message_type = _OBJECT
_FINISHCOMMITREQUEST.fields_by_name['commit'].message_type = _COMMIT
_INSPECTCOMMITREQUEST.fields_by_name['commit'].message_type = _COMMIT
_LISTCOMMITREQUEST.fields_by_name['repo'].message_type = _REPO
_LISTCOMMITREQUEST.fields_by_name['from'].message_type = _COMMIT
_LISTCOMMITREQUEST.fields_by_name['to'].message_type = _COMMIT
_LISTBRANCHREQUEST.fields_by_name['repo'].message_type = _REPO
_SETBRANCHREQUEST.fields_by_name['commit'].message_type = _COMMIT
_DELETEBRANCHREQUEST.fields_by_name['repo'].message_type = _REPO
_DELETECOMMITREQUEST.fields_by_name['commit'].message_type = _COMMIT
_FLUSHCOMMITREQUEST.fields_by_name['commits'].message_type = _COMMIT
_FLUSHCOMMITREQUEST.fields_by_name['to_repos'].message_type = _REPO
_SUBSCRIBECOMMITREQUEST.fields_by_name['repo'].message_type = _REPO
_SUBSCRIBECOMMITREQUEST.fields_by_name['from'].message_type = _COMMIT
_GETFILEREQUEST.fields_by_name['file'].message_type = _FILE
_PUTFILEREQUEST.fields_by_name['file'].message_type = _FILE
_PUTFILEREQUEST.fields_by_name['delimiter'].enum_type = _DELIMITER
_INSPECTFILEREQUEST.fields_by_name['file'].message_type = _FILE
_LISTFILEREQUEST.fields_by_name['file'].message_type = _FILE
_GLOBFILEREQUEST.fields_by_name['commit'].message_type = _COMMIT
_DELETEFILEREQUEST.fields_by_name['file'].message_type = _FILE
_PUTOBJECTREQUEST.fields_by_name['tags'].message_type = _TAG
_GETOBJECTSREQUEST.fields_by_name['objects'].message_type = _OBJECT
_TAGOBJECTREQUEST.fields_by_name['object'].message_type = _OBJECT
_TAGOBJECTREQUEST.fields_by_name['tags'].message_type = _TAG
_OBJECTINDEX_OBJECTSENTRY.fields_by_name['value'].message_type = _BLOCKREF
_OBJECTINDEX_OBJECTSENTRY.containing_type = _OBJECTINDEX
_OBJECTINDEX_TAGSENTRY.fields_by_name['value'].message_type = _OBJECT
_OBJECTINDEX_TAGSENTRY.containing_type = _OBJECTINDEX
_OBJECTINDEX.fields_by_name['objects'].message_type = _OBJECTINDEX_OBJECTSENTRY
_OBJECTINDEX.fields_by_name['tags'].message_type = _OBJECTINDEX_TAGSENTRY
DESCRIPTOR.message_types_by_name['Repo'] = _REPO
DESCRIPTOR.message_types_by_name['Commit'] = _COMMIT
DESCRIPTOR.message_types_by_name['Commits'] = _COMMITS
DESCRIPTOR.message_types_by_name['Branch'] = _BRANCH
DESCRIPTOR.message_types_by_name['Branches'] = _BRANCHES
DESCRIPTOR.message_types_by_name['File'] = _FILE
DESCRIPTOR.message_types_by_name['Block'] = _BLOCK
DESCRIPTOR.message_types_by_name['Object'] = _OBJECT
DESCRIPTOR.message_types_by_name['Tag'] = _TAG
DESCRIPTOR.message_types_by_name['RepoInfo'] = _REPOINFO
DESCRIPTOR.message_types_by_name['RepoInfos'] = _REPOINFOS
DESCRIPTOR.message_types_by_name['CommitInfo'] = _COMMITINFO
DESCRIPTOR.message_types_by_name['CommitInfos'] = _COMMITINFOS
DESCRIPTOR.message_types_by_name['FileInfo'] = _FILEINFO
DESCRIPTOR.message_types_by_name['FileInfos'] = _FILEINFOS
DESCRIPTOR.message_types_by_name['ByteRange'] = _BYTERANGE
DESCRIPTOR.message_types_by_name['BlockRef'] = _BLOCKREF
DESCRIPTOR.message_types_by_name['ObjectInfo'] = _OBJECTINFO
DESCRIPTOR.message_types_by_name['CreateRepoRequest'] = _CREATEREPOREQUEST
DESCRIPTOR.message_types_by_name['InspectRepoRequest'] = _INSPECTREPOREQUEST
DESCRIPTOR.message_types_by_name['ListRepoRequest'] = _LISTREPOREQUEST
DESCRIPTOR.message_types_by_name['DeleteRepoRequest'] = _DELETEREPOREQUEST
DESCRIPTOR.message_types_by_name['StartCommitRequest'] = _STARTCOMMITREQUEST
DESCRIPTOR.message_types_by_name['BuildCommitRequest'] = _BUILDCOMMITREQUEST
DESCRIPTOR.message_types_by_name['FinishCommitRequest'] = _FINISHCOMMITREQUEST
DESCRIPTOR.message_types_by_name['InspectCommitRequest'] = _INSPECTCOMMITREQUEST
DESCRIPTOR.message_types_by_name['ListCommitRequest'] = _LISTCOMMITREQUEST
DESCRIPTOR.message_types_by_name['ListBranchRequest'] = _LISTBRANCHREQUEST
DESCRIPTOR.message_types_by_name['SetBranchRequest'] = _SETBRANCHREQUEST
DESCRIPTOR.message_types_by_name['DeleteBranchRequest'] = _DELETEBRANCHREQUEST
DESCRIPTOR.message_types_by_name['DeleteCommitRequest'] = _DELETECOMMITREQUEST
DESCRIPTOR.message_types_by_name['FlushCommitRequest'] = _FLUSHCOMMITREQUEST
DESCRIPTOR.message_types_by_name['SubscribeCommitRequest'] = _SUBSCRIBECOMMITREQUEST
DESCRIPTOR.message_types_by_name['GetFileRequest'] = _GETFILEREQUEST
DESCRIPTOR.message_types_by_name['PutFileRequest'] = _PUTFILEREQUEST
DESCRIPTOR.message_types_by_name['InspectFileRequest'] = _INSPECTFILEREQUEST
DESCRIPTOR.message_types_by_name['ListFileRequest'] = _LISTFILEREQUEST
DESCRIPTOR.message_types_by_name['GlobFileRequest'] = _GLOBFILEREQUEST
DESCRIPTOR.message_types_by_name['DeleteFileRequest'] = _DELETEFILEREQUEST
DESCRIPTOR.message_types_by_name['PutObjectRequest'] = _PUTOBJECTREQUEST
DESCRIPTOR.message_types_by_name['GetObjectsRequest'] = _GETOBJECTSREQUEST
DESCRIPTOR.message_types_by_name['TagObjectRequest'] = _TAGOBJECTREQUEST
DESCRIPTOR.message_types_by_name['ObjectIndex'] = _OBJECTINDEX
DESCRIPTOR.enum_types_by_name['FileType'] = _FILETYPE
DESCRIPTOR.enum_types_by_name['Delimiter'] = _DELIMITER
DESCRIPTOR.enum_types_by_name['ListFileMode'] = _LISTFILEMODE

Repo = _reflection.GeneratedProtocolMessageType('Repo', (_message.Message,), dict(
  DESCRIPTOR = _REPO,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Repo)
  ))
_sym_db.RegisterMessage(Repo)

Commit = _reflection.GeneratedProtocolMessageType('Commit', (_message.Message,), dict(
  DESCRIPTOR = _COMMIT,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Commit)
  ))
_sym_db.RegisterMessage(Commit)

Commits = _reflection.GeneratedProtocolMessageType('Commits', (_message.Message,), dict(
  DESCRIPTOR = _COMMITS,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Commits)
  ))
_sym_db.RegisterMessage(Commits)

Branch = _reflection.GeneratedProtocolMessageType('Branch', (_message.Message,), dict(
  DESCRIPTOR = _BRANCH,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Branch)
  ))
_sym_db.RegisterMessage(Branch)

Branches = _reflection.GeneratedProtocolMessageType('Branches', (_message.Message,), dict(
  DESCRIPTOR = _BRANCHES,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Branches)
  ))
_sym_db.RegisterMessage(Branches)

File = _reflection.GeneratedProtocolMessageType('File', (_message.Message,), dict(
  DESCRIPTOR = _FILE,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.File)
  ))
_sym_db.RegisterMessage(File)

Block = _reflection.GeneratedProtocolMessageType('Block', (_message.Message,), dict(
  DESCRIPTOR = _BLOCK,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Block)
  ))
_sym_db.RegisterMessage(Block)

Object = _reflection.GeneratedProtocolMessageType('Object', (_message.Message,), dict(
  DESCRIPTOR = _OBJECT,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Object)
  ))
_sym_db.RegisterMessage(Object)

Tag = _reflection.GeneratedProtocolMessageType('Tag', (_message.Message,), dict(
  DESCRIPTOR = _TAG,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.Tag)
  ))
_sym_db.RegisterMessage(Tag)

RepoInfo = _reflection.GeneratedProtocolMessageType('RepoInfo', (_message.Message,), dict(
  DESCRIPTOR = _REPOINFO,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.RepoInfo)
  ))
_sym_db.RegisterMessage(RepoInfo)

RepoInfos = _reflection.GeneratedProtocolMessageType('RepoInfos', (_message.Message,), dict(
  DESCRIPTOR = _REPOINFOS,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.RepoInfos)
  ))
_sym_db.RegisterMessage(RepoInfos)

CommitInfo = _reflection.GeneratedProtocolMessageType('CommitInfo', (_message.Message,), dict(
  DESCRIPTOR = _COMMITINFO,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.CommitInfo)
  ))
_sym_db.RegisterMessage(CommitInfo)

CommitInfos = _reflection.GeneratedProtocolMessageType('CommitInfos', (_message.Message,), dict(
  DESCRIPTOR = _COMMITINFOS,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.CommitInfos)
  ))
_sym_db.RegisterMessage(CommitInfos)

FileInfo = _reflection.GeneratedProtocolMessageType('FileInfo', (_message.Message,), dict(
  DESCRIPTOR = _FILEINFO,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.FileInfo)
  ))
_sym_db.RegisterMessage(FileInfo)

FileInfos = _reflection.GeneratedProtocolMessageType('FileInfos', (_message.Message,), dict(
  DESCRIPTOR = _FILEINFOS,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.FileInfos)
  ))
_sym_db.RegisterMessage(FileInfos)

ByteRange = _reflection.GeneratedProtocolMessageType('ByteRange', (_message.Message,), dict(
  DESCRIPTOR = _BYTERANGE,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.ByteRange)
  ))
_sym_db.RegisterMessage(ByteRange)

BlockRef = _reflection.GeneratedProtocolMessageType('BlockRef', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKREF,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.BlockRef)
  ))
_sym_db.RegisterMessage(BlockRef)

ObjectInfo = _reflection.GeneratedProtocolMessageType('ObjectInfo', (_message.Message,), dict(
  DESCRIPTOR = _OBJECTINFO,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.ObjectInfo)
  ))
_sym_db.RegisterMessage(ObjectInfo)

CreateRepoRequest = _reflection.GeneratedProtocolMessageType('CreateRepoRequest', (_message.Message,), dict(
  DESCRIPTOR = _CREATEREPOREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.CreateRepoRequest)
  ))
_sym_db.RegisterMessage(CreateRepoRequest)

InspectRepoRequest = _reflection.GeneratedProtocolMessageType('InspectRepoRequest', (_message.Message,), dict(
  DESCRIPTOR = _INSPECTREPOREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.InspectRepoRequest)
  ))
_sym_db.RegisterMessage(InspectRepoRequest)

ListRepoRequest = _reflection.GeneratedProtocolMessageType('ListRepoRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTREPOREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.ListRepoRequest)
  ))
_sym_db.RegisterMessage(ListRepoRequest)

DeleteRepoRequest = _reflection.GeneratedProtocolMessageType('DeleteRepoRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETEREPOREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.DeleteRepoRequest)
  ))
_sym_db.RegisterMessage(DeleteRepoRequest)

StartCommitRequest = _reflection.GeneratedProtocolMessageType('StartCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _STARTCOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.StartCommitRequest)
  ))
_sym_db.RegisterMessage(StartCommitRequest)

BuildCommitRequest = _reflection.GeneratedProtocolMessageType('BuildCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUILDCOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.BuildCommitRequest)
  ))
_sym_db.RegisterMessage(BuildCommitRequest)

FinishCommitRequest = _reflection.GeneratedProtocolMessageType('FinishCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _FINISHCOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.FinishCommitRequest)
  ))
_sym_db.RegisterMessage(FinishCommitRequest)

InspectCommitRequest = _reflection.GeneratedProtocolMessageType('InspectCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _INSPECTCOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.InspectCommitRequest)
  ))
_sym_db.RegisterMessage(InspectCommitRequest)

ListCommitRequest = _reflection.GeneratedProtocolMessageType('ListCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTCOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.ListCommitRequest)
  ))
_sym_db.RegisterMessage(ListCommitRequest)

ListBranchRequest = _reflection.GeneratedProtocolMessageType('ListBranchRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTBRANCHREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.ListBranchRequest)
  ))
_sym_db.RegisterMessage(ListBranchRequest)

SetBranchRequest = _reflection.GeneratedProtocolMessageType('SetBranchRequest', (_message.Message,), dict(
  DESCRIPTOR = _SETBRANCHREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.SetBranchRequest)
  ))
_sym_db.RegisterMessage(SetBranchRequest)

DeleteBranchRequest = _reflection.GeneratedProtocolMessageType('DeleteBranchRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETEBRANCHREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.DeleteBranchRequest)
  ))
_sym_db.RegisterMessage(DeleteBranchRequest)

DeleteCommitRequest = _reflection.GeneratedProtocolMessageType('DeleteCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETECOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.DeleteCommitRequest)
  ))
_sym_db.RegisterMessage(DeleteCommitRequest)

FlushCommitRequest = _reflection.GeneratedProtocolMessageType('FlushCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _FLUSHCOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.FlushCommitRequest)
  ))
_sym_db.RegisterMessage(FlushCommitRequest)

SubscribeCommitRequest = _reflection.GeneratedProtocolMessageType('SubscribeCommitRequest', (_message.Message,), dict(
  DESCRIPTOR = _SUBSCRIBECOMMITREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.SubscribeCommitRequest)
  ))
_sym_db.RegisterMessage(SubscribeCommitRequest)

GetFileRequest = _reflection.GeneratedProtocolMessageType('GetFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETFILEREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.GetFileRequest)
  ))
_sym_db.RegisterMessage(GetFileRequest)

PutFileRequest = _reflection.GeneratedProtocolMessageType('PutFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _PUTFILEREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.PutFileRequest)
  ))
_sym_db.RegisterMessage(PutFileRequest)

InspectFileRequest = _reflection.GeneratedProtocolMessageType('InspectFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _INSPECTFILEREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.InspectFileRequest)
  ))
_sym_db.RegisterMessage(InspectFileRequest)

ListFileRequest = _reflection.GeneratedProtocolMessageType('ListFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTFILEREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.ListFileRequest)
  ))
_sym_db.RegisterMessage(ListFileRequest)

GlobFileRequest = _reflection.GeneratedProtocolMessageType('GlobFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _GLOBFILEREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.GlobFileRequest)
  ))
_sym_db.RegisterMessage(GlobFileRequest)

DeleteFileRequest = _reflection.GeneratedProtocolMessageType('DeleteFileRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETEFILEREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.DeleteFileRequest)
  ))
_sym_db.RegisterMessage(DeleteFileRequest)

PutObjectRequest = _reflection.GeneratedProtocolMessageType('PutObjectRequest', (_message.Message,), dict(
  DESCRIPTOR = _PUTOBJECTREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.PutObjectRequest)
  ))
_sym_db.RegisterMessage(PutObjectRequest)

GetObjectsRequest = _reflection.GeneratedProtocolMessageType('GetObjectsRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETOBJECTSREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.GetObjectsRequest)
  ))
_sym_db.RegisterMessage(GetObjectsRequest)

TagObjectRequest = _reflection.GeneratedProtocolMessageType('TagObjectRequest', (_message.Message,), dict(
  DESCRIPTOR = _TAGOBJECTREQUEST,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.TagObjectRequest)
  ))
_sym_db.RegisterMessage(TagObjectRequest)

ObjectIndex = _reflection.GeneratedProtocolMessageType('ObjectIndex', (_message.Message,), dict(

  ObjectsEntry = _reflection.GeneratedProtocolMessageType('ObjectsEntry', (_message.Message,), dict(
    DESCRIPTOR = _OBJECTINDEX_OBJECTSENTRY,
    __module__ = 'pfs_pb2'
    # @@protoc_insertion_point(class_scope:pfs.ObjectIndex.ObjectsEntry)
    ))
  ,

  TagsEntry = _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), dict(
    DESCRIPTOR = _OBJECTINDEX_TAGSENTRY,
    __module__ = 'pfs_pb2'
    # @@protoc_insertion_point(class_scope:pfs.ObjectIndex.TagsEntry)
    ))
  ,
  DESCRIPTOR = _OBJECTINDEX,
  __module__ = 'pfs_pb2'
  # @@protoc_insertion_point(class_scope:pfs.ObjectIndex)
  ))
_sym_db.RegisterMessage(ObjectIndex)
_sym_db.RegisterMessage(ObjectIndex.ObjectsEntry)
_sym_db.RegisterMessage(ObjectIndex.TagsEntry)


_OBJECTINDEX_OBJECTSENTRY.has_options = True
_OBJECTINDEX_OBJECTSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_OBJECTINDEX_TAGSENTRY.has_options = True
_OBJECTINDEX_TAGSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces


  class APIStub(object):

    def __init__(self, channel):
      """Constructor.

      Args:
        channel: A grpc.Channel.
      """
      self.CreateRepo = channel.unary_unary(
          '/pfs.API/CreateRepo',
          request_serializer=CreateRepoRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.InspectRepo = channel.unary_unary(
          '/pfs.API/InspectRepo',
          request_serializer=InspectRepoRequest.SerializeToString,
          response_deserializer=RepoInfo.FromString,
          )
      self.ListRepo = channel.unary_unary(
          '/pfs.API/ListRepo',
          request_serializer=ListRepoRequest.SerializeToString,
          response_deserializer=RepoInfos.FromString,
          )
      self.DeleteRepo = channel.unary_unary(
          '/pfs.API/DeleteRepo',
          request_serializer=DeleteRepoRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.StartCommit = channel.unary_unary(
          '/pfs.API/StartCommit',
          request_serializer=StartCommitRequest.SerializeToString,
          response_deserializer=Commit.FromString,
          )
      self.FinishCommit = channel.unary_unary(
          '/pfs.API/FinishCommit',
          request_serializer=FinishCommitRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.InspectCommit = channel.unary_unary(
          '/pfs.API/InspectCommit',
          request_serializer=InspectCommitRequest.SerializeToString,
          response_deserializer=CommitInfo.FromString,
          )
      self.ListCommit = channel.unary_unary(
          '/pfs.API/ListCommit',
          request_serializer=ListCommitRequest.SerializeToString,
          response_deserializer=CommitInfos.FromString,
          )
      self.DeleteCommit = channel.unary_unary(
          '/pfs.API/DeleteCommit',
          request_serializer=DeleteCommitRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.FlushCommit = channel.unary_stream(
          '/pfs.API/FlushCommit',
          request_serializer=FlushCommitRequest.SerializeToString,
          response_deserializer=CommitInfo.FromString,
          )
      self.SubscribeCommit = channel.unary_stream(
          '/pfs.API/SubscribeCommit',
          request_serializer=SubscribeCommitRequest.SerializeToString,
          response_deserializer=CommitInfo.FromString,
          )
      self.BuildCommit = channel.unary_unary(
          '/pfs.API/BuildCommit',
          request_serializer=BuildCommitRequest.SerializeToString,
          response_deserializer=Commit.FromString,
          )
      self.ListBranch = channel.unary_unary(
          '/pfs.API/ListBranch',
          request_serializer=ListBranchRequest.SerializeToString,
          response_deserializer=Branches.FromString,
          )
      self.SetBranch = channel.unary_unary(
          '/pfs.API/SetBranch',
          request_serializer=SetBranchRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.DeleteBranch = channel.unary_unary(
          '/pfs.API/DeleteBranch',
          request_serializer=DeleteBranchRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.PutFile = channel.stream_unary(
          '/pfs.API/PutFile',
          request_serializer=PutFileRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.GetFile = channel.unary_stream(
          '/pfs.API/GetFile',
          request_serializer=GetFileRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
          )
      self.InspectFile = channel.unary_unary(
          '/pfs.API/InspectFile',
          request_serializer=InspectFileRequest.SerializeToString,
          response_deserializer=FileInfo.FromString,
          )
      self.ListFile = channel.unary_unary(
          '/pfs.API/ListFile',
          request_serializer=ListFileRequest.SerializeToString,
          response_deserializer=FileInfos.FromString,
          )
      self.GlobFile = channel.unary_unary(
          '/pfs.API/GlobFile',
          request_serializer=GlobFileRequest.SerializeToString,
          response_deserializer=FileInfos.FromString,
          )
      self.DeleteFile = channel.unary_unary(
          '/pfs.API/DeleteFile',
          request_serializer=DeleteFileRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.DeleteAll = channel.unary_unary(
          '/pfs.API/DeleteAll',
          request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )


  class APIServicer(object):

    def CreateRepo(self, request, context):
      """Repo rpcs
      CreateRepo creates a new repo.
      An error is returned if the repo already exists.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def InspectRepo(self, request, context):
      """InspectRepo returns info about a repo.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListRepo(self, request, context):
      """ListRepo returns info about all repos.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def DeleteRepo(self, request, context):
      """DeleteRepo deletes a repo.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def StartCommit(self, request, context):
      """Commit rpcs
      StartCommit creates a new write commit from a parent commit.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def FinishCommit(self, request, context):
      """FinishCommit turns a write commit into a read commit.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def InspectCommit(self, request, context):
      """InspectCommit returns the info about a commit.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListCommit(self, request, context):
      """ListCommit returns info about all commits.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def DeleteCommit(self, request, context):
      """DeleteCommit deletes a commit.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def FlushCommit(self, request, context):
      """FlushCommit waits for downstream commits to finish
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def SubscribeCommit(self, request, context):
      """SubscribeCommit subscribes for new commits on a given branch
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def BuildCommit(self, request, context):
      """BuildCommit builds a commit that's backed by the given tree
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListBranch(self, request, context):
      """ListBranch returns info about the heads of branches.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def SetBranch(self, request, context):
      """SetBranch assigns a commit and its ancestors to a branch.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def DeleteBranch(self, request, context):
      """DeleteBranch deletes a branch; note that the commits still exist.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def PutFile(self, request_iterator, context):
      """File rpcs
      PutFile writes the specified file to pfs.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GetFile(self, request, context):
      """GetFile returns a byte stream of the contents of the file.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def InspectFile(self, request, context):
      """InspectFile returns info about a file.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListFile(self, request, context):
      """ListFile returns info about all files.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GlobFile(self, request, context):
      """GlobFile returns info about all files.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def DeleteFile(self, request, context):
      """DeleteFile deletes a file.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def DeleteAll(self, request, context):
      """DeleteAll deletes everything
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_APIServicer_to_server(servicer, server):
    rpc_method_handlers = {
        'CreateRepo': grpc.unary_unary_rpc_method_handler(
            servicer.CreateRepo,
            request_deserializer=CreateRepoRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'InspectRepo': grpc.unary_unary_rpc_method_handler(
            servicer.InspectRepo,
            request_deserializer=InspectRepoRequest.FromString,
            response_serializer=RepoInfo.SerializeToString,
        ),
        'ListRepo': grpc.unary_unary_rpc_method_handler(
            servicer.ListRepo,
            request_deserializer=ListRepoRequest.FromString,
            response_serializer=RepoInfos.SerializeToString,
        ),
        'DeleteRepo': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteRepo,
            request_deserializer=DeleteRepoRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'StartCommit': grpc.unary_unary_rpc_method_handler(
            servicer.StartCommit,
            request_deserializer=StartCommitRequest.FromString,
            response_serializer=Commit.SerializeToString,
        ),
        'FinishCommit': grpc.unary_unary_rpc_method_handler(
            servicer.FinishCommit,
            request_deserializer=FinishCommitRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'InspectCommit': grpc.unary_unary_rpc_method_handler(
            servicer.InspectCommit,
            request_deserializer=InspectCommitRequest.FromString,
            response_serializer=CommitInfo.SerializeToString,
        ),
        'ListCommit': grpc.unary_unary_rpc_method_handler(
            servicer.ListCommit,
            request_deserializer=ListCommitRequest.FromString,
            response_serializer=CommitInfos.SerializeToString,
        ),
        'DeleteCommit': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteCommit,
            request_deserializer=DeleteCommitRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'FlushCommit': grpc.unary_stream_rpc_method_handler(
            servicer.FlushCommit,
            request_deserializer=FlushCommitRequest.FromString,
            response_serializer=CommitInfo.SerializeToString,
        ),
        'SubscribeCommit': grpc.unary_stream_rpc_method_handler(
            servicer.SubscribeCommit,
            request_deserializer=SubscribeCommitRequest.FromString,
            response_serializer=CommitInfo.SerializeToString,
        ),
        'BuildCommit': grpc.unary_unary_rpc_method_handler(
            servicer.BuildCommit,
            request_deserializer=BuildCommitRequest.FromString,
            response_serializer=Commit.SerializeToString,
        ),
        'ListBranch': grpc.unary_unary_rpc_method_handler(
            servicer.ListBranch,
            request_deserializer=ListBranchRequest.FromString,
            response_serializer=Branches.SerializeToString,
        ),
        'SetBranch': grpc.unary_unary_rpc_method_handler(
            servicer.SetBranch,
            request_deserializer=SetBranchRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'DeleteBranch': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteBranch,
            request_deserializer=DeleteBranchRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'PutFile': grpc.stream_unary_rpc_method_handler(
            servicer.PutFile,
            request_deserializer=PutFileRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'GetFile': grpc.unary_stream_rpc_method_handler(
            servicer.GetFile,
            request_deserializer=GetFileRequest.FromString,
            response_serializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
        ),
        'InspectFile': grpc.unary_unary_rpc_method_handler(
            servicer.InspectFile,
            request_deserializer=InspectFileRequest.FromString,
            response_serializer=FileInfo.SerializeToString,
        ),
        'ListFile': grpc.unary_unary_rpc_method_handler(
            servicer.ListFile,
            request_deserializer=ListFileRequest.FromString,
            response_serializer=FileInfos.SerializeToString,
        ),
        'GlobFile': grpc.unary_unary_rpc_method_handler(
            servicer.GlobFile,
            request_deserializer=GlobFileRequest.FromString,
            response_serializer=FileInfos.SerializeToString,
        ),
        'DeleteFile': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteFile,
            request_deserializer=DeleteFileRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'DeleteAll': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteAll,
            request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'pfs.API', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class ObjectAPIStub(object):

    def __init__(self, channel):
      """Constructor.

      Args:
        channel: A grpc.Channel.
      """
      self.PutObject = channel.stream_unary(
          '/pfs.ObjectAPI/PutObject',
          request_serializer=PutObjectRequest.SerializeToString,
          response_deserializer=Object.FromString,
          )
      self.GetObject = channel.unary_stream(
          '/pfs.ObjectAPI/GetObject',
          request_serializer=Object.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
          )
      self.GetObjects = channel.unary_stream(
          '/pfs.ObjectAPI/GetObjects',
          request_serializer=GetObjectsRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
          )
      self.TagObject = channel.unary_unary(
          '/pfs.ObjectAPI/TagObject',
          request_serializer=TagObjectRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.InspectObject = channel.unary_unary(
          '/pfs.ObjectAPI/InspectObject',
          request_serializer=Object.SerializeToString,
          response_deserializer=ObjectInfo.FromString,
          )
      self.GetTag = channel.unary_stream(
          '/pfs.ObjectAPI/GetTag',
          request_serializer=Tag.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
          )
      self.InspectTag = channel.unary_unary(
          '/pfs.ObjectAPI/InspectTag',
          request_serializer=Tag.SerializeToString,
          response_deserializer=ObjectInfo.FromString,
          )
      self.Compact = channel.unary_unary(
          '/pfs.ObjectAPI/Compact',
          request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )


  class ObjectAPIServicer(object):

    def PutObject(self, request_iterator, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GetObject(self, request, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GetObjects(self, request, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def TagObject(self, request, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def InspectObject(self, request, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GetTag(self, request, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def InspectTag(self, request, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def Compact(self, request, context):
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_ObjectAPIServicer_to_server(servicer, server):
    rpc_method_handlers = {
        'PutObject': grpc.stream_unary_rpc_method_handler(
            servicer.PutObject,
            request_deserializer=PutObjectRequest.FromString,
            response_serializer=Object.SerializeToString,
        ),
        'GetObject': grpc.unary_stream_rpc_method_handler(
            servicer.GetObject,
            request_deserializer=Object.FromString,
            response_serializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
        ),
        'GetObjects': grpc.unary_stream_rpc_method_handler(
            servicer.GetObjects,
            request_deserializer=GetObjectsRequest.FromString,
            response_serializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
        ),
        'TagObject': grpc.unary_unary_rpc_method_handler(
            servicer.TagObject,
            request_deserializer=TagObjectRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'InspectObject': grpc.unary_unary_rpc_method_handler(
            servicer.InspectObject,
            request_deserializer=Object.FromString,
            response_serializer=ObjectInfo.SerializeToString,
        ),
        'GetTag': grpc.unary_stream_rpc_method_handler(
            servicer.GetTag,
            request_deserializer=Tag.FromString,
            response_serializer=google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
        ),
        'InspectTag': grpc.unary_unary_rpc_method_handler(
            servicer.InspectTag,
            request_deserializer=Tag.FromString,
            response_serializer=ObjectInfo.SerializeToString,
        ),
        'Compact': grpc.unary_unary_rpc_method_handler(
            servicer.Compact,
            request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'pfs.ObjectAPI', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class BetaAPIServicer(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    def CreateRepo(self, request, context):
      """Repo rpcs
      CreateRepo creates a new repo.
      An error is returned if the repo already exists.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def InspectRepo(self, request, context):
      """InspectRepo returns info about a repo.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListRepo(self, request, context):
      """ListRepo returns info about all repos.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def DeleteRepo(self, request, context):
      """DeleteRepo deletes a repo.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def StartCommit(self, request, context):
      """Commit rpcs
      StartCommit creates a new write commit from a parent commit.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def FinishCommit(self, request, context):
      """FinishCommit turns a write commit into a read commit.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def InspectCommit(self, request, context):
      """InspectCommit returns the info about a commit.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListCommit(self, request, context):
      """ListCommit returns info about all commits.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def DeleteCommit(self, request, context):
      """DeleteCommit deletes a commit.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def FlushCommit(self, request, context):
      """FlushCommit waits for downstream commits to finish
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def SubscribeCommit(self, request, context):
      """SubscribeCommit subscribes for new commits on a given branch
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def BuildCommit(self, request, context):
      """BuildCommit builds a commit that's backed by the given tree
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListBranch(self, request, context):
      """ListBranch returns info about the heads of branches.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def SetBranch(self, request, context):
      """SetBranch assigns a commit and its ancestors to a branch.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def DeleteBranch(self, request, context):
      """DeleteBranch deletes a branch; note that the commits still exist.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def PutFile(self, request_iterator, context):
      """File rpcs
      PutFile writes the specified file to pfs.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GetFile(self, request, context):
      """GetFile returns a byte stream of the contents of the file.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def InspectFile(self, request, context):
      """InspectFile returns info about a file.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListFile(self, request, context):
      """ListFile returns info about all files.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GlobFile(self, request, context):
      """GlobFile returns info about all files.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def DeleteFile(self, request, context):
      """DeleteFile deletes a file.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def DeleteAll(self, request, context):
      """DeleteAll deletes everything
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaAPIStub(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    def CreateRepo(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Repo rpcs
      CreateRepo creates a new repo.
      An error is returned if the repo already exists.
      """
      raise NotImplementedError()
    CreateRepo.future = None
    def InspectRepo(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """InspectRepo returns info about a repo.
      """
      raise NotImplementedError()
    InspectRepo.future = None
    def ListRepo(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """ListRepo returns info about all repos.
      """
      raise NotImplementedError()
    ListRepo.future = None
    def DeleteRepo(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """DeleteRepo deletes a repo.
      """
      raise NotImplementedError()
    DeleteRepo.future = None
    def StartCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Commit rpcs
      StartCommit creates a new write commit from a parent commit.
      """
      raise NotImplementedError()
    StartCommit.future = None
    def FinishCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """FinishCommit turns a write commit into a read commit.
      """
      raise NotImplementedError()
    FinishCommit.future = None
    def InspectCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """InspectCommit returns the info about a commit.
      """
      raise NotImplementedError()
    InspectCommit.future = None
    def ListCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """ListCommit returns info about all commits.
      """
      raise NotImplementedError()
    ListCommit.future = None
    def DeleteCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """DeleteCommit deletes a commit.
      """
      raise NotImplementedError()
    DeleteCommit.future = None
    def FlushCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """FlushCommit waits for downstream commits to finish
      """
      raise NotImplementedError()
    def SubscribeCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """SubscribeCommit subscribes for new commits on a given branch
      """
      raise NotImplementedError()
    def BuildCommit(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """BuildCommit builds a commit that's backed by the given tree
      """
      raise NotImplementedError()
    BuildCommit.future = None
    def ListBranch(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """ListBranch returns info about the heads of branches.
      """
      raise NotImplementedError()
    ListBranch.future = None
    def SetBranch(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """SetBranch assigns a commit and its ancestors to a branch.
      """
      raise NotImplementedError()
    SetBranch.future = None
    def DeleteBranch(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """DeleteBranch deletes a branch; note that the commits still exist.
      """
      raise NotImplementedError()
    DeleteBranch.future = None
    def PutFile(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      """File rpcs
      PutFile writes the specified file to pfs.
      """
      raise NotImplementedError()
    PutFile.future = None
    def GetFile(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """GetFile returns a byte stream of the contents of the file.
      """
      raise NotImplementedError()
    def InspectFile(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """InspectFile returns info about a file.
      """
      raise NotImplementedError()
    InspectFile.future = None
    def ListFile(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """ListFile returns info about all files.
      """
      raise NotImplementedError()
    ListFile.future = None
    def GlobFile(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """GlobFile returns info about all files.
      """
      raise NotImplementedError()
    GlobFile.future = None
    def DeleteFile(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """DeleteFile deletes a file.
      """
      raise NotImplementedError()
    DeleteFile.future = None
    def DeleteAll(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """DeleteAll deletes everything
      """
      raise NotImplementedError()
    DeleteAll.future = None


  def beta_create_API_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_deserializers = {
      ('pfs.API', 'BuildCommit'): BuildCommitRequest.FromString,
      ('pfs.API', 'CreateRepo'): CreateRepoRequest.FromString,
      ('pfs.API', 'DeleteAll'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'DeleteBranch'): DeleteBranchRequest.FromString,
      ('pfs.API', 'DeleteCommit'): DeleteCommitRequest.FromString,
      ('pfs.API', 'DeleteFile'): DeleteFileRequest.FromString,
      ('pfs.API', 'DeleteRepo'): DeleteRepoRequest.FromString,
      ('pfs.API', 'FinishCommit'): FinishCommitRequest.FromString,
      ('pfs.API', 'FlushCommit'): FlushCommitRequest.FromString,
      ('pfs.API', 'GetFile'): GetFileRequest.FromString,
      ('pfs.API', 'GlobFile'): GlobFileRequest.FromString,
      ('pfs.API', 'InspectCommit'): InspectCommitRequest.FromString,
      ('pfs.API', 'InspectFile'): InspectFileRequest.FromString,
      ('pfs.API', 'InspectRepo'): InspectRepoRequest.FromString,
      ('pfs.API', 'ListBranch'): ListBranchRequest.FromString,
      ('pfs.API', 'ListCommit'): ListCommitRequest.FromString,
      ('pfs.API', 'ListFile'): ListFileRequest.FromString,
      ('pfs.API', 'ListRepo'): ListRepoRequest.FromString,
      ('pfs.API', 'PutFile'): PutFileRequest.FromString,
      ('pfs.API', 'SetBranch'): SetBranchRequest.FromString,
      ('pfs.API', 'StartCommit'): StartCommitRequest.FromString,
      ('pfs.API', 'SubscribeCommit'): SubscribeCommitRequest.FromString,
    }
    response_serializers = {
      ('pfs.API', 'BuildCommit'): Commit.SerializeToString,
      ('pfs.API', 'CreateRepo'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'DeleteAll'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'DeleteBranch'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'DeleteCommit'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'DeleteFile'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'DeleteRepo'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'FinishCommit'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'FlushCommit'): CommitInfo.SerializeToString,
      ('pfs.API', 'GetFile'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
      ('pfs.API', 'GlobFile'): FileInfos.SerializeToString,
      ('pfs.API', 'InspectCommit'): CommitInfo.SerializeToString,
      ('pfs.API', 'InspectFile'): FileInfo.SerializeToString,
      ('pfs.API', 'InspectRepo'): RepoInfo.SerializeToString,
      ('pfs.API', 'ListBranch'): Branches.SerializeToString,
      ('pfs.API', 'ListCommit'): CommitInfos.SerializeToString,
      ('pfs.API', 'ListFile'): FileInfos.SerializeToString,
      ('pfs.API', 'ListRepo'): RepoInfos.SerializeToString,
      ('pfs.API', 'PutFile'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'SetBranch'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'StartCommit'): Commit.SerializeToString,
      ('pfs.API', 'SubscribeCommit'): CommitInfo.SerializeToString,
    }
    method_implementations = {
      ('pfs.API', 'BuildCommit'): face_utilities.unary_unary_inline(servicer.BuildCommit),
      ('pfs.API', 'CreateRepo'): face_utilities.unary_unary_inline(servicer.CreateRepo),
      ('pfs.API', 'DeleteAll'): face_utilities.unary_unary_inline(servicer.DeleteAll),
      ('pfs.API', 'DeleteBranch'): face_utilities.unary_unary_inline(servicer.DeleteBranch),
      ('pfs.API', 'DeleteCommit'): face_utilities.unary_unary_inline(servicer.DeleteCommit),
      ('pfs.API', 'DeleteFile'): face_utilities.unary_unary_inline(servicer.DeleteFile),
      ('pfs.API', 'DeleteRepo'): face_utilities.unary_unary_inline(servicer.DeleteRepo),
      ('pfs.API', 'FinishCommit'): face_utilities.unary_unary_inline(servicer.FinishCommit),
      ('pfs.API', 'FlushCommit'): face_utilities.unary_stream_inline(servicer.FlushCommit),
      ('pfs.API', 'GetFile'): face_utilities.unary_stream_inline(servicer.GetFile),
      ('pfs.API', 'GlobFile'): face_utilities.unary_unary_inline(servicer.GlobFile),
      ('pfs.API', 'InspectCommit'): face_utilities.unary_unary_inline(servicer.InspectCommit),
      ('pfs.API', 'InspectFile'): face_utilities.unary_unary_inline(servicer.InspectFile),
      ('pfs.API', 'InspectRepo'): face_utilities.unary_unary_inline(servicer.InspectRepo),
      ('pfs.API', 'ListBranch'): face_utilities.unary_unary_inline(servicer.ListBranch),
      ('pfs.API', 'ListCommit'): face_utilities.unary_unary_inline(servicer.ListCommit),
      ('pfs.API', 'ListFile'): face_utilities.unary_unary_inline(servicer.ListFile),
      ('pfs.API', 'ListRepo'): face_utilities.unary_unary_inline(servicer.ListRepo),
      ('pfs.API', 'PutFile'): face_utilities.stream_unary_inline(servicer.PutFile),
      ('pfs.API', 'SetBranch'): face_utilities.unary_unary_inline(servicer.SetBranch),
      ('pfs.API', 'StartCommit'): face_utilities.unary_unary_inline(servicer.StartCommit),
      ('pfs.API', 'SubscribeCommit'): face_utilities.unary_stream_inline(servicer.SubscribeCommit),
    }
    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
    return beta_implementations.server(method_implementations, options=server_options)


  def beta_create_API_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_serializers = {
      ('pfs.API', 'BuildCommit'): BuildCommitRequest.SerializeToString,
      ('pfs.API', 'CreateRepo'): CreateRepoRequest.SerializeToString,
      ('pfs.API', 'DeleteAll'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.API', 'DeleteBranch'): DeleteBranchRequest.SerializeToString,
      ('pfs.API', 'DeleteCommit'): DeleteCommitRequest.SerializeToString,
      ('pfs.API', 'DeleteFile'): DeleteFileRequest.SerializeToString,
      ('pfs.API', 'DeleteRepo'): DeleteRepoRequest.SerializeToString,
      ('pfs.API', 'FinishCommit'): FinishCommitRequest.SerializeToString,
      ('pfs.API', 'FlushCommit'): FlushCommitRequest.SerializeToString,
      ('pfs.API', 'GetFile'): GetFileRequest.SerializeToString,
      ('pfs.API', 'GlobFile'): GlobFileRequest.SerializeToString,
      ('pfs.API', 'InspectCommit'): InspectCommitRequest.SerializeToString,
      ('pfs.API', 'InspectFile'): InspectFileRequest.SerializeToString,
      ('pfs.API', 'InspectRepo'): InspectRepoRequest.SerializeToString,
      ('pfs.API', 'ListBranch'): ListBranchRequest.SerializeToString,
      ('pfs.API', 'ListCommit'): ListCommitRequest.SerializeToString,
      ('pfs.API', 'ListFile'): ListFileRequest.SerializeToString,
      ('pfs.API', 'ListRepo'): ListRepoRequest.SerializeToString,
      ('pfs.API', 'PutFile'): PutFileRequest.SerializeToString,
      ('pfs.API', 'SetBranch'): SetBranchRequest.SerializeToString,
      ('pfs.API', 'StartCommit'): StartCommitRequest.SerializeToString,
      ('pfs.API', 'SubscribeCommit'): SubscribeCommitRequest.SerializeToString,
    }
    response_deserializers = {
      ('pfs.API', 'BuildCommit'): Commit.FromString,
      ('pfs.API', 'CreateRepo'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'DeleteAll'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'DeleteBranch'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'DeleteCommit'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'DeleteFile'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'DeleteRepo'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'FinishCommit'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'FlushCommit'): CommitInfo.FromString,
      ('pfs.API', 'GetFile'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
      ('pfs.API', 'GlobFile'): FileInfos.FromString,
      ('pfs.API', 'InspectCommit'): CommitInfo.FromString,
      ('pfs.API', 'InspectFile'): FileInfo.FromString,
      ('pfs.API', 'InspectRepo'): RepoInfo.FromString,
      ('pfs.API', 'ListBranch'): Branches.FromString,
      ('pfs.API', 'ListCommit'): CommitInfos.FromString,
      ('pfs.API', 'ListFile'): FileInfos.FromString,
      ('pfs.API', 'ListRepo'): RepoInfos.FromString,
      ('pfs.API', 'PutFile'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'SetBranch'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.API', 'StartCommit'): Commit.FromString,
      ('pfs.API', 'SubscribeCommit'): CommitInfo.FromString,
    }
    cardinalities = {
      'BuildCommit': cardinality.Cardinality.UNARY_UNARY,
      'CreateRepo': cardinality.Cardinality.UNARY_UNARY,
      'DeleteAll': cardinality.Cardinality.UNARY_UNARY,
      'DeleteBranch': cardinality.Cardinality.UNARY_UNARY,
      'DeleteCommit': cardinality.Cardinality.UNARY_UNARY,
      'DeleteFile': cardinality.Cardinality.UNARY_UNARY,
      'DeleteRepo': cardinality.Cardinality.UNARY_UNARY,
      'FinishCommit': cardinality.Cardinality.UNARY_UNARY,
      'FlushCommit': cardinality.Cardinality.UNARY_STREAM,
      'GetFile': cardinality.Cardinality.UNARY_STREAM,
      'GlobFile': cardinality.Cardinality.UNARY_UNARY,
      'InspectCommit': cardinality.Cardinality.UNARY_UNARY,
      'InspectFile': cardinality.Cardinality.UNARY_UNARY,
      'InspectRepo': cardinality.Cardinality.UNARY_UNARY,
      'ListBranch': cardinality.Cardinality.UNARY_UNARY,
      'ListCommit': cardinality.Cardinality.UNARY_UNARY,
      'ListFile': cardinality.Cardinality.UNARY_UNARY,
      'ListRepo': cardinality.Cardinality.UNARY_UNARY,
      'PutFile': cardinality.Cardinality.STREAM_UNARY,
      'SetBranch': cardinality.Cardinality.UNARY_UNARY,
      'StartCommit': cardinality.Cardinality.UNARY_UNARY,
      'SubscribeCommit': cardinality.Cardinality.UNARY_STREAM,
    }
    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
    return beta_implementations.dynamic_stub(channel, 'pfs.API', cardinalities, options=stub_options)


  class BetaObjectAPIServicer(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    def PutObject(self, request_iterator, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GetObject(self, request, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GetObjects(self, request, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def TagObject(self, request, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def InspectObject(self, request, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GetTag(self, request, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def InspectTag(self, request, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def Compact(self, request, context):
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaObjectAPIStub(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    def PutObject(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    PutObject.future = None
    def GetObject(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    def GetObjects(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    def TagObject(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    TagObject.future = None
    def InspectObject(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    InspectObject.future = None
    def GetTag(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    def InspectTag(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    InspectTag.future = None
    def Compact(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      raise NotImplementedError()
    Compact.future = None


  def beta_create_ObjectAPI_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_deserializers = {
      ('pfs.ObjectAPI', 'Compact'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.ObjectAPI', 'GetObject'): Object.FromString,
      ('pfs.ObjectAPI', 'GetObjects'): GetObjectsRequest.FromString,
      ('pfs.ObjectAPI', 'GetTag'): Tag.FromString,
      ('pfs.ObjectAPI', 'InspectObject'): Object.FromString,
      ('pfs.ObjectAPI', 'InspectTag'): Tag.FromString,
      ('pfs.ObjectAPI', 'PutObject'): PutObjectRequest.FromString,
      ('pfs.ObjectAPI', 'TagObject'): TagObjectRequest.FromString,
    }
    response_serializers = {
      ('pfs.ObjectAPI', 'Compact'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.ObjectAPI', 'GetObject'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
      ('pfs.ObjectAPI', 'GetObjects'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
      ('pfs.ObjectAPI', 'GetTag'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.SerializeToString,
      ('pfs.ObjectAPI', 'InspectObject'): ObjectInfo.SerializeToString,
      ('pfs.ObjectAPI', 'InspectTag'): ObjectInfo.SerializeToString,
      ('pfs.ObjectAPI', 'PutObject'): Object.SerializeToString,
      ('pfs.ObjectAPI', 'TagObject'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
    }
    method_implementations = {
      ('pfs.ObjectAPI', 'Compact'): face_utilities.unary_unary_inline(servicer.Compact),
      ('pfs.ObjectAPI', 'GetObject'): face_utilities.unary_stream_inline(servicer.GetObject),
      ('pfs.ObjectAPI', 'GetObjects'): face_utilities.unary_stream_inline(servicer.GetObjects),
      ('pfs.ObjectAPI', 'GetTag'): face_utilities.unary_stream_inline(servicer.GetTag),
      ('pfs.ObjectAPI', 'InspectObject'): face_utilities.unary_unary_inline(servicer.InspectObject),
      ('pfs.ObjectAPI', 'InspectTag'): face_utilities.unary_unary_inline(servicer.InspectTag),
      ('pfs.ObjectAPI', 'PutObject'): face_utilities.stream_unary_inline(servicer.PutObject),
      ('pfs.ObjectAPI', 'TagObject'): face_utilities.unary_unary_inline(servicer.TagObject),
    }
    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
    return beta_implementations.server(method_implementations, options=server_options)


  def beta_create_ObjectAPI_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_serializers = {
      ('pfs.ObjectAPI', 'Compact'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('pfs.ObjectAPI', 'GetObject'): Object.SerializeToString,
      ('pfs.ObjectAPI', 'GetObjects'): GetObjectsRequest.SerializeToString,
      ('pfs.ObjectAPI', 'GetTag'): Tag.SerializeToString,
      ('pfs.ObjectAPI', 'InspectObject'): Object.SerializeToString,
      ('pfs.ObjectAPI', 'InspectTag'): Tag.SerializeToString,
      ('pfs.ObjectAPI', 'PutObject'): PutObjectRequest.SerializeToString,
      ('pfs.ObjectAPI', 'TagObject'): TagObjectRequest.SerializeToString,
    }
    response_deserializers = {
      ('pfs.ObjectAPI', 'Compact'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('pfs.ObjectAPI', 'GetObject'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
      ('pfs.ObjectAPI', 'GetObjects'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
      ('pfs.ObjectAPI', 'GetTag'): google_dot_protobuf_dot_wrappers__pb2.BytesValue.FromString,
      ('pfs.ObjectAPI', 'InspectObject'): ObjectInfo.FromString,
      ('pfs.ObjectAPI', 'InspectTag'): ObjectInfo.FromString,
      ('pfs.ObjectAPI', 'PutObject'): Object.FromString,
      ('pfs.ObjectAPI', 'TagObject'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
    }
    cardinalities = {
      'Compact': cardinality.Cardinality.UNARY_UNARY,
      'GetObject': cardinality.Cardinality.UNARY_STREAM,
      'GetObjects': cardinality.Cardinality.UNARY_STREAM,
      'GetTag': cardinality.Cardinality.UNARY_STREAM,
      'InspectObject': cardinality.Cardinality.UNARY_UNARY,
      'InspectTag': cardinality.Cardinality.UNARY_UNARY,
      'PutObject': cardinality.Cardinality.STREAM_UNARY,
      'TagObject': cardinality.Cardinality.UNARY_UNARY,
    }
    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
    return beta_implementations.dynamic_stub(channel, 'pfs.ObjectAPI', cardinalities, options=stub_options)
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
