Generated by Cython 0.21.1

Raw output: utils.pxi

 001: from cpython cimport *
 002: from libc.stdint cimport *
 003: 
 004: # {{{ definitions
 005: 
 006: cdef extern from "bytearrayobject.h":
 007: 
 008:     ctypedef class __builtin__.bytearray [object PyByteArrayObject]:
 009:         cdef Py_ssize_t ob_alloc
 010:         cdef char *ob_bytes
 011:         cdef Py_ssize_t ob_size
 012: 
 013: cdef extern from "Python.h":
 014:     Py_ssize_t PyByteArray_GET_SIZE(object array)
 015:     object PyUnicode_FromStringAndSize(char *buff, Py_ssize_t len)
 016: 
+017: ctypedef object(*Decoder)(char **pointer, char *end)
typedef PyObject *(*__pyx_t_9cprotobuf_8internal_Decoder)(char **, char *);
+018: ctypedef object(*Encoder)(Field _f, bytearray array, object value)
typedef PyObject *(*__pyx_t_9cprotobuf_8internal_Encoder)(struct __pyx_obj_9cprotobuf_8internal_Field *, PyByteArrayObject *, PyObject *);
 019: 
+020: class InternalDecodeError(Exception):
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_Exception);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception);
  __Pyx_GIVEREF(__pyx_builtin_Exception);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_InternalDecodeError, __pyx_n_s_InternalDecodeError, (PyObject *) NULL, __pyx_n_s_cprotobuf_internal, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_InternalDecodeError, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_InternalDecodeError, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 021:     pass
 022: 
+023: cdef inline object makeDecodeError(char* pointer, message):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_makeDecodeError(char *__pyx_v_pointer, PyObject *__pyx_v_message) {
  uint64_t __pyx_v_locator;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("makeDecodeError", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("cprotobuf.internal.makeDecodeError", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+024:     cdef uint64_t locator = <uint64_t>pointer
  __pyx_v_locator = ((uint64_t)__pyx_v_pointer);
+025:     return InternalDecodeError(locator, message)
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_InternalDecodeError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_locator); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
      __pyx_t_5 = 1;
    }
  }
  __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  if (__pyx_t_4) {
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
  }
  PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_v_message);
  PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_message);
  __Pyx_GIVEREF(__pyx_v_message);
  __pyx_t_3 = 0;
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;
 026: 
+027: class DecodeError(Exception):
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_builtin_Exception);
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception);
  __Pyx_GIVEREF(__pyx_builtin_Exception);
  __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_DecodeError, __pyx_n_s_DecodeError, (PyObject *) NULL, __pyx_n_s_cprotobuf_internal, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
/* … */
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_DecodeError, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DecodeError, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+028:     def __init__(self, pointer, message):
/* Python wrapper */
static PyObject *__pyx_pw_9cprotobuf_8internal_11DecodeError_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_9cprotobuf_8internal_11DecodeError_1__init__ = {"__init__", (PyCFunction)__pyx_pw_9cprotobuf_8internal_11DecodeError_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9cprotobuf_8internal_11DecodeError_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_pointer = 0;
  PyObject *__pyx_v_message = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_pointer,&__pyx_n_s_message,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_pointer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_self = values[0];
    __pyx_v_pointer = values[1];
    __pyx_v_message = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("cprotobuf.internal.DecodeError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9cprotobuf_8internal_11DecodeError___init__(__pyx_self, __pyx_v_self, __pyx_v_pointer, __pyx_v_message);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9cprotobuf_8internal_11DecodeError___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_pointer, PyObject *__pyx_v_message) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.DecodeError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__5 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_pointer, __pyx_n_s_message); if (unlikely(!__pyx_tuple__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_tuple__5);
  __Pyx_GIVEREF(__pyx_tuple__5);
/* … */
  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_9cprotobuf_8internal_11DecodeError_1__init__, 0, __pyx_n_s_DecodeError___init, NULL, __pyx_n_s_cprotobuf_internal, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__5, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_yihuang_src_cprotobuf_cpro, __pyx_n_s_init, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+029:         self.pointer = pointer
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pointer, __pyx_v_pointer) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+030:         self.message = message
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_message, __pyx_v_message) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+031:     def __str__(self):
/* Python wrapper */
static PyObject *__pyx_pw_9cprotobuf_8internal_11DecodeError_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_9cprotobuf_8internal_11DecodeError_3__str__ = {"__str__", (PyCFunction)__pyx_pw_9cprotobuf_8internal_11DecodeError_3__str__, METH_O, 0};
static PyObject *__pyx_pw_9cprotobuf_8internal_11DecodeError_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_r = __pyx_pf_9cprotobuf_8internal_11DecodeError_2__str__(__pyx_self, ((PyObject *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9cprotobuf_8internal_11DecodeError_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("cprotobuf.internal.DecodeError.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* … */
  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_tuple__7);
  __Pyx_GIVEREF(__pyx_tuple__7);
/* … */
  __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_9cprotobuf_8internal_11DecodeError_3__str__, 0, __pyx_n_s_DecodeError___str, NULL, __pyx_n_s_cprotobuf_internal, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  if (PyObject_SetItem(__pyx_t_3, __pyx_n_s_str, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__7, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_yihuang_src_cprotobuf_cpro, __pyx_n_s_str, 31, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+032:         return self.message.format(self.pointer)
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pointer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_3, function);
    }
  }
  if (!__pyx_t_4) {
    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GOTREF(__pyx_t_1);
  } else {
    __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = NULL;
    PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;
 033: 
+034: cdef inline int bytearray_reserve(bytearray ba, Py_ssize_t size) except -1:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_bytearray_reserve(PyByteArrayObject *__pyx_v_ba, Py_ssize_t __pyx_v_size) {
  Py_ssize_t __pyx_v_alloc;
  void *__pyx_v_sval;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bytearray_reserve", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.bytearray_reserve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+035:     cdef Py_ssize_t alloc = ba.ob_alloc
  __pyx_t_1 = __pyx_v_ba->ob_alloc;
  __pyx_v_alloc = __pyx_t_1;
+036:     if size <= alloc:
  __pyx_t_2 = ((__pyx_v_size <= __pyx_v_alloc) != 0);
  if (__pyx_t_2) {
+037:         return 0
    __pyx_r = 0;
    goto __pyx_L0;
  }
 038: 
+039:     alloc = size + (size >> 3) + 16
  __pyx_v_alloc = ((__pyx_v_size + (__pyx_v_size >> 3)) + 16);
 040: 
+041:     cdef void *sval = PyMem_Realloc(ba.ob_bytes, alloc)
  __pyx_v_sval = PyMem_Realloc(__pyx_v_ba->ob_bytes, __pyx_v_alloc);
+042:     if sval == NULL:
  __pyx_t_2 = ((__pyx_v_sval == NULL) != 0);
  if (__pyx_t_2) {
+043:         raise MemoryError
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
+044:     ba.ob_alloc = alloc
  __pyx_v_ba->ob_alloc = __pyx_v_alloc;
+045:     ba.ob_bytes = <char*>sval
  __pyx_v_ba->ob_bytes = ((char *)__pyx_v_sval);
+046:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 047: 
+048: cdef inline int bytearray_resize(bytearray array, Py_ssize_t size) except -1:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_bytearray_resize(PyByteArrayObject *__pyx_v_array, Py_ssize_t __pyx_v_size) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bytearray_resize", 0);
/* … */
  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.bytearray_resize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+049:     bytearray_reserve(array, size)
  __pyx_t_1 = __pyx_f_9cprotobuf_8internal_bytearray_reserve(__pyx_v_array, __pyx_v_size); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+050:     array.ob_size = size
  __pyx_v_array->ob_size = __pyx_v_size;
+051:     array.ob_bytes[size] = '\0';
  (__pyx_v_array->ob_bytes[__pyx_v_size]) = '\x00';
 052: 
 053: # }}}
 054: 
 055: # {{{ decoding
 056: 
 057: # {{{ raw stuff
 058: 
+059: cdef inline int raw_decode_uint32(char **start, char *end, uint32_t *result) nogil:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_decode_uint32(char **__pyx_v_start, char *__pyx_v_end, uint32_t *__pyx_v_result) {
  uint32_t __pyx_v_value;
  uint32_t __pyx_v_byte;
  char *__pyx_v_pointer;
  int __pyx_v_counter;
  int __pyx_r;
/* … */
  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
+060:     cdef uint32_t value = 0
  __pyx_v_value = 0;
 061:     cdef uint32_t byte
+062:     cdef char *pointer = start[0]
  __pyx_v_pointer = (__pyx_v_start[0]);
+063:     cdef int counter = 0
  __pyx_v_counter = 0;
+064:     while True:
  while (1) {
+065:         if pointer >= end:
    __pyx_t_1 = ((__pyx_v_pointer >= __pyx_v_end) != 0);
    if (__pyx_t_1) {
+066:             return -1
      __pyx_r = -1;
      goto __pyx_L0;
    }
+067:         byte = pointer[0]
    __pyx_v_byte = (__pyx_v_pointer[0]);
+068:         value |= (byte & 0x7f) << counter
    __pyx_v_value = (__pyx_v_value | ((__pyx_v_byte & 0x7f) << __pyx_v_counter));
+069:         counter+=7
    __pyx_v_counter = (__pyx_v_counter + 7);
+070:         pointer+=1
    __pyx_v_pointer = (__pyx_v_pointer + 1);
+071:         if byte & 0x80 == 0:
    __pyx_t_1 = (((__pyx_v_byte & 0x80) == 0) != 0);
    if (__pyx_t_1) {
+072:             break
      goto __pyx_L4_break;
    }
  }
  __pyx_L4_break:;
+073:     start[0] = pointer
  (__pyx_v_start[0]) = __pyx_v_pointer;
+074:     result[0] = value
  (__pyx_v_result[0]) = __pyx_v_value;
+075:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 076: 
+077: cdef inline int raw_decode_uint64(char **start, char *end, uint64_t *result) nogil:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_decode_uint64(char **__pyx_v_start, char *__pyx_v_end, uint64_t *__pyx_v_result) {
  uint64_t __pyx_v_value;
  uint64_t __pyx_v_byte;
  char *__pyx_v_pointer;
  int __pyx_v_counter;
  int __pyx_r;
/* … */
  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
+078:     cdef uint64_t value = 0
  __pyx_v_value = 0;
 079:     cdef uint64_t byte
+080:     cdef char *pointer = start[0]
  __pyx_v_pointer = (__pyx_v_start[0]);
+081:     cdef int counter = 0
  __pyx_v_counter = 0;
 082: 
+083:     while True:
  while (1) {
+084:         if pointer >= end:
    __pyx_t_1 = ((__pyx_v_pointer >= __pyx_v_end) != 0);
    if (__pyx_t_1) {
+085:             return -1
      __pyx_r = -1;
      goto __pyx_L0;
    }
+086:         byte = pointer[0]
    __pyx_v_byte = (__pyx_v_pointer[0]);
+087:         value |= (byte & 0x7f) << counter
    __pyx_v_value = (__pyx_v_value | ((__pyx_v_byte & 0x7f) << __pyx_v_counter));
+088:         counter+=7
    __pyx_v_counter = (__pyx_v_counter + 7);
+089:         pointer+=1
    __pyx_v_pointer = (__pyx_v_pointer + 1);
+090:         if byte & 0x80 == 0:
    __pyx_t_1 = (((__pyx_v_byte & 0x80) == 0) != 0);
    if (__pyx_t_1) {
+091:             break
      goto __pyx_L4_break;
    }
  }
  __pyx_L4_break:;
+092:     start[0] = pointer
  (__pyx_v_start[0]) = __pyx_v_pointer;
+093:     result[0] = value
  (__pyx_v_result[0]) = __pyx_v_value;
+094:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 095: 
+096: cdef inline int raw_decode_fixed32(char **pointer, char *end, uint32_t *result) nogil:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_decode_fixed32(char **__pyx_v_pointer, char *__pyx_v_end, uint32_t *__pyx_v_result) {
  uint32_t __pyx_v_value;
  char *__pyx_v_start;
  int __pyx_v_i;
  int __pyx_r;
/* … */
  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
+097:     cdef uint32_t value = 0
  __pyx_v_value = 0;
+098:     cdef char *start = pointer[0]
  __pyx_v_start = (__pyx_v_pointer[0]);
 099:     cdef int i
 100: 
+101:     for i from 0 <= i < 4:
  for (__pyx_v_i = 0; __pyx_v_i < 4; __pyx_v_i++) {
+102:         if start == end:
    __pyx_t_1 = ((__pyx_v_start == __pyx_v_end) != 0);
    if (__pyx_t_1) {
+103:             return -1
      __pyx_r = -1;
      goto __pyx_L0;
    }
+104:         value |= <unsigned char>start[0] << (i * 8)
    __pyx_v_value = (__pyx_v_value | (((unsigned char)(__pyx_v_start[0])) << (__pyx_v_i * 8)));
+105:         start += 1
    __pyx_v_start = (__pyx_v_start + 1);
  }
+106:     pointer[0] = start
  (__pyx_v_pointer[0]) = __pyx_v_start;
+107:     result[0] = value
  (__pyx_v_result[0]) = __pyx_v_value;
+108:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 109: 
+110: cdef inline int raw_decode_fixed64(char **pointer, char *end, uint64_t *result) nogil:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_decode_fixed64(char **__pyx_v_pointer, char *__pyx_v_end, uint64_t *__pyx_v_result) {
  uint64_t __pyx_v_value;
  char *__pyx_v_start;
  uint64_t __pyx_v_temp;
  int __pyx_v_i;
  int __pyx_r;
/* … */
  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
+111:     cdef uint64_t value = 0
  __pyx_v_value = 0;
+112:     cdef char *start = pointer[0]
  __pyx_v_start = (__pyx_v_pointer[0]);
+113:     cdef uint64_t temp = 0
  __pyx_v_temp = 0;
 114:     cdef int i
+115:     for i from 0 <= i < 8:
  for (__pyx_v_i = 0; __pyx_v_i < 8; __pyx_v_i++) {
+116:         if start == end:
    __pyx_t_1 = ((__pyx_v_start == __pyx_v_end) != 0);
    if (__pyx_t_1) {
+117:             return -1
      __pyx_r = -1;
      goto __pyx_L0;
    }
+118:         temp = <unsigned char>start[0]
    __pyx_v_temp = ((unsigned char)(__pyx_v_start[0]));
+119:         value |= temp << (i * 8)
    __pyx_v_value = (__pyx_v_value | (__pyx_v_temp << (__pyx_v_i * 8)));
+120:         start += 1
    __pyx_v_start = (__pyx_v_start + 1);
  }
+121:     pointer[0] = start
  (__pyx_v_pointer[0]) = __pyx_v_start;
+122:     result[0] = value
  (__pyx_v_result[0]) = __pyx_v_value;
+123:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 124: 
+125: cdef inline int raw_decode_delimited(char **pointer, char *end, char **result, uint64_t *size) nogil:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_decode_delimited(char **__pyx_v_pointer, char *__pyx_v_end, char **__pyx_v_result, uint64_t *__pyx_v_size) {
  char *__pyx_v_start;
  int __pyx_r;
/* … */
  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
+126:     if raw_decode_uint64(pointer, end, size):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint64(__pyx_v_pointer, __pyx_v_end, __pyx_v_size) != 0);
  if (__pyx_t_1) {
+127:         return -1
    __pyx_r = -1;
    goto __pyx_L0;
  }
 128: 
+129:     cdef char* start = pointer[0]
  __pyx_v_start = (__pyx_v_pointer[0]);
+130:     if start+size[0] > end:
  __pyx_t_1 = (((__pyx_v_start + (__pyx_v_size[0])) > __pyx_v_end) != 0);
  if (__pyx_t_1) {
+131:         return -2
    __pyx_r = -2;
    goto __pyx_L0;
  }
 132: 
+133:     result[0] = start
  (__pyx_v_result[0]) = __pyx_v_start;
+134:     pointer[0] = start+size[0]
  (__pyx_v_pointer[0]) = (__pyx_v_start + (__pyx_v_size[0]));
+135:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 136: 
+137: cdef inline int skip_unknown_field(char **pointer, char *end, int wtype) nogil:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_skip_unknown_field(char **__pyx_v_pointer, char *__pyx_v_end, int __pyx_v_wtype) {
  uint32_t __pyx_v_size;
  char *__pyx_v_start;
  int __pyx_r;
/* … */
  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
 138:     cdef uint32_t size
 139:     cdef char* start
+140:     if wtype == 0:
    case 0:
+141:         start = pointer[0]
    __pyx_v_start = (__pyx_v_pointer[0]);
+142:         while True:
    while (1) {
+143:             if start >= end:
      __pyx_t_1 = ((__pyx_v_start >= __pyx_v_end) != 0);
      if (__pyx_t_1) {
+144:                 return -1
        __pyx_r = -1;
        goto __pyx_L0;
      }
+145:             if start[0] & 0x80 == 0:
      __pyx_t_1 = ((((__pyx_v_start[0]) & 0x80) == 0) != 0);
      if (__pyx_t_1) {
+146:                 break
        goto __pyx_L4_break;
      }
+147:             start += 1
      __pyx_v_start = (__pyx_v_start + 1);
    }
    __pyx_L4_break:;
+148:         pointer[0] = start + 1
    (__pyx_v_pointer[0]) = (__pyx_v_start + 1);
    break;
+149:     elif wtype == 1:
    case 1:
+150:         pointer[0] += 8
    __pyx_t_2 = 0;
    (__pyx_v_pointer[__pyx_t_2]) = ((__pyx_v_pointer[__pyx_t_2]) + 8);
    break;
+151:     elif wtype == 2:
    case 2:
+152:         if raw_decode_uint32(pointer, end, &size):
    __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint32(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_size)) != 0);
    if (__pyx_t_1) {
+153:             return -1
      __pyx_r = -1;
      goto __pyx_L0;
    }
+154:         if pointer[0]+size > end:
    __pyx_t_1 = ((((__pyx_v_pointer[0]) + __pyx_v_size) > __pyx_v_end) != 0);
    if (__pyx_t_1) {
+155:             return -1
      __pyx_r = -1;
      goto __pyx_L0;
    }
+156:         pointer[0] += size
    __pyx_t_2 = 0;
    (__pyx_v_pointer[__pyx_t_2]) = ((__pyx_v_pointer[__pyx_t_2]) + __pyx_v_size);
    break;
+157:     elif wtype == 5:
  switch (__pyx_v_wtype) {
/* … */
    case 5:
+158:         pointer[0] += 4
    __pyx_t_2 = 0;
    (__pyx_v_pointer[__pyx_t_2]) = ((__pyx_v_pointer[__pyx_t_2]) + 4);
    break;
    default:
 159:     else:
+160:         return -1
    __pyx_r = -1;
    goto __pyx_L0;
    break;
  }
+161:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 162: 
 163: # }}}
 164: 
+165: cdef object decode_uint32(char **pointer, char *end):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_uint32(char **__pyx_v_pointer, char *__pyx_v_end) {
  uint32_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_uint32", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_uint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 166:     cdef uint32_t result
+167:     if raw_decode_uint32(pointer, end, &result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint32(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_result)) != 0);
  if (__pyx_t_1) {
+168:         raise makeDecodeError(pointer[0], "Can't decode value of type `uint32` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_uint3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 169: 
+170:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 171: 
+172: cdef object decode_uint64(char **pointer, char *end):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_uint64(char **__pyx_v_pointer, char *__pyx_v_end) {
  uint64_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_uint64", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_uint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 173:     cdef uint64_t result
+174:     if raw_decode_uint64(pointer, end, &result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint64(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_result)) != 0);
  if (__pyx_t_1) {
+175:         raise makeDecodeError(pointer[0], "Can't decode value of type `uint64` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_uint6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 176: 
+177:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 178: 
+179: cdef object decode_int32(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_int32(char **__pyx_v_pointer, char *__pyx_v_end) {
  int32_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_int32", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_int32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 180:     cdef int32_t result
+181:     if raw_decode_uint32(pointer, end, <uint32_t*>&result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint32(__pyx_v_pointer, __pyx_v_end, ((uint32_t *)(&__pyx_v_result))) != 0);
  if (__pyx_t_1) {
+182:         raise makeDecodeError(pointer[0], "Can't decode value of type `int32` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_int32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 183: 
+184:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int32_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 185: 
+186: cdef object decode_int64(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_int64(char **__pyx_v_pointer, char *__pyx_v_end) {
  int64_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_int64", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_int64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 187:     cdef int64_t result
+188:     if raw_decode_uint64(pointer, end, <uint64_t*>&result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint64(__pyx_v_pointer, __pyx_v_end, ((uint64_t *)(&__pyx_v_result))) != 0);
  if (__pyx_t_1) {
+189:         raise makeDecodeError(pointer[0], "Can't decode value of type `int64` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_int64); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 190: 
+191:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 192: 
+193: cdef object decode_sint32(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_sint32(char **__pyx_v_pointer, char *__pyx_v_end) {
  uint32_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_sint32", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_sint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 194:     cdef uint32_t result
+195:     if raw_decode_uint32(pointer, end, &result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint32(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_result)) != 0);
  if (__pyx_t_1) {
+196:         raise makeDecodeError(pointer[0], "Can't decode value of type `sint32` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_sint3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 197: 
+198:     return <int32_t>((result >> 1) ^ (-<int32_t>(result & 1)))
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int32_t(((int32_t)((__pyx_v_result >> 1) ^ (-((int32_t)(__pyx_v_result & 1)))))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 199: 
+200: cdef object decode_sint64(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_sint64(char **__pyx_v_pointer, char *__pyx_v_end) {
  uint64_t __pyx_v_un;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_sint64", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_sint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 201:     cdef uint64_t un
+202:     if raw_decode_uint64(pointer, end, &un):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_uint64(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_un)) != 0);
  if (__pyx_t_1) {
+203:         raise makeDecodeError(pointer[0], "Can't decode value of type `sint64` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_sint6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 204: 
+205:     return <int64_t>((un >> 1) ^ (-<int64_t>(un & 1)))
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int64_t(((int64_t)((__pyx_v_un >> 1) ^ (-((int64_t)(__pyx_v_un & 1)))))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 206: 
+207: cdef object decode_fixed32(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_fixed32(char **__pyx_v_pointer, char *__pyx_v_end) {
  uint32_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_fixed32", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_fixed32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 208:     cdef uint32_t result
+209:     if raw_decode_fixed32(pointer, end, &result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_fixed32(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_result)) != 0);
  if (__pyx_t_1) {
+210:         raise makeDecodeError(pointer[0], "Can't decode value of type `fixed32` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_fixed); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 211: 
+212:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 213: 
+214: cdef object decode_fixed64(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_fixed64(char **__pyx_v_pointer, char *__pyx_v_end) {
  uint64_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_fixed64", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_fixed64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 215:     cdef uint64_t result
+216:     if raw_decode_fixed64(pointer, end, &result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_fixed64(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_result)) != 0);
  if (__pyx_t_1) {
+217:         raise makeDecodeError(pointer[0], "Can't decode value of type `fixed64` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_fixed_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 218: 
+219:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 220: 
+221: cdef object decode_sfixed32(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_sfixed32(char **__pyx_v_pointer, char *__pyx_v_end) {
  int32_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_sfixed32", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_sfixed32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 222:     cdef int32_t result
+223:     if raw_decode_fixed32(pointer, end, <uint32_t*>&result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_fixed32(__pyx_v_pointer, __pyx_v_end, ((uint32_t *)(&__pyx_v_result))) != 0);
  if (__pyx_t_1) {
+224:         raise makeDecodeError(pointer[0], "Can't decode value of type `sfixed32` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_sfixe); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 225: 
+226:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int32_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 227: 
+228: cdef object decode_sfixed64(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_sfixed64(char **__pyx_v_pointer, char *__pyx_v_end) {
  int64_t __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_sfixed64", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_sfixed64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 229:     cdef int64_t result
+230:     if raw_decode_fixed64(pointer, end, <uint64_t*>&result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_fixed64(__pyx_v_pointer, __pyx_v_end, ((uint64_t *)(&__pyx_v_result))) != 0);
  if (__pyx_t_1) {
+231:         raise makeDecodeError(pointer[0], "Can't decode value of type `sfixed64` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_sfixe_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 232: 
+233:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 234: 
+235: cdef object decode_bytes(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_bytes(char **__pyx_v_pointer, char *__pyx_v_end) {
  char *__pyx_v_result;
  uint64_t __pyx_v_size;
  int __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_bytes", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cprotobuf.internal.decode_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 236:     cdef char *result
 237:     cdef uint64_t size
+238:     cdef int ret = raw_decode_delimited(pointer, end, &result, &size)
  __pyx_v_ret = __pyx_f_9cprotobuf_8internal_raw_decode_delimited(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_result), (&__pyx_v_size));
+239:     if ret==0:
  __pyx_t_1 = ((__pyx_v_ret == 0) != 0);
  if (__pyx_t_1) {
+240:         return PyBytes_FromStringAndSize(result, size)
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyBytes_FromStringAndSize(__pyx_v_result, __pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }
 241: 
+242:     if ret == -1:
    case -1:
+243:         raise makeDecodeError(pointer[0], "Can't decode size for value of type `bytes` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_size_for_value_of_t); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    break;
+244:     elif ret == -2:
  switch (__pyx_v_ret) {
/* … */
    case -2:
+245:         raise makeDecodeError(pointer[0], "Can't decode value of type `bytes` of size %d at [{0}]" % size)
    __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Can_t_decode_value_of_type_bytes, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    break;
    default: break;
  }
 246: 
 247: 
+248: cdef object decode_string(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_string(char **__pyx_v_pointer, char *__pyx_v_end) {
  char *__pyx_v_result;
  uint64_t __pyx_v_size;
  int __pyx_v_ret;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_string", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cprotobuf.internal.decode_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 249:     cdef char *result
 250:     cdef uint64_t size
+251:     cdef int ret = raw_decode_delimited(pointer, end, &result, &size)
  __pyx_v_ret = __pyx_f_9cprotobuf_8internal_raw_decode_delimited(__pyx_v_pointer, __pyx_v_end, (&__pyx_v_result), (&__pyx_v_size));
+252:     if ret==0:
  __pyx_t_1 = ((__pyx_v_ret == 0) != 0);
  if (__pyx_t_1) {
+253:         return PyUnicode_FromStringAndSize(result, size)
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyUnicode_FromStringAndSize(__pyx_v_result, __pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }
 254: 
+255:     if ret == -1:
    case -1:
+256:         raise makeDecodeError(pointer[0], "Can't decode size for value of type `string` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_size_for_value_of_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    break;
+257:     elif ret == -2:
  switch (__pyx_v_ret) {
/* … */
    case -2:
+258:         raise makeDecodeError(pointer[0], "Can't decode value of type `string` of size %d at [{0}]" % size)
    __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Can_t_decode_value_of_type_strin, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    break;
    default: break;
  }
 259: 
+260: cdef object decode_float(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_float(char **__pyx_v_pointer, char *__pyx_v_end) {
  float __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_float", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 261:     cdef float result
+262:     if raw_decode_fixed32(pointer, end, <uint32_t*>&result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_fixed32(__pyx_v_pointer, __pyx_v_end, ((uint32_t *)(&__pyx_v_result))) != 0);
  if (__pyx_t_1) {
+263:         raise makeDecodeError(pointer[0], "Can't decode value of type `float` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_float); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 264: 
+265:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 266: 
+267: cdef object decode_double(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_double(char **__pyx_v_pointer, char *__pyx_v_end) {
  double __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_double", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cprotobuf.internal.decode_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 268:     cdef double result
+269:     if raw_decode_fixed64(pointer, end, <uint64_t*>&result):
  __pyx_t_1 = (__pyx_f_9cprotobuf_8internal_raw_decode_fixed64(__pyx_v_pointer, __pyx_v_end, ((uint64_t *)(&__pyx_v_result))) != 0);
  if (__pyx_t_1) {
+270:         raise makeDecodeError(pointer[0], "Can't decode value of type `double` at [{0}]")
    __pyx_t_2 = __pyx_f_9cprotobuf_8internal_makeDecodeError((__pyx_v_pointer[0]), __pyx_kp_s_Can_t_decode_value_of_type_doubl); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
 271: 
+272:     return result
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;
 273: 
+274: cdef object decode_bool(char **pointer, char *end, ):
static PyObject *__pyx_f_9cprotobuf_8internal_decode_bool(char **__pyx_v_pointer, CYTHON_UNUSED char *__pyx_v_end) {
  char *__pyx_v_start;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("decode_bool", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("cprotobuf.internal.decode_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+275:     cdef char* start = pointer[0]
  __pyx_v_start = (__pyx_v_pointer[0]);
+276:     pointer[0] = start + 1
  (__pyx_v_pointer[0]) = (__pyx_v_start + 1);
 277: 
+278:     return <bint>start[0]
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(((__pyx_v_start[0]) != 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;
 279: 
 280: # }}}
 281: 
 282: # {{{ encoding
 283: 
+284: cdef inline int raw_encode_uint32(bytearray array, uint32_t n) except -1:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_encode_uint32(PyByteArrayObject *__pyx_v_array, uint32_t __pyx_v_n) {
  unsigned short __pyx_v_rem;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_buff;
  Py_ssize_t __pyx_v_ss;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("raw_encode_uint32", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.raw_encode_uint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 285:     cdef unsigned short int rem
+286:     cdef Py_ssize_t size = PyByteArray_GET_SIZE(array)
  __pyx_v_size = PyByteArray_GET_SIZE(((PyObject *)__pyx_v_array));
+287:     bytearray_reserve(array, size + 10)
  __pyx_t_1 = __pyx_f_9cprotobuf_8internal_bytearray_reserve(__pyx_v_array, (__pyx_v_size + 10)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+288:     cdef char *buff = array.ob_bytes + size
  __pyx_v_buff = (__pyx_v_array->ob_bytes + __pyx_v_size);
 289: 
+290:     if 0!=n:
  __pyx_t_2 = ((0 != __pyx_v_n) != 0);
  if (__pyx_t_2) {
+291:         while True:
    while (1) {
+292:             rem = <char>(n & 0x7f)
      __pyx_v_rem = ((char)(__pyx_v_n & 0x7f));
+293:             n = n>>7
      __pyx_v_n = (__pyx_v_n >> 7);
+294:             if 0==n:
      __pyx_t_2 = ((0 == __pyx_v_n) != 0);
      if (__pyx_t_2) {
+295:                 buff[0] = <char> rem
        (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+296:                 buff+=1
        __pyx_v_buff = (__pyx_v_buff + 1);
+297:                 break
        goto __pyx_L5_break;
      }
      /*else*/ {
 298:             else:
+299:                 rem = rem | 0x80
        __pyx_v_rem = (__pyx_v_rem | 0x80);
+300:                 buff[0] = <char> rem
        (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+301:                 buff+=1
        __pyx_v_buff = (__pyx_v_buff + 1);
      }
    }
    __pyx_L5_break:;
    goto __pyx_L3;
  }
  /*else*/ {
 302:     else:
+303:         buff[0] = '\0'
    (__pyx_v_buff[0]) = '\x00';
+304:         buff+=1
    __pyx_v_buff = (__pyx_v_buff + 1);
  }
  __pyx_L3:;
 305: 
+306:     cdef Py_ssize_t ss = buff - array.ob_bytes
  __pyx_v_ss = (__pyx_v_buff - __pyx_v_array->ob_bytes);
+307:     array.ob_size = ss
  __pyx_v_array->ob_size = __pyx_v_ss;
+308:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 309: 
+310: cdef inline encode_uint32(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_uint32(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_uint32", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_uint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+311:     raw_encode_uint32(array, value)
  __pyx_t_1 = __Pyx_PyInt_As_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_uint32(__pyx_v_array, __pyx_t_1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 312: 
+313: cdef inline encode_int32(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_int32(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  int32_t __pyx_v_n;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_int32", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_int32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+314:     cdef int32_t n = value
  __pyx_t_1 = __Pyx_PyInt_As_int32_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (int32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_n = __pyx_t_1;
+315:     raw_encode_uint32(array, <uint32_t>n)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_uint32(__pyx_v_array, ((uint32_t)__pyx_v_n)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 316: 
+317: cdef inline encode_sint32(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_sint32(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  int32_t __pyx_v_n;
  uint32_t __pyx_v_un;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_sint32", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_sint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+318:     cdef int32_t n = value
  __pyx_t_1 = __Pyx_PyInt_As_int32_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (int32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_n = __pyx_t_1;
+319:     cdef uint32_t un = (n << 1) ^ (n >> 31)
  __pyx_v_un = ((__pyx_v_n << 1) ^ (__pyx_v_n >> 31));
 320: 
+321:     raw_encode_uint32(array, un)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_uint32(__pyx_v_array, __pyx_v_un); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 322: 
+323: cdef inline int raw_encode_uint64(bytearray array, uint64_t n) except -1:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_encode_uint64(PyByteArrayObject *__pyx_v_array, uint64_t __pyx_v_n) {
  unsigned short __pyx_v_rem;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_buff;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("raw_encode_uint64", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.raw_encode_uint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 324:     cdef unsigned short int rem
+325:     cdef Py_ssize_t size = PyByteArray_GET_SIZE(array)
  __pyx_v_size = PyByteArray_GET_SIZE(((PyObject *)__pyx_v_array));
+326:     bytearray_reserve(array, size + 20)
  __pyx_t_1 = __pyx_f_9cprotobuf_8internal_bytearray_reserve(__pyx_v_array, (__pyx_v_size + 20)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+327:     cdef char *buff = array.ob_bytes + size
  __pyx_v_buff = (__pyx_v_array->ob_bytes + __pyx_v_size);
 328: 
+329:     if 0!=n:
  __pyx_t_2 = ((0 != __pyx_v_n) != 0);
  if (__pyx_t_2) {
+330:         while True:
    while (1) {
+331:             rem = <char>(n & 0x7f)
      __pyx_v_rem = ((char)(__pyx_v_n & 0x7f));
+332:             n = n>>7
      __pyx_v_n = (__pyx_v_n >> 7);
+333:             if 0==n:
      __pyx_t_2 = ((0 == __pyx_v_n) != 0);
      if (__pyx_t_2) {
+334:                 buff[0] = <char> rem
        (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+335:                 buff+=1
        __pyx_v_buff = (__pyx_v_buff + 1);
+336:                 break
        goto __pyx_L5_break;
      }
      /*else*/ {
 337:             else:
+338:                 rem = rem | 0x80
        __pyx_v_rem = (__pyx_v_rem | 0x80);
+339:                 buff[0] = <char> rem
        (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+340:                 buff+=1
        __pyx_v_buff = (__pyx_v_buff + 1);
      }
    }
    __pyx_L5_break:;
    goto __pyx_L3;
  }
  /*else*/ {
 341:     else:
+342:         buff[0] = '\0'
    (__pyx_v_buff[0]) = '\x00';
+343:         buff+=1
    __pyx_v_buff = (__pyx_v_buff + 1);
  }
  __pyx_L3:;
+344:     array.ob_size = buff - array.ob_bytes
  __pyx_v_array->ob_size = (__pyx_v_buff - __pyx_v_array->ob_bytes);
+345:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 346: 
+347: cdef inline encode_uint64(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_uint64(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_uint64", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_uint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+348:     raw_encode_uint64(array, value)
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_uint64(__pyx_v_array, __pyx_t_1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 349: 
+350: cdef inline encode_int64(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_int64(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  int64_t __pyx_v_n;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_int64", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_int64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+351:     cdef int64_t n = value
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_n = __pyx_t_1;
+352:     raw_encode_uint64(array, <uint64_t>n)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_uint64(__pyx_v_array, ((uint64_t)__pyx_v_n)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 353: 
+354: cdef inline encode_sint64(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_sint64(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  int64_t __pyx_v_n;
  uint64_t __pyx_v_un;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_sint64", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_sint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+355:     cdef int64_t n = value
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_n = __pyx_t_1;
+356:     cdef uint64_t un = (n<<1) ^ (n>>63)
  __pyx_v_un = ((__pyx_v_n << 1) ^ (__pyx_v_n >> 63));
+357:     raw_encode_uint64(array, un)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_uint64(__pyx_v_array, __pyx_v_un); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 358: 
+359: cdef inline int raw_encode_fixed32(bytearray array, uint32_t n) except -1:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_encode_fixed32(PyByteArrayObject *__pyx_v_array, uint32_t __pyx_v_n) {
  unsigned short __pyx_v_rem;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_buff;
  CYTHON_UNUSED int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("raw_encode_fixed32", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.raw_encode_fixed32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 360:     cdef unsigned short int rem
+361:     cdef Py_ssize_t size = PyByteArray_GET_SIZE(array)
  __pyx_v_size = PyByteArray_GET_SIZE(((PyObject *)__pyx_v_array));
+362:     bytearray_resize(array, size + 4)
  __pyx_t_1 = __pyx_f_9cprotobuf_8internal_bytearray_resize(__pyx_v_array, (__pyx_v_size + 4)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+363:     cdef char *buff = array.ob_bytes + size
  __pyx_v_buff = (__pyx_v_array->ob_bytes + __pyx_v_size);
 364:     cdef int i
 365: 
+366:     for i from 0 <= i < 4:
  for (__pyx_v_i = 0; __pyx_v_i < 4; __pyx_v_i++) {
+367:         rem = n & 0xff
    __pyx_v_rem = (__pyx_v_n & 0xff);
+368:         n = n >> 8
    __pyx_v_n = (__pyx_v_n >> 8);
+369:         buff[0] = <char> rem
    (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+370:         buff += 1
    __pyx_v_buff = (__pyx_v_buff + 1);
  }
 371: 
+372:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 373: 
+374: cdef inline encode_fixed32(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_fixed32(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_fixed32", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_fixed32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+375:     raw_encode_fixed32(array, value)
  __pyx_t_1 = __Pyx_PyInt_As_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_fixed32(__pyx_v_array, __pyx_t_1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 376: 
+377: cdef inline encode_sfixed32(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_sfixed32(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  int32_t __pyx_v_n;
  unsigned short __pyx_v_rem;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_buff;
  CYTHON_UNUSED int __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_sfixed32", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_sfixed32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+378:     cdef int32_t n = value
  __pyx_t_1 = __Pyx_PyInt_As_int32_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (int32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_n = __pyx_t_1;
 379:     cdef unsigned short int rem
+380:     cdef Py_ssize_t size = PyByteArray_GET_SIZE(array)
  __pyx_v_size = PyByteArray_GET_SIZE(((PyObject *)__pyx_v_array));
+381:     bytearray_resize(array, size + 4)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_bytearray_resize(__pyx_v_array, (__pyx_v_size + 4)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+382:     cdef char *buff = array.ob_bytes + size
  __pyx_v_buff = (__pyx_v_array->ob_bytes + __pyx_v_size);
 383:     cdef int i
 384: 
+385:     for i from 0 <= i < 4:
  for (__pyx_v_i = 0; __pyx_v_i < 4; __pyx_v_i++) {
+386:         rem = n & 0xff
    __pyx_v_rem = (__pyx_v_n & 0xff);
+387:         n = n >> 8
    __pyx_v_n = (__pyx_v_n >> 8);
+388:         buff[0] = <char> rem
    (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+389:         buff += 1
    __pyx_v_buff = (__pyx_v_buff + 1);
  }
 390: 
+391: cdef inline int raw_encode_fixed64(bytearray array, uint64_t n) except -1:
static CYTHON_INLINE int __pyx_f_9cprotobuf_8internal_raw_encode_fixed64(PyByteArrayObject *__pyx_v_array, uint64_t __pyx_v_n) {
  unsigned short __pyx_v_rem;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_buff;
  CYTHON_UNUSED int __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("raw_encode_fixed64", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.raw_encode_fixed64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 392:     cdef unsigned short int rem
+393:     cdef Py_ssize_t size = PyByteArray_GET_SIZE(array)
  __pyx_v_size = PyByteArray_GET_SIZE(((PyObject *)__pyx_v_array));
+394:     bytearray_resize(array, size + 8)
  __pyx_t_1 = __pyx_f_9cprotobuf_8internal_bytearray_resize(__pyx_v_array, (__pyx_v_size + 8)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+395:     cdef char *buff = array.ob_bytes + size
  __pyx_v_buff = (__pyx_v_array->ob_bytes + __pyx_v_size);
 396:     cdef int i
 397: 
+398:     for i from 0 <= i < 8:
  for (__pyx_v_i = 0; __pyx_v_i < 8; __pyx_v_i++) {
+399:         rem = n & 0xff
    __pyx_v_rem = (__pyx_v_n & 0xff);
+400:         n = n >> 8
    __pyx_v_n = (__pyx_v_n >> 8);
+401:         buff[0] = <char> rem
    (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+402:         buff += 1
    __pyx_v_buff = (__pyx_v_buff + 1);
  }
 403: 
+404:     return 0
  __pyx_r = 0;
  goto __pyx_L0;
 405: 
+406: cdef inline encode_fixed64(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_fixed64(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_fixed64", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_fixed64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+407:     raw_encode_fixed64(array, value)
  __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (uint64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_fixed64(__pyx_v_array, __pyx_t_1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 408: 
+409: cdef inline encode_sfixed64(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_sfixed64(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  int64_t __pyx_v_n;
  unsigned short __pyx_v_rem;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_buff;
  CYTHON_UNUSED int __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_sfixed64", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_sfixed64", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+410:     cdef int64_t n = value
  __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_value); if (unlikely((__pyx_t_1 == (int64_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_n = __pyx_t_1;
 411:     cdef unsigned short int rem
+412:     cdef Py_ssize_t size = PyByteArray_GET_SIZE(array)
  __pyx_v_size = PyByteArray_GET_SIZE(((PyObject *)__pyx_v_array));
+413:     bytearray_resize(array, size + 8)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_bytearray_resize(__pyx_v_array, (__pyx_v_size + 8)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+414:     cdef char *buff = array.ob_bytes + size
  __pyx_v_buff = (__pyx_v_array->ob_bytes + __pyx_v_size);
 415:     cdef int i
 416: 
+417:     for i from 0 <= i < 8:
  for (__pyx_v_i = 0; __pyx_v_i < 8; __pyx_v_i++) {
+418:         rem = n & 0xff
    __pyx_v_rem = (__pyx_v_n & 0xff);
+419:         n = n >> 8
    __pyx_v_n = (__pyx_v_n >> 8);
+420:         buff[0] = <char> rem
    (__pyx_v_buff[0]) = ((char)__pyx_v_rem);
+421:         buff += 1
    __pyx_v_buff = (__pyx_v_buff + 1);
  }
 422: 
+423: cdef inline encode_bytes(Field _f, bytearray array, object n):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_bytes(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_n) {
  Py_ssize_t __pyx_v_len;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_bytes", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cprotobuf.internal.encode_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+424:     cdef Py_ssize_t len = PySequence_Length(n)
  __pyx_t_1 = PySequence_Length(__pyx_v_n); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_len = __pyx_t_1;
+425:     raw_encode_uint64(array, len)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_uint64(__pyx_v_array, __pyx_v_len); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+426:     PySequence_InPlaceConcat(array, n)
  __pyx_t_3 = PySequence_InPlaceConcat(((PyObject *)__pyx_v_array), __pyx_v_n); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 427: 
+428: cdef inline encode_string(Field _f, bytearray array, object n):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_string(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_n) {
  Py_ssize_t __pyx_v_len;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_string", 0);
  __Pyx_INCREF(__pyx_v_n);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cprotobuf.internal.encode_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+429:     if isinstance(n, unicode):
  __pyx_t_1 = PyUnicode_Check(__pyx_v_n); 
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {
+430:         n = PyUnicode_AsUTF8String(n)
    __pyx_t_3 = PyUnicode_AsUTF8String(__pyx_v_n); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF_SET(__pyx_v_n, __pyx_t_3);
    __pyx_t_3 = 0;
    goto __pyx_L3;
  }
  __pyx_L3:;
+431:     cdef Py_ssize_t len = PySequence_Length(n)
  __pyx_t_4 = PySequence_Length(__pyx_v_n); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_len = __pyx_t_4;
+432:     raw_encode_uint64(array, len)
  __pyx_t_5 = __pyx_f_9cprotobuf_8internal_raw_encode_uint64(__pyx_v_array, __pyx_v_len); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+433:     PySequence_InPlaceConcat(array, n)
  __pyx_t_3 = PySequence_InPlaceConcat(((PyObject *)__pyx_v_array), __pyx_v_n); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 434: 
+435: cdef inline encode_bool(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_bool(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  int __pyx_v_b;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_buff;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_bool", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+436:     cdef bint b = value
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_b = __pyx_t_1;
+437:     cdef Py_ssize_t size = PyByteArray_GET_SIZE(array)
  __pyx_v_size = PyByteArray_GET_SIZE(((PyObject *)__pyx_v_array));
+438:     bytearray_resize(array, size + 1)
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_bytearray_resize(__pyx_v_array, (__pyx_v_size + 1)); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+439:     cdef char *buff = array.ob_bytes + size
  __pyx_v_buff = (__pyx_v_array->ob_bytes + __pyx_v_size);
+440:     buff[0] = b
  (__pyx_v_buff[0]) = __pyx_v_b;
 441: 
+442: cdef inline encode_float(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_float(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  float __pyx_v_f;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_float", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+443:     cdef float f = value
  __pyx_t_1 = __pyx_PyFloat_AsFloat(__pyx_v_value); if (unlikely((__pyx_t_1 == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_f = __pyx_t_1;
+444:     raw_encode_fixed32(array, (<uint32_t*>&f)[0])
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_fixed32(__pyx_v_array, (((uint32_t *)(&__pyx_v_f))[0])); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 445: 
+446: cdef inline encode_double(Field _f, bytearray array, object value):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_double(CYTHON_UNUSED struct __pyx_obj_9cprotobuf_8internal_Field *__pyx_v__f, PyByteArrayObject *__pyx_v_array, PyObject *__pyx_v_value) {
  double __pyx_v_d;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_double", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_double", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+447:     cdef double d = value
  __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_d = __pyx_t_1;
+448:     raw_encode_fixed64(array, (<uint64_t*>&d)[0])
  __pyx_t_2 = __pyx_f_9cprotobuf_8internal_raw_encode_fixed64(__pyx_v_array, (((uint64_t *)(&__pyx_v_d))[0])); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 449: 
+450: cdef inline encode_type(bytearray array, unsigned char wire_type, uint32_t index):
static CYTHON_INLINE PyObject *__pyx_f_9cprotobuf_8internal_encode_type(PyByteArrayObject *__pyx_v_array, unsigned char __pyx_v_wire_type, uint32_t __pyx_v_index) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("encode_type", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("cprotobuf.internal.encode_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+451:     raw_encode_uint32(array, index<<3|wire_type)
  __pyx_t_1 = __pyx_f_9cprotobuf_8internal_raw_encode_uint32(__pyx_v_array, ((__pyx_v_index << 3) | __pyx_v_wire_type)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 452: 
 453: # }}}