/* Generated by Cython 0.29.25 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "define_macros": [
            [
                "H5_USE_18_API",
                null
            ],
            [
                "NPY_NO_DEPRECATED_API",
                0
            ]
        ],
        "depends": [
            "/pub/devel/python/python-h5py/python-h5py-3.6.0-1.x86_64/build/lzf/lzf_filter.h",
            "/usr/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h",
            "/usr/lib/python3.7/site-packages/numpy/core/include/numpy/arrayscalars.h",
            "/usr/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h",
            "/usr/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h",
            "/usr/lib/python3.7/site-packages/numpy/core/include/numpy/ufuncobject.h",
            "h5py/api_compat.h"
        ],
        "include_dirs": [
            "./h5py",
            "/pub/devel/python/python-h5py/python-h5py-3.6.0-1.x86_64/build/lzf",
            "/pub/devel/python/python-h5py/python-h5py-3.6.0-1.x86_64/build/lzf/lzf",
            "/usr/lib/python3.7/site-packages/numpy/core/include"
        ],
        "libraries": [
            "hdf5",
            "hdf5_hl"
        ],
        "name": "h5py.h5p",
        "sources": [
            "/pub/devel/python/python-h5py/python-h5py-3.6.0-1.x86_64/build/h5py/h5p.pyx"
        ]
    },
    "module_name": "h5py.h5p"
}
END: Cython Metadata */

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
    #error Cython requires Python 2.6+ or Python 3.3+.
#else
#define CYTHON_ABI "0_29_25"
#define CYTHON_HEX_VERSION 0x001D19F0
#define CYTHON_FUTURE_DIVISION 1
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef HAVE_LONG_LONG
  #if PY_VERSION_HEX >= 0x02070000
    #define HAVE_LONG_LONG
  #endif
#endif
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #if PY_VERSION_HEX < 0x03050000
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
#elif defined(PYSTON_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_ASYNC_SLOTS
  #define CYTHON_USE_ASYNC_SLOTS 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_PYSTON 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #ifndef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 0
  #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
    #define CYTHON_USE_PYTYPE_LOOKUP 1
  #endif
  #if PY_MAJOR_VERSION < 3
    #undef CYTHON_USE_ASYNC_SLOTS
    #define CYTHON_USE_ASYNC_SLOTS 0
  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
    #define CYTHON_USE_ASYNC_SLOTS 1
  #endif
  #if PY_VERSION_HEX < 0x02070000
    #undef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
    #undef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #elif !defined(CYTHON_USE_UNICODE_WRITER)
    #define CYTHON_USE_UNICODE_WRITER 1
  #endif
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030B00A1)
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
  #endif
  #ifndef CYTHON_USE_DICT_VERSIONS
    #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
  #endif
  #ifndef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
  #endif
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #if PY_MAJOR_VERSION < 3
    #include "longintrepr.h"
  #endif
  #undef SHIFT
  #undef BASE
  #undef MASK
  #ifdef SIZEOF_VOID_P
    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
  #endif
#endif
#ifndef __has_attribute
  #define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
  #define __has_cpp_attribute(x) 0
#endif
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER) && _MSC_VER >= 1400
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
    #ifndef _MSC_STDINT_H_
        #if _MSC_VER < 1300
           typedef unsigned char     uint8_t;
           typedef unsigned int      uint32_t;
        #else
           typedef unsigned __int8   uint8_t;
           typedef unsigned __int32  uint32_t;
        #endif
    #endif
#else
   #include <stdint.h>
#endif
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus) && __cplusplus >= 201103L
    #if __has_cpp_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH [[fallthrough]]
    #elif __has_cpp_attribute(clang::fallthrough)
      #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
    #elif __has_cpp_attribute(gnu::fallthrough)
      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__ ) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif

#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #elif defined(__GNUC__)
    #define CYTHON_INLINE __inline__
  #elif defined(_MSC_VER)
    #define CYTHON_INLINE __inline
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_INLINE inline
  #else
    #define CYTHON_INLINE
  #endif
#endif

#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  #define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  #define __Pyx_DefaultClassType PyClass_Type
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_DefaultClassType PyType_Type
#if PY_VERSION_HEX >= 0x030B00A1
    static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f,
                                                    PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                                    PyObject *fv, PyObject *cell, PyObject* fn,
                                                    PyObject *name, int fline, PyObject *lnos) {
        PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL;
        PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL;
        const char *fn_cstr=NULL;
        const char *name_cstr=NULL;
        PyCodeObject* co=NULL;
        PyObject *type, *value, *traceback;
        PyErr_Fetch(&type, &value, &traceback);
        if (!(kwds=PyDict_New())) goto end;
        if (!(argcount=PyLong_FromLong(a))) goto end;
        if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end;
        if (!(posonlyargcount=PyLong_FromLong(0))) goto end;
        if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end;
        if (!(kwonlyargcount=PyLong_FromLong(k))) goto end;
        if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end;
        if (!(nlocals=PyLong_FromLong(l))) goto end;
        if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end;
        if (!(stacksize=PyLong_FromLong(s))) goto end;
        if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end;
        if (!(flags=PyLong_FromLong(f))) goto end;
        if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end;
        if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end;
        if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end;
        if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end;
        if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end;
        if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too;
        if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here
        if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too;
        Py_XDECREF((PyObject*)co);
        co = (PyCodeObject*)call_result;
        call_result = NULL;
        if (0) {
            cleanup_code_too:
            Py_XDECREF((PyObject*)co);
            co = NULL;
        }
        end:
        Py_XDECREF(kwds);
        Py_XDECREF(argcount);
        Py_XDECREF(posonlyargcount);
        Py_XDECREF(kwonlyargcount);
        Py_XDECREF(nlocals);
        Py_XDECREF(stacksize);
        Py_XDECREF(replace);
        Py_XDECREF(call_result);
        Py_XDECREF(empty);
        if (type) {
            PyErr_Restore(type, value, traceback);
        }
        return co;
    }
#else
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
  #define __Pyx_DefaultClassType PyType_Type
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef METH_STACKLESS
  #define METH_STACKLESS 0
#endif
#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
  #ifndef METH_FASTCALL
     #define METH_FASTCALL 0x80
  #endif
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
                                                          Py_ssize_t nargs, PyObject *kwnames);
#else
  #define __Pyx_PyCFunctionFast _PyCFunctionFast
  #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
#endif
#if CYTHON_FAST_PYCCALL
#define __Pyx_PyFastCFunction_Check(func)\
    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
#else
#define __Pyx_PyFastCFunction_Check(func) 0
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
  #define PyObject_Malloc(s)   PyMem_Malloc(s)
  #define PyObject_Free(p)     PyMem_Free(p)
  #define PyObject_Realloc(p)  PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
  #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
  #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
  #define PyMem_RawFree(p)             PyMem_Free(p)
#endif
#if CYTHON_COMPILING_IN_PYSTON
  #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x03060000
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_Current
#endif
#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
#include "pythread.h"
#define Py_tss_NEEDS_INIT 0
typedef int Py_tss_t;
static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
  *key = PyThread_create_key();
  return 0;
}
static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
  *key = Py_tss_NEEDS_INIT;
  return key;
}
static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
  PyObject_Free(key);
}
static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
  return *key != Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
  PyThread_delete_key(*key);
  *key = Py_tss_NEEDS_INIT;
}
static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
  return PyThread_set_key_value(*key, value);
}
static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
  return PyThread_get_key_value(*key);
}
#endif
#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
#else
#define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #if defined(PyUnicode_IS_READY)
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #else
  #define __Pyx_PyUnicode_READY(op)       (0)
  #endif
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
  #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
  #else
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
  #endif
  #else
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
  #endif
#else
  #define CYTHON_PEP393_ENABLED 0
  #define PyUnicode_1BYTE_KIND  1
  #define PyUnicode_2BYTE_KIND  2
  #define PyUnicode_4BYTE_KIND  4
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
  #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
#else
  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
  #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
  #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
  #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
#endif
#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
#else
  #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  #define PyObject_ASCII(o)            PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#ifndef PyObject_Unicode
  #define PyObject_Unicode             PyObject_Str
#endif
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif
#if PY_VERSION_HEX >= 0x030900A4
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
#else
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
#else
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  #define PyNumber_Int                 PyNumber_Long
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  #ifndef PyUnicode_InternFromString
    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  #endif
#endif
#if PY_VERSION_HEX < 0x030200A4
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsHash_t
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   __Pyx_PyIndex_AsSsize_t
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
#else
  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
#endif
#if CYTHON_USE_ASYNC_SLOTS
  #if PY_VERSION_HEX >= 0x030500B1
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
    #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  #else
    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  #endif
#else
  #define __Pyx_PyType_AsAsync(obj) NULL
#endif
#ifndef __Pyx_PyAsyncMethodsStruct
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
    } __Pyx_PyAsyncMethodsStruct;
#endif

#if defined(WIN32) || defined(MS_WINDOWS)
  #define _USE_MATH_DEFINES
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif

#define __PYX_MARK_ERR_POS(f_index, lineno) \
    { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
#define __PYX_ERR(f_index, lineno, Ln_error) \
    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#define __PYX_HAVE__h5py__h5p
#define __PYX_HAVE_API__h5py__h5p
/* Early includes */
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include <time.h>
#include <stdio.h>
#include "numpy/arrayobject.h"
#include "numpy/ndarrayobject.h"
#include "numpy/ndarraytypes.h"
#include "numpy/arrayscalars.h"
#include "numpy/ufuncobject.h"

    /* NumPy API declarations from "numpy/__init__.pxd" */
    
#include "unistd.h"
#include "api_compat.h"
#include "lzf_filter.h"
#include "H5Cpublic.h"
#include "hdf5.h"
#include "hdf5_hl.h"
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
#define CYTHON_WITHOUT_ASSERTIONS
#endif

typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
    (sizeof(type) < sizeof(Py_ssize_t))  ||\
    (sizeof(type) > sizeof(Py_ssize_t) &&\
          likely(v < (type)PY_SSIZE_T_MAX ||\
                 v == (type)PY_SSIZE_T_MAX)  &&\
          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
                                v == (type)PY_SSIZE_T_MIN)))  ||\
    (sizeof(type) == sizeof(Py_ssize_t) &&\
          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                               v == (type)PY_SSIZE_T_MAX)))  )
static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
    return (size_t) i < (size_t) limit;
}
#if defined (__cplusplus) && __cplusplus >= 201103L
    #include <cstdlib>
    #define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER)
    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
    #define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
    const Py_UNICODE *u_end = u;
    while (*u_end++) ;
    return (size_t)(u_end - u - 1);
}
#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
#define __Pyx_PySequence_Tuple(obj)\
    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    const char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    if (strcmp(default_encoding_c, "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (!ascii_chars_u) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
        Py_DECREF(ascii_chars_u);
        Py_DECREF(ascii_chars_b);
    }
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params(void) {
    PyObject* sys;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (!sys) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    Py_DECREF(sys);
    if (!default_encoding) goto bad;
    default_encoding_c = PyBytes_AsString(default_encoding);
    if (!default_encoding_c) goto bad;
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
    if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#endif


/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }

static PyObject *__pyx_m = NULL;
static PyObject *__pyx_d;
static PyObject *__pyx_b;
static PyObject *__pyx_cython_runtime = NULL;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static PyObject *__pyx_empty_unicode;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;

/* Header.proto */
#if !defined(CYTHON_CCOMPLEX)
  #if defined(__cplusplus)
    #define CYTHON_CCOMPLEX 1
  #elif defined(_Complex_I)
    #define CYTHON_CCOMPLEX 1
  #else
    #define CYTHON_CCOMPLEX 0
  #endif
#endif
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #include <complex>
  #else
    #include <complex.h>
  #endif
#endif
#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
  #undef _Complex_I
  #define _Complex_I 1.0fj
#endif


static const char *__pyx_f[] = {
  "h5py/h5p.pyx",
  "stringsource",
  "__init__.pxd",
  "type.pxd",
  "h5py/h5t.pxd",
  "h5py/h5s.pxd",
  "h5py/h5ac.pxd",
};

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":690
 * # in Cython to enable them only on the right systems.
 * 
 * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t
 */
typedef npy_int8 __pyx_t_5numpy_int8_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":691
 * 
 * ctypedef npy_int8       int8_t
 * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int32      int32_t
 * ctypedef npy_int64      int64_t
 */
typedef npy_int16 __pyx_t_5numpy_int16_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":692
 * ctypedef npy_int8       int8_t
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int64      int64_t
 * #ctypedef npy_int96      int96_t
 */
typedef npy_int32 __pyx_t_5numpy_int32_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":693
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t
 * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
 * #ctypedef npy_int96      int96_t
 * #ctypedef npy_int128     int128_t
 */
typedef npy_int64 __pyx_t_5numpy_int64_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":697
 * #ctypedef npy_int128     int128_t
 * 
 * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t
 */
typedef npy_uint8 __pyx_t_5numpy_uint8_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":698
 * 
 * ctypedef npy_uint8      uint8_t
 * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint32     uint32_t
 * ctypedef npy_uint64     uint64_t
 */
typedef npy_uint16 __pyx_t_5numpy_uint16_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":699
 * ctypedef npy_uint8      uint8_t
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint64     uint64_t
 * #ctypedef npy_uint96     uint96_t
 */
typedef npy_uint32 __pyx_t_5numpy_uint32_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":700
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t
 * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
 * #ctypedef npy_uint96     uint96_t
 * #ctypedef npy_uint128    uint128_t
 */
typedef npy_uint64 __pyx_t_5numpy_uint64_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":704
 * #ctypedef npy_uint128    uint128_t
 * 
 * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_float64    float64_t
 * #ctypedef npy_float80    float80_t
 */
typedef npy_float32 __pyx_t_5numpy_float32_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":705
 * 
 * ctypedef npy_float32    float32_t
 * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
 * #ctypedef npy_float80    float80_t
 * #ctypedef npy_float128   float128_t
 */
typedef npy_float64 __pyx_t_5numpy_float64_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":714
 * # The int types are mapped a bit surprising --
 * # numpy.int corresponds to 'l' and numpy.long to 'q'
 * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
 * ctypedef npy_longlong   long_t
 * ctypedef npy_longlong   longlong_t
 */
typedef npy_long __pyx_t_5numpy_int_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":715
 * # numpy.int corresponds to 'l' and numpy.long to 'q'
 * ctypedef npy_long       int_t
 * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
 * ctypedef npy_longlong   longlong_t
 * 
 */
typedef npy_longlong __pyx_t_5numpy_long_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":716
 * ctypedef npy_long       int_t
 * ctypedef npy_longlong   long_t
 * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_ulong      uint_t
 */
typedef npy_longlong __pyx_t_5numpy_longlong_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":718
 * ctypedef npy_longlong   longlong_t
 * 
 * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
 * ctypedef npy_ulonglong  ulong_t
 * ctypedef npy_ulonglong  ulonglong_t
 */
typedef npy_ulong __pyx_t_5numpy_uint_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":719
 * 
 * ctypedef npy_ulong      uint_t
 * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
 * ctypedef npy_ulonglong  ulonglong_t
 * 
 */
typedef npy_ulonglong __pyx_t_5numpy_ulong_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":720
 * ctypedef npy_ulong      uint_t
 * ctypedef npy_ulonglong  ulong_t
 * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_intp       intp_t
 */
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":722
 * ctypedef npy_ulonglong  ulonglong_t
 * 
 * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uintp      uintp_t
 * 
 */
typedef npy_intp __pyx_t_5numpy_intp_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":723
 * 
 * ctypedef npy_intp       intp_t
 * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_double     float_t
 */
typedef npy_uintp __pyx_t_5numpy_uintp_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":725
 * ctypedef npy_uintp      uintp_t
 * 
 * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
 * ctypedef npy_double     double_t
 * ctypedef npy_longdouble longdouble_t
 */
typedef npy_double __pyx_t_5numpy_float_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":726
 * 
 * ctypedef npy_double     float_t
 * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
 * ctypedef npy_longdouble longdouble_t
 * 
 */
typedef npy_double __pyx_t_5numpy_double_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":727
 * ctypedef npy_double     float_t
 * ctypedef npy_double     double_t
 * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_cfloat      cfloat_t
 */
typedef npy_longdouble __pyx_t_5numpy_longdouble_t;

/* "api_types_ext.pxd":20
 * from libc.string cimport strlen, strchr, strcpy, strncpy, strcmp,\
 *                          strdup, strdup, memcpy, memset
 * ctypedef long size_t             # <<<<<<<<<<<<<<
 * from libc.time cimport time_t
 * 
 */
typedef long __pyx_t_4h5py_13api_types_ext_size_t;
/* Declarations.proto */
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    typedef ::std::complex< float > __pyx_t_float_complex;
  #else
    typedef float _Complex __pyx_t_float_complex;
  #endif
#else
    typedef struct { float real, imag; } __pyx_t_float_complex;
#endif
static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);

/* Declarations.proto */
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    typedef ::std::complex< double > __pyx_t_double_complex;
  #else
    typedef double _Complex __pyx_t_double_complex;
  #endif
#else
    typedef struct { double real, imag; } __pyx_t_double_complex;
#endif
static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);


/*--- Type declarations ---*/
struct __pyx_obj_4h5py_8_objects_ObjectID;
struct __pyx_obj_4h5py_3h5t_TypeID;
struct __pyx_obj_4h5py_3h5t_TypeArrayID;
struct __pyx_obj_4h5py_3h5t_TypeOpaqueID;
struct __pyx_obj_4h5py_3h5t_TypeStringID;
struct __pyx_obj_4h5py_3h5t_TypeVlenID;
struct __pyx_obj_4h5py_3h5t_TypeTimeID;
struct __pyx_obj_4h5py_3h5t_TypeBitfieldID;
struct __pyx_obj_4h5py_3h5t_TypeReferenceID;
struct __pyx_obj_4h5py_3h5t_TypeAtomicID;
struct __pyx_obj_4h5py_3h5t_TypeIntegerID;
struct __pyx_obj_4h5py_3h5t_TypeFloatID;
struct __pyx_obj_4h5py_3h5t_TypeCompositeID;
struct __pyx_obj_4h5py_3h5t_TypeEnumID;
struct __pyx_obj_4h5py_3h5t_TypeCompoundID;
struct __pyx_obj_4h5py_3h5s_SpaceID;
struct __pyx_obj_4h5py_4h5ac_CacheConfig;
struct __pyx_obj_4h5py_3h5p_PropID;
struct __pyx_obj_4h5py_3h5p_PropClassID;
struct __pyx_obj_4h5py_3h5p_PropInstanceID;
struct __pyx_obj_4h5py_3h5p_PropCreateID;
struct __pyx_obj_4h5py_3h5p_PropCopyID;
struct __pyx_obj_4h5py_3h5p_PropOCID;
struct __pyx_obj_4h5py_3h5p_PropDCID;
struct __pyx_obj_4h5py_3h5p_PropFCID;
struct __pyx_obj_4h5py_3h5p_PropFAID;
struct __pyx_obj_4h5py_3h5p_PropDXID;
struct __pyx_obj_4h5py_3h5p_PropDAID;
struct __pyx_obj_4h5py_3h5p_PropLCID;
struct __pyx_obj_4h5py_3h5p_PropLAID;
struct __pyx_obj_4h5py_3h5p_PropGCID;
struct __pyx_obj_4h5py_3h5p_PropTCID;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":729
 * ctypedef npy_longdouble longdouble_t
 * 
 * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
 * ctypedef npy_cdouble     cdouble_t
 * ctypedef npy_clongdouble clongdouble_t
 */
typedef npy_cfloat __pyx_t_5numpy_cfloat_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":730
 * 
 * ctypedef npy_cfloat      cfloat_t
 * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
 * ctypedef npy_clongdouble clongdouble_t
 * 
 */
typedef npy_cdouble __pyx_t_5numpy_cdouble_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":731
 * ctypedef npy_cfloat      cfloat_t
 * ctypedef npy_cdouble     cdouble_t
 * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_cdouble     complex_t
 */
typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":733
 * ctypedef npy_clongdouble clongdouble_t
 * 
 * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew1(a):
 */
typedef npy_cdouble __pyx_t_5numpy_complex_t;
struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
struct __pyx_opt_args_4h5py_5utils_check_numpy_write;

/* "utils.pxd":16
 * cdef void efree(void* ptr)
 * 
 * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
 * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
 * 
 */
struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
  int __pyx_n;
  hid_t space_id;
};

/* "utils.pxd":17
 * 
 * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
 * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
 * 
 * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
 */
struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
  int __pyx_n;
  hid_t space_id;
};
struct __pyx_opt_args_4h5py_3h5t_py_create;

/* "h5t.pxd":72
 * cdef hid_t H5PY_OBJ
 * cdef char* H5PY_PYTHON_OPAQUE_TAG
 * cpdef TypeID py_create(object dtype, bint logical=*, bint aligned=*)             # <<<<<<<<<<<<<<
 */
struct __pyx_opt_args_4h5py_3h5t_py_create {
  int __pyx_n;
  int logical;
  int aligned;
};

/* "_objects.pxd":12
 * from .defs cimport *
 * 
 * cdef class ObjectID:             # <<<<<<<<<<<<<<
 * 
 *     cdef object __weakref__
 */
struct __pyx_obj_4h5py_8_objects_ObjectID {
  PyObject_HEAD
  PyObject *__weakref__;
  hid_t id;
  int locked;
  PyObject *_hash;
  size_t _pyid;
};


/* "h5t.pxd":15
 * from ._objects cimport class ObjectID
 * 
 * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self)
 */
struct __pyx_obj_4h5py_3h5t_TypeID {
  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
};


/* "h5t.pxd":21
 * # --- Top-level classes ---
 * 
 * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeArrayID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":24
 *     pass
 * 
 * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":27
 *     pass
 * 
 * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
 *     # Both vlen and fixed-len strings
 *     pass
 */
struct __pyx_obj_4h5py_3h5t_TypeStringID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":31
 *     pass
 * 
 * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
 *     # Non-string vlens
 *     pass
 */
struct __pyx_obj_4h5py_3h5t_TypeVlenID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":35
 *     pass
 * 
 * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeTimeID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":38
 *     pass
 * 
 * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":41
 *     pass
 * 
 * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":46
 * # --- Numeric atomic types ---
 * 
 * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":49
 *     pass
 * 
 * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
};


/* "h5t.pxd":52
 *     pass
 * 
 * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeFloatID {
  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
};


/* "h5t.pxd":57
 * # --- Enums & compound types ---
 * 
 * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
};


/* "h5t.pxd":60
 *     pass
 * 
 * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
 * 
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 */
struct __pyx_obj_4h5py_3h5t_TypeEnumID {
  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
};


/* "h5t.pxd":64
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 * 
 * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
};


/* "h5s.pxd":15
 * from ._objects cimport class ObjectID
 * 
 * cdef class SpaceID(ObjectID):             # <<<<<<<<<<<<<<
 *     pass
 */
struct __pyx_obj_4h5py_3h5s_SpaceID {
  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
};


/* "h5ac.pxd":13
 * from .defs cimport *
 * 
 * cdef class CacheConfig:             # <<<<<<<<<<<<<<
 *     cdef H5AC_cache_config_t cache_config
 */
struct __pyx_obj_4h5py_4h5ac_CacheConfig {
  PyObject_HEAD
  H5AC_cache_config_t cache_config;
};


/* "h5py/h5p.pxd":17
 * # --- Base classes ---
 * 
 * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
 *     """ Base class for all property lists """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropID {
  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
};


/* "h5py/h5p.pxd":21
 *     pass
 * 
 * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
 *     """ Represents an HDF5 property list class.  These can be either (locked)
 *         library-defined classes or user-created classes.
 */
struct __pyx_obj_4h5py_3h5p_PropClassID {
  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
};


/* "h5py/h5p.pxd":27
 *     pass
 * 
 * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
 *     """ Represents an instance of a property list class (i.e. an actual list
 *         which can be passed on to other API functions).
 */
struct __pyx_obj_4h5py_3h5p_PropInstanceID {
  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
};


/* "h5py/h5p.pxd":33
 *     pass
 * 
 * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
 *     """ Base class for all object creation lists.
 * 
 */
struct __pyx_obj_4h5py_3h5p_PropCreateID {
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
};


/* "h5py/h5p.pxd":40
 *     pass
 * 
 * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
 *     """ Property list for copying objects (as in h5o.copy) """
 * 
 */
struct __pyx_obj_4h5py_3h5p_PropCopyID {
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
};


/* "h5py/h5p.pxd":45
 * # --- Object creation ---
 * 
 * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
 *     """ Object creation property list """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropOCID {
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
};


/* "h5py/h5p.pxd":49
 *     pass
 * 
 * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
 *     """ Dataset creation property list """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropDCID {
  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
};


/* "h5py/h5p.pxd":53
 *     pass
 * 
 * cdef class PropFCID(PropOCID):             # <<<<<<<<<<<<<<
 *     """ File creation property list """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropFCID {
  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
};


/* "h5py/h5p.pxd":60
 * # --- Object access ---
 * 
 * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
 *     """ File access property list """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropFAID {
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
};


/* "h5py/h5p.pxd":64
 *     pass
 * 
 * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
 *     """ Dataset transfer property list """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropDXID {
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
};


/* "h5py/h5p.pxd":68
 *     pass
 * 
 * cdef class PropDAID(PropInstanceID):             # <<<<<<<<<<<<<<
 *     """ Dataset access property list"""
 *     cdef char* _virtual_prefix_buf
 */
struct __pyx_obj_4h5py_3h5p_PropDAID {
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
  char *_virtual_prefix_buf;
};


/* "h5py/h5p.pxd":74
 * # --- New in 1.8 ---
 * 
 * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
 *     """ Link creation property list """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropLCID {
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
};


/* "h5py/h5p.pxd":78
 *     pass
 * 
 * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
 *     """ Link access property list """
 *     cdef char* _buf
 */
struct __pyx_obj_4h5py_3h5p_PropLAID {
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
  char *_buf;
};


/* "h5py/h5p.pxd":82
 *     cdef char* _buf
 * 
 * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
 *     """ Group creation property list """
 *     pass
 */
struct __pyx_obj_4h5py_3h5p_PropGCID {
  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
};


/* "h5py/h5p.pyx":1561
 * 
 * # Datatype creation
 * cdef class PropTCID(PropOCID):             # <<<<<<<<<<<<<<
 *     """ Datatype creation property list
 * 
 */
struct __pyx_obj_4h5py_3h5p_PropTCID {
  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
};



/* "h5t.pxd":15
 * from ._objects cimport class ObjectID
 * 
 * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_dtype(self)
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;


/* "h5t.pxd":21
 * # --- Top-level classes ---
 * 
 * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;


/* "h5t.pxd":24
 *     pass
 * 
 * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;


/* "h5t.pxd":27
 *     pass
 * 
 * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
 *     # Both vlen and fixed-len strings
 *     pass
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;


/* "h5t.pxd":31
 *     pass
 * 
 * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
 *     # Non-string vlens
 *     pass
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;


/* "h5t.pxd":35
 *     pass
 * 
 * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;


/* "h5t.pxd":38
 *     pass
 * 
 * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;


/* "h5t.pxd":41
 *     pass
 * 
 * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;


/* "h5t.pxd":46
 * # --- Numeric atomic types ---
 * 
 * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;


/* "h5t.pxd":49
 *     pass
 * 
 * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;


/* "h5t.pxd":52
 *     pass
 * 
 * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;


/* "h5t.pxd":57
 * # --- Enums & compound types ---
 * 
 * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;


/* "h5t.pxd":60
 *     pass
 * 
 * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
 * 
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;


/* "h5t.pxd":64
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 * 
 * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
 *     pass
 * 
 */

struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
};
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
#ifdef WITH_THREAD
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          if (acquire_gil) {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
              PyGILState_Release(__pyx_gilstate_save);\
          } else {\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

/* PyObjectGetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

/* GetBuiltinName.proto */
static PyObject *__Pyx_GetBuiltinName(PyObject *name);

/* PyCFunctionFastCall.proto */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
#else
#define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
#endif

/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
    __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
#else
#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
#endif
#define __Pyx_BUILD_ASSERT_EXPR(cond)\
    (sizeof(char [1 - 2*!(cond)]) - 1)
#ifndef Py_MEMBER_SIZE
#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
#endif
#if CYTHON_FAST_PYCALL
  static size_t __pyx_pyframe_localsplus_offset = 0;
  #include "frameobject.h"
  #define __Pxy_PyFrame_Initialize_Offsets()\
    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
  #define __Pyx_PyFrame_GetLocalsplus(frame)\
    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
#endif // CYTHON_FAST_PYCALL
#endif

/* PyObjectCall.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
#else
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif

/* PyObjectCallMethO.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

/* PyObjectCallOneArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);

/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  PyErr_Occurred()
#endif

/* PyErrFetchRestore.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
#else
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#endif
#else
#define __Pyx_PyErr_Clear() PyErr_Clear()
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
#endif

/* RaiseException.proto */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* SwapException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* GetTopmostException.proto */
#if CYTHON_USE_EXC_INFO_STACK
static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
#endif

/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
#endif

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* PyDictVersioning.proto */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
    (version_var) = __PYX_GET_DICT_VERSION(dict);\
    (cache_var) = (value);
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
        (VAR) = __pyx_dict_cached_value;\
    } else {\
        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
    }\
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
#else
#define __PYX_GET_DICT_VERSION(dict)  (0)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
#endif

/* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name)  {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
}
#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
    PY_UINT64_T __pyx_dict_version;\
    PyObject *__pyx_dict_cached_value;\
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
}
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
#else
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
#endif

/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) {
    PyObject *res;
    PyTypeObject *tp = Py_TYPE(obj);
#if PY_MAJOR_VERSION < 3
    if (unlikely(PyInstance_Check(obj)))
        return __Pyx_PyObject_GetAttrStr(obj, attr_name);
#endif
    res = _PyType_Lookup(tp, attr_name);
    if (likely(res)) {
        descrgetfunc f = Py_TYPE(res)->tp_descr_get;
        if (!f) {
            Py_INCREF(res);
        } else {
            res = f(res, obj, (PyObject *)tp);
        }
    } else {
        PyErr_SetObject(PyExc_AttributeError, attr_name);
    }
    return res;
}
#else
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* PyObjectCallNoArg.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
#else
#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
#endif

/* PyObjectCall2Args.proto */
static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

/* PyErrExceptionMatches.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
#else
#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
#endif

/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

/* GetAttr3.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);

/* RaiseArgTupleInvalid.proto */
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);

/* RaiseDoubleKeywords.proto */
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);

/* ParseKeywords.proto */
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
    const char* function_name);

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck);

/* ListAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
        Py_INCREF(x);
        PyList_SET_ITEM(list, len, x);
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

/* decode_c_string_utf16.proto */
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 0;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = -1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}

/* decode_c_bytes.proto */
static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
         const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));

/* decode_bytes.proto */
static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
         PyObject* string, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
    return __Pyx_decode_c_bytes(
        PyBytes_AS_STRING(string), PyBytes_GET_SIZE(string),
        start, stop, encoding, errors, decode_func);
}

/* KeywordStringCheck.proto */
static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);

/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);

/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);

/* HasAttr.proto */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);

/* CallNextTpDealloc.proto */
static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);

/* CallNextTpTraverse.proto */
static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);

/* CallNextTpClear.proto */
static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);

/* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto
#define __PYX_HAVE_RT_ImportType_proto
enum __Pyx_ImportType_CheckSize {
   __Pyx_ImportType_CheckSize_Error = 0,
   __Pyx_ImportType_CheckSize_Warn = 1,
   __Pyx_ImportType_CheckSize_Ignore = 2
};
static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
#endif

/* PyObject_GenericGetAttrNoDict.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
#endif

/* PyObject_GenericGetAttr.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
#endif

/* PyObjectGetAttrStrNoError.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);

/* SetupReduce.proto */
static int __Pyx_setup_reduce(PyObject* type_obj);

/* GetVTable.proto */
static void* __Pyx_GetVtable(PyObject *dict);

/* GetNameInClass.proto */
#define __Pyx_GetNameInClass(var, nmspace, name)  (var) = __Pyx__GetNameInClass(nmspace, name)
static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name);

/* CLineInTraceback.proto */
#ifdef CYTHON_CLINE_IN_TRACEBACK
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#else
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#endif

/* CodeObjectCache.proto */
typedef struct {
    PyCodeObject* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* GCCDiagnostics.proto */
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif

/* RealImag.proto */
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #define __Pyx_CREAL(z) ((z).real())
    #define __Pyx_CIMAG(z) ((z).imag())
  #else
    #define __Pyx_CREAL(z) (__real__(z))
    #define __Pyx_CIMAG(z) (__imag__(z))
  #endif
#else
    #define __Pyx_CREAL(z) ((z).real)
    #define __Pyx_CIMAG(z) ((z).imag)
#endif
#if defined(__cplusplus) && CYTHON_CCOMPLEX\
        && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
    #define __Pyx_SET_CREAL(z,x) ((z).real(x))
    #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
#else
    #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
    #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX
    #define __Pyx_c_eq_float(a, b)   ((a)==(b))
    #define __Pyx_c_sum_float(a, b)  ((a)+(b))
    #define __Pyx_c_diff_float(a, b) ((a)-(b))
    #define __Pyx_c_prod_float(a, b) ((a)*(b))
    #define __Pyx_c_quot_float(a, b) ((a)/(b))
    #define __Pyx_c_neg_float(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
    #define __Pyx_c_conj_float(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_float(z)     (::std::abs(z))
        #define __Pyx_c_pow_float(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_float(z) ((z)==0)
    #define __Pyx_c_conj_float(z)    (conjf(z))
    #if 1
        #define __Pyx_c_abs_float(z)     (cabsf(z))
        #define __Pyx_c_pow_float(a, b)  (cpowf(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
    #if 1
        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);
        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
    #endif
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX
    #define __Pyx_c_eq_double(a, b)   ((a)==(b))
    #define __Pyx_c_sum_double(a, b)  ((a)+(b))
    #define __Pyx_c_diff_double(a, b) ((a)-(b))
    #define __Pyx_c_prod_double(a, b) ((a)*(b))
    #define __Pyx_c_quot_double(a, b) ((a)/(b))
    #define __Pyx_c_neg_double(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
    #define __Pyx_c_conj_double(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_double(z)     (::std::abs(z))
        #define __Pyx_c_pow_double(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_double(z) ((z)==0)
    #define __Pyx_c_conj_double(z)    (conj(z))
    #if 1
        #define __Pyx_c_abs_double(z)     (cabs(z))
        #define __Pyx_c_pow_double(a, b)  (cpow(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
    #if 1
        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);
        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
    #endif
#endif

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_hid_t(hid_t value);

/* CIntFromPy.proto */
static CYTHON_INLINE hid_t __Pyx_PyInt_As_hid_t(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE hsize_t __Pyx_PyInt_As_hsize_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_As_unsigned_PY_LONG_LONG(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE enum H5Z_SO_scale_type_t __Pyx_PyInt_As_enum__H5Z_SO_scale_type_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE hbool_t __Pyx_PyInt_As_hbool_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_hsize_t(hsize_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__H5F_fspace_strategy_t(enum H5F_fspace_strategy_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_hbool_t(hbool_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);

/* CIntFromPy.proto */
static CYTHON_INLINE off_t __Pyx_PyInt_As_off_t(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_off_t(off_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__H5F_close_degree_t(enum H5F_close_degree_t value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_herr_t(herr_t value);

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
#endif
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(void);

/* FunctionExport.proto */
static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);

/* VoidPtrImport.proto */
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig);

/* FunctionImport.proto */
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig);

/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);


/* Module declarations from 'libc.string' */

/* Module declarations from 'libc.stdlib' */

/* Module declarations from 'libc.stddef' */

/* Module declarations from 'libc.time' */

/* Module declarations from 'cpython.buffer' */

/* Module declarations from 'libc.stdio' */

/* Module declarations from '__builtin__' */

/* Module declarations from 'cpython.type' */
static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;

/* Module declarations from 'cpython' */

/* Module declarations from 'cpython.object' */

/* Module declarations from 'cpython.ref' */

/* Module declarations from 'cpython.mem' */

/* Module declarations from 'numpy' */

/* Module declarations from 'numpy' */
static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
static PyTypeObject *__pyx_ptype_5numpy_generic = 0;
static PyTypeObject *__pyx_ptype_5numpy_number = 0;
static PyTypeObject *__pyx_ptype_5numpy_integer = 0;
static PyTypeObject *__pyx_ptype_5numpy_signedinteger = 0;
static PyTypeObject *__pyx_ptype_5numpy_unsignedinteger = 0;
static PyTypeObject *__pyx_ptype_5numpy_inexact = 0;
static PyTypeObject *__pyx_ptype_5numpy_floating = 0;
static PyTypeObject *__pyx_ptype_5numpy_complexfloating = 0;
static PyTypeObject *__pyx_ptype_5numpy_flexible = 0;
static PyTypeObject *__pyx_ptype_5numpy_character = 0;
static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/

/* Module declarations from 'h5py.api_types_ext' */

/* Module declarations from 'h5py.api_types_hdf5' */

/* Module declarations from 'h5py.defs' */
static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/
static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_file_space_strategy)(hid_t, enum H5F_fspace_strategy_t, hbool_t, hsize_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_file_space_strategy)(hid_t, enum H5F_fspace_strategy_t *, hbool_t *, hsize_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_file_space_page_size)(hid_t, hsize_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_file_space_page_size)(hid_t, hsize_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, size_t *, size_t *, double *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_split)(hid_t, char const *, hid_t, char const *, hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_driver)(hid_t, hid_t, void *); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_mdc_config)(hid_t, H5AC_cache_config_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_mdc_config)(hid_t, H5AC_cache_config_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_file_image)(hid_t, void *, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_page_buffer_size)(hid_t, size_t, unsigned int, unsigned int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_page_buffer_size)(hid_t, size_t *, unsigned int *, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_file_locking)(hid_t, hbool_t *, hbool_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_file_locking)(hid_t, hbool_t, hbool_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/
static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/
static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/
static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_scaleoffset)(hid_t, enum H5Z_SO_scale_type_t, int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_external)(hid_t, char const *, off_t, hsize_t); /*proto*/
static int (*__pyx_f_4h5py_4defs_H5Pget_external_count)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_external)(hid_t, unsigned int, size_t, char *, off_t *, hsize_t *); /*proto*/
static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_dsetname)(hid_t, size_t, char *, size_t); /*proto*/
static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_filename)(hid_t, size_t, char *, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_count)(hid_t, size_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_virtual)(hid_t, hid_t, char const *, char const *, hid_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_vspace)(hid_t, size_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_srcspace)(hid_t, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk_cache)(hid_t, size_t, size_t, double); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_chunk_cache)(hid_t, size_t *, size_t *, double *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_virtual_view)(hid_t, H5D_vds_view_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_view)(hid_t, H5D_vds_view_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_virtual_printf_gap)(hid_t, hsize_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_printf_gap)(hid_t, hsize_t *); /*proto*/
static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_virtual_prefix)(hid_t, char *, Py_ssize_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_virtual_prefix)(hid_t, char *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/
static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/
static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_attr_creation_order)(hid_t, unsigned int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_attr_creation_order)(hid_t, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_obj_track_times)(hid_t, hbool_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_obj_track_times)(hid_t, hbool_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_attr_phase_change)(hid_t, unsigned int, unsigned int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_attr_phase_change)(hid_t, unsigned int *, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alignment)(hid_t, hsize_t, hsize_t); /*proto*/
static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alignment)(hid_t, hsize_t *, hsize_t *); /*proto*/

/* Module declarations from 'h5py._objects' */
static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;

/* Module declarations from 'cpython.long' */

/* Module declarations from 'h5py.utils' */
static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/
static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/
static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/

/* Module declarations from 'h5py.h5t' */
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
static hid_t *__pyx_vp_4h5py_3h5t_H5PY_OBJ = 0;
#define __pyx_v_4h5py_3h5t_H5PY_OBJ (*__pyx_vp_4h5py_3h5t_H5PY_OBJ)
static char **__pyx_vp_4h5py_3h5t_H5PY_PYTHON_OPAQUE_TAG = 0;
#define __pyx_v_4h5py_3h5t_H5PY_PYTHON_OPAQUE_TAG (*__pyx_vp_4h5py_3h5t_H5PY_PYTHON_OPAQUE_TAG)
static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/

/* Module declarations from 'h5py.h5s' */
static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0;

/* Module declarations from 'h5py.h5ac' */
static PyTypeObject *__pyx_ptype_4h5py_4h5ac_CacheConfig = 0;

/* Module declarations from 'h5py.h5p' */
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDAID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropTCID = 0;
static hid_t __pyx_f_4h5py_3h5p_pdefault(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p_propwrap(hid_t); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p_lockcls(hid_t); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropID__set_state(struct __pyx_obj_4h5py_3h5p_PropID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropClassID__set_state(struct __pyx_obj_4h5py_3h5p_PropClassID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropInstanceID__set_state(struct __pyx_obj_4h5py_3h5p_PropInstanceID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropCreateID__set_state(struct __pyx_obj_4h5py_3h5p_PropCreateID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropCopyID__set_state(struct __pyx_obj_4h5py_3h5p_PropCopyID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropFCID__set_state(struct __pyx_obj_4h5py_3h5p_PropFCID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropDCID__set_state(struct __pyx_obj_4h5py_3h5p_PropDCID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropFAID__set_state(struct __pyx_obj_4h5py_3h5p_PropFAID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropLCID__set_state(struct __pyx_obj_4h5py_3h5p_PropLCID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropTCID__set_state(struct __pyx_obj_4h5py_3h5p_PropTCID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropGCID__set_state(struct __pyx_obj_4h5py_3h5p_PropGCID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropOCID__set_state(struct __pyx_obj_4h5py_3h5p_PropOCID *, PyObject *); /*proto*/
static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropDXID__set_state(struct __pyx_obj_4h5py_3h5p_PropDXID *, PyObject *); /*proto*/
#define __Pyx_MODULE_NAME "h5py.h5p"
extern int __pyx_module_is_main_h5py__h5p;
int __pyx_module_is_main_h5py__h5p = 0;

/* Implementation of 'h5py.h5p' */
static PyObject *__pyx_builtin_ValueError;
static PyObject *__pyx_builtin_NotImplemented;
static PyObject *__pyx_builtin_TypeError;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_ImportError;
static const char __pyx_k_cls[] = "cls";
static const char __pyx_k_idx[] = "idx";
static const char __pyx_k_low[] = "low";
static const char __pyx_k_mdc[] = "mdc";
static const char __pyx_k_new[] = "__new__";
static const char __pyx_k_addr[] = "addr";
static const char __pyx_k_copy[] = "copy";
static const char __pyx_k_dict[] = "__dict__";
static const char __pyx_k_exit[] = "__exit__";
static const char __pyx_k_high[] = "high";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_phil[] = "phil";
static const char __pyx_k_rdcc[] = "rdcc";
static const char __pyx_k_size[] = "size";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_dtype[] = "dtype";
static const char __pyx_k_enter[] = "__enter__";
static const char __pyx_k_equal[] = "equal";
static const char __pyx_k_flags[] = "flags";
static const char __pyx_k_index[] = "index";
static const char __pyx_k_level[] = "level";
static const char __pyx_k_newid[] = "newid";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_PropID[] = "PropID";
static const char __pyx_k_create[] = "create";
static const char __pyx_k_import[] = "__import__";
static const char __pyx_k_name_2[] = "__name__";
static const char __pyx_k_offset[] = "offset";
static const char __pyx_k_pickle[] = "pickle";
static const char __pyx_k_reduce[] = "__reduce__";
static const char __pyx_k_update[] = "update";
static const char __pyx_k_values[] = "values";
static const char __pyx_k_vspace[] = "vspace";
static const char __pyx_k_DEFAULT[] = "DEFAULT";
static const char __pyx_k_fileobj[] = "fileobj";
static const char __pyx_k_logfile[] = "logfile";
static const char __pyx_k_objects[] = "_objects";
static const char __pyx_k_options[] = "options";
static const char __pyx_k_persist[] = "persist";
static const char __pyx_k_raw_ext[] = "raw_ext";
static const char __pyx_k_rdcc_w0[] = "rdcc_w0";
static const char __pyx_k_richcmp[] = "__richcmp__";
static const char __pyx_k_NO_CLASS[] = "NO_CLASS";
static const char __pyx_k_PropDAID[] = "PropDAID";
static const char __pyx_k_PropDCID[] = "PropDCID";
static const char __pyx_k_PropDXID[] = "PropDXID";
static const char __pyx_k_PropFAID[] = "PropFAID";
static const char __pyx_k_PropFCID[] = "PropFCID";
static const char __pyx_k_PropGCID[] = "PropGCID";
static const char __pyx_k_PropLAID[] = "PropLAID";
static const char __pyx_k_PropLCID[] = "PropLCID";
static const char __pyx_k_PropOCID[] = "PropOCID";
static const char __pyx_k_PropTCID[] = "PropTCID";
static const char __pyx_k_buf_size[] = "buf_size";
static const char __pyx_k_gap_size[] = "gap_size";
static const char __pyx_k_getstate[] = "__getstate__";
static const char __pyx_k_h5py_h5p[] = "h5py.h5p";
static const char __pyx_k_meta_ext[] = "meta_ext";
static const char __pyx_k_pyx_type[] = "__pyx_type";
static const char __pyx_k_set_szip[] = "set_szip";
static const char __pyx_k_setstate[] = "__setstate__";
static const char __pyx_k_strategy[] = "strategy";
static const char __pyx_k_TypeError[] = "TypeError";
static const char __pyx_k_alignment[] = "alignment";
static const char __pyx_k_driver_id[] = "driver_id";
static const char __pyx_k_get_cache[] = "get_cache";
static const char __pyx_k_get_chunk[] = "get_chunk";
static const char __pyx_k_get_sizes[] = "get_sizes";
static const char __pyx_k_memb_fapl[] = "memb_fapl";
static const char __pyx_k_memb_size[] = "memb_size";
static const char __pyx_k_min_dense[] = "min_dense";
static const char __pyx_k_pyx_state[] = "__pyx_state";
static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
static const char __pyx_k_set_cache[] = "set_cache";
static const char __pyx_k_set_chunk[] = "set_chunk";
static const char __pyx_k_set_sizes[] = "set_sizes";
static const char __pyx_k_src_space[] = "src_space";
static const char __pyx_k_threshold[] = "threshold";
static const char __pyx_k_with_phil[] = "with_phil";
static const char __pyx_k_PropCopyID[] = "PropCopyID";
static const char __pyx_k_ValueError[] = "ValueError";
static const char __pyx_k_block_size[] = "block_size";
static const char __pyx_k_get_driver[] = "get_driver";
static const char __pyx_k_get_filter[] = "get_filter";
static const char __pyx_k_get_layout[] = "get_layout";
static const char __pyx_k_get_nlinks[] = "get_nlinks";
static const char __pyx_k_has_filter[] = "_has_filter";
static const char __pyx_k_pyx_result[] = "__pyx_result";
static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
static const char __pyx_k_scale_type[] = "scale_type";
static const char __pyx_k_set_driver[] = "set_driver";
static const char __pyx_k_set_filter[] = "set_filter";
static const char __pyx_k_set_layout[] = "set_layout";
static const char __pyx_k_set_nlinks[] = "set_nlinks";
static const char __pyx_k_FILE_ACCESS[] = "FILE_ACCESS";
static const char __pyx_k_FILE_CREATE[] = "FILE_CREATE";
static const char __pyx_k_ImportError[] = "ImportError";
static const char __pyx_k_LINK_ACCESS[] = "LINK_ACCESS";
static const char __pyx_k_LINK_CREATE[] = "LINK_CREATE";
static const char __pyx_k_OBJECT_COPY[] = "OBJECT_COPY";
static const char __pyx_k_PickleError[] = "PickleError";
static const char __pyx_k_PropClassID[] = "PropClassID";
static const char __pyx_k_filter_code[] = "filter_code";
static const char __pyx_k_get_version[] = "get_version";
static const char __pyx_k_max_compact[] = "max_compact";
static const char __pyx_k_min_raw_per[] = "min_raw_per";
static const char __pyx_k_rdcc_nbytes[] = "rdcc_nbytes";
static const char __pyx_k_rdcc_nslots[] = "rdcc_nslots";
static const char __pyx_k_set_deflate[] = "set_deflate";
static const char __pyx_k_set_shuffle[] = "set_shuffle";
static const char __pyx_k_set_virtual[] = "set_virtual";
static const char __pyx_k_DATASET_XFER[] = "DATASET_XFER";
static const char __pyx_k_GROUP_CREATE[] = "GROUP_CREATE";
static const char __pyx_k_PropCreateID[] = "PropCreateID";
static const char __pyx_k_get_external[] = "get_external";
static const char __pyx_k_get_nfilters[] = "get_nfilters";
static const char __pyx_k_h5py_h5p_pyx[] = "h5py/h5p.pyx";
static const char __pyx_k_min_meta_per[] = "min_meta_per";
static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
static const char __pyx_k_raw_plist_id[] = "raw_plist_id";
static const char __pyx_k_scale_factor[] = "scale_factor";
static const char __pyx_k_set_external[] = "set_external";
static const char __pyx_k_set_fapl_log[] = "set_fapl_log";
static const char __pyx_k_stringsource[] = "stringsource";
static const char __pyx_k_OBJECT_CREATE[] = "OBJECT_CREATE";
static const char __pyx_k_backing_store[] = "backing_store";
static const char __pyx_k_get_fapl_core[] = "get_fapl_core";
static const char __pyx_k_get_fill_time[] = "get_fill_time";
static const char __pyx_k_get_userblock[] = "get_userblock";
static const char __pyx_k_meta_plist_id[] = "meta_plist_id";
static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
static const char __pyx_k_remove_filter[] = "remove_filter";
static const char __pyx_k_set_fapl_core[] = "set_fapl_core";
static const char __pyx_k_set_fapl_sec2[] = "set_fapl_sec2";
static const char __pyx_k_set_fill_time[] = "set_fill_time";
static const char __pyx_k_set_userblock[] = "set_userblock";
static const char __pyx_k_src_dset_name[] = "src_dset_name";
static const char __pyx_k_src_file_name[] = "src_file_name";
static const char __pyx_k_DATASET_ACCESS[] = "DATASET_ACCESS";
static const char __pyx_k_DATASET_CREATE[] = "DATASET_CREATE";
static const char __pyx_k_NotImplemented[] = "NotImplemented";
static const char __pyx_k_PropInstanceID[] = "PropInstanceID";
static const char __pyx_k_get_alloc_time[] = "get_alloc_time";
static const char __pyx_k_get_elink_fapl[] = "get_elink_fapl";
static const char __pyx_k_get_fill_value[] = "get_fill_value";
static const char __pyx_k_get_mdc_config[] = "get_mdc_config";
static const char __pyx_k_set_alloc_time[] = "set_alloc_time";
static const char __pyx_k_set_elink_fapl[] = "set_elink_fapl";
static const char __pyx_k_set_fapl_split[] = "set_fapl_split";
static const char __pyx_k_set_fapl_stdio[] = "set_fapl_stdio";
static const char __pyx_k_set_file_image[] = "set_file_image";
static const char __pyx_k_set_fill_value[] = "set_fill_value";
static const char __pyx_k_set_fletcher32[] = "set_fletcher32";
static const char __pyx_k_set_mdc_config[] = "set_mdc_config";
static const char __pyx_k_get_chunk_cache[] = "get_chunk_cache";
static const char __pyx_k_get_copy_object[] = "get_copy_object";
static const char __pyx_k_get_fapl_family[] = "get_fapl_family";
static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
static const char __pyx_k_set_chunk_cache[] = "set_chunk_cache";
static const char __pyx_k_set_copy_object[] = "set_copy_object";
static const char __pyx_k_set_fapl_family[] = "set_fapl_family";
static const char __pyx_k_set_scaleoffset[] = "set_scaleoffset";
static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
static const char __pyx_k_get_elink_prefix[] = "get_elink_prefix";
static const char __pyx_k_get_file_locking[] = "get_file_locking";
static const char __pyx_k_get_filter_by_id[] = "get_filter_by_id";
static const char __pyx_k_get_virtual_view[] = "get_virtual_view";
static const char __pyx_k_pixels_per_block[] = "pixels_per_block";
static const char __pyx_k_set_elink_prefix[] = "set_elink_prefix";
static const char __pyx_k_set_file_locking[] = "set_file_locking";
static const char __pyx_k_set_virtual_view[] = "set_virtual_view";
static const char __pyx_k_use_file_locking[] = "use_file_locking";
static const char __pyx_k_CRT_ORDER_INDEXED[] = "CRT_ORDER_INDEXED";
static const char __pyx_k_CRT_ORDER_TRACKED[] = "CRT_ORDER_TRACKED";
static const char __pyx_k_all_filters_avail[] = "all_filters_avail";
static const char __pyx_k_get_char_encoding[] = "get_char_encoding";
static const char __pyx_k_get_fclose_degree[] = "get_fclose_degree";
static const char __pyx_k_get_libver_bounds[] = "get_libver_bounds";
static const char __pyx_k_get_virtual_count[] = "get_virtual_count";
static const char __pyx_k_set_char_encoding[] = "set_char_encoding";
static const char __pyx_k_set_fclose_degree[] = "set_fclose_degree";
static const char __pyx_k_set_libver_bounds[] = "set_libver_bounds";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_fill_value_defined[] = "fill_value_defined";
static const char __pyx_k_get_external_count[] = "get_external_count";
static const char __pyx_k_get_sieve_buf_size[] = "get_sieve_buf_size";
static const char __pyx_k_get_virtual_prefix[] = "get_virtual_prefix";
static const char __pyx_k_get_virtual_vspace[] = "get_virtual_vspace";
static const char __pyx_k_set_fileobj_driver[] = "set_fileobj_driver";
static const char __pyx_k_set_sieve_buf_size[] = "set_sieve_buf_size";
static const char __pyx_k_set_virtual_prefix[] = "set_virtual_prefix";
static const char __pyx_k_get_obj_track_times[] = "get_obj_track_times";
static const char __pyx_k_pyx_unpickle_PropID[] = "__pyx_unpickle_PropID";
static const char __pyx_k_set_obj_track_times[] = "set_obj_track_times";
static const char __pyx_k_get_page_buffer_size[] = "get_page_buffer_size";
static const char __pyx_k_get_virtual_dsetname[] = "get_virtual_dsetname";
static const char __pyx_k_get_virtual_filename[] = "get_virtual_filename";
static const char __pyx_k_get_virtual_srcspace[] = "get_virtual_srcspace";
static const char __pyx_k_ignore_when_disabled[] = "ignore_when_disabled";
static const char __pyx_k_set_page_buffer_size[] = "set_page_buffer_size";
static const char __pyx_k_get_attr_phase_change[] = "get_attr_phase_change";
static const char __pyx_k_pyx_unpickle_PropDCID[] = "__pyx_unpickle_PropDCID";
static const char __pyx_k_pyx_unpickle_PropDXID[] = "__pyx_unpickle_PropDXID";
static const char __pyx_k_pyx_unpickle_PropFAID[] = "__pyx_unpickle_PropFAID";
static const char __pyx_k_pyx_unpickle_PropFCID[] = "__pyx_unpickle_PropFCID";
static const char __pyx_k_pyx_unpickle_PropGCID[] = "__pyx_unpickle_PropGCID";
static const char __pyx_k_pyx_unpickle_PropLCID[] = "__pyx_unpickle_PropLCID";
static const char __pyx_k_pyx_unpickle_PropOCID[] = "__pyx_unpickle_PropOCID";
static const char __pyx_k_pyx_unpickle_PropTCID[] = "__pyx_unpickle_PropTCID";
static const char __pyx_k_set_attr_phase_change[] = "set_attr_phase_change";
static const char __pyx_k_get_virtual_printf_gap[] = "get_virtual_printf_gap";
static const char __pyx_k_set_virtual_printf_gap[] = "set_virtual_printf_gap";
static const char __pyx_k_No_class_found_for_ID_d[] = "No class found for ID %d";
static const char __pyx_k_get_attr_creation_order[] = "get_attr_creation_order";
static const char __pyx_k_get_file_space_strategy[] = "get_file_space_strategy";
static const char __pyx_k_get_link_creation_order[] = "get_link_creation_order";
static const char __pyx_k_pyx_unpickle_PropCopyID[] = "__pyx_unpickle_PropCopyID";
static const char __pyx_k_set_attr_creation_order[] = "set_attr_creation_order";
static const char __pyx_k_set_file_space_strategy[] = "set_file_space_strategy";
static const char __pyx_k_set_link_creation_order[] = "set_link_creation_order";
static const char __pyx_k_get_file_space_page_size[] = "get_file_space_page_size";
static const char __pyx_k_pyx_unpickle_PropClassID[] = "__pyx_unpickle_PropClassID";
static const char __pyx_k_set_file_space_page_size[] = "set_file_space_page_size";
static const char __pyx_k_pyx_unpickle_PropCreateID[] = "__pyx_unpickle_PropCreateID";
static const char __pyx_k_pyx_unpickle_PropInstanceID[] = "__pyx_unpickle_PropInstanceID";
static const char __pyx_k_HDF5_property_list_interface[] = "\n    HDF5 property list interface.\n";
static const char __pyx_k_Property_lists_are_unhashable[] = "Property lists are unhashable";
static const char __pyx_k_get_create_intermediate_group[] = "get_create_intermediate_group";
static const char __pyx_k_set_create_intermediate_group[] = "set_create_intermediate_group";
static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";
static const char __pyx_k_Filter_index_must_be_a_non_negat[] = "Filter index must be a non-negative integer";
static const char __pyx_k_Incompatible_checksums_s_vs_0x6d[] = "Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))";
static const char __pyx_k_image_must_support_the_buffer_pr[] = "image must support the buffer protocol";
static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";
static PyObject *__pyx_n_s_CRT_ORDER_INDEXED;
static PyObject *__pyx_n_s_CRT_ORDER_TRACKED;
static PyObject *__pyx_n_s_DATASET_ACCESS;
static PyObject *__pyx_n_s_DATASET_CREATE;
static PyObject *__pyx_n_s_DATASET_XFER;
static PyObject *__pyx_n_s_DEFAULT;
static PyObject *__pyx_n_s_FILE_ACCESS;
static PyObject *__pyx_n_s_FILE_CREATE;
static PyObject *__pyx_kp_u_Filter_index_must_be_a_non_negat;
static PyObject *__pyx_n_s_GROUP_CREATE;
static PyObject *__pyx_n_s_ImportError;
static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x6d;
static PyObject *__pyx_n_s_LINK_ACCESS;
static PyObject *__pyx_n_s_LINK_CREATE;
static PyObject *__pyx_n_s_NO_CLASS;
static PyObject *__pyx_kp_u_No_class_found_for_ID_d;
static PyObject *__pyx_n_s_NotImplemented;
static PyObject *__pyx_n_s_OBJECT_COPY;
static PyObject *__pyx_n_s_OBJECT_CREATE;
static PyObject *__pyx_n_s_PickleError;
static PyObject *__pyx_n_s_PropClassID;
static PyObject *__pyx_n_s_PropCopyID;
static PyObject *__pyx_n_s_PropCreateID;
static PyObject *__pyx_n_s_PropDAID;
static PyObject *__pyx_n_s_PropDCID;
static PyObject *__pyx_n_s_PropDXID;
static PyObject *__pyx_n_s_PropFAID;
static PyObject *__pyx_n_s_PropFCID;
static PyObject *__pyx_n_s_PropGCID;
static PyObject *__pyx_n_s_PropID;
static PyObject *__pyx_n_s_PropInstanceID;
static PyObject *__pyx_n_s_PropLAID;
static PyObject *__pyx_n_s_PropLCID;
static PyObject *__pyx_n_s_PropOCID;
static PyObject *__pyx_n_s_PropTCID;
static PyObject *__pyx_kp_u_Property_lists_are_unhashable;
static PyObject *__pyx_n_s_TypeError;
static PyObject *__pyx_n_s_ValueError;
static PyObject *__pyx_n_s_addr;
static PyObject *__pyx_n_s_alignment;
static PyObject *__pyx_n_s_all_filters_avail;
static PyObject *__pyx_n_s_backing_store;
static PyObject *__pyx_n_s_block_size;
static PyObject *__pyx_n_s_buf_size;
static PyObject *__pyx_n_s_cline_in_traceback;
static PyObject *__pyx_n_s_cls;
static PyObject *__pyx_n_s_copy;
static PyObject *__pyx_n_s_create;
static PyObject *__pyx_n_s_dict;
static PyObject *__pyx_n_s_driver_id;
static PyObject *__pyx_n_s_dtype;
static PyObject *__pyx_n_s_enter;
static PyObject *__pyx_n_s_equal;
static PyObject *__pyx_n_s_exit;
static PyObject *__pyx_n_s_fileobj;
static PyObject *__pyx_n_s_fill_value_defined;
static PyObject *__pyx_n_s_filter_code;
static PyObject *__pyx_n_s_flags;
static PyObject *__pyx_n_s_gap_size;
static PyObject *__pyx_n_s_get_alloc_time;
static PyObject *__pyx_n_s_get_attr_creation_order;
static PyObject *__pyx_n_s_get_attr_phase_change;
static PyObject *__pyx_n_s_get_cache;
static PyObject *__pyx_n_s_get_char_encoding;
static PyObject *__pyx_n_s_get_chunk;
static PyObject *__pyx_n_s_get_chunk_cache;
static PyObject *__pyx_n_s_get_copy_object;
static PyObject *__pyx_n_s_get_create_intermediate_group;
static PyObject *__pyx_n_s_get_driver;
static PyObject *__pyx_n_s_get_elink_fapl;
static PyObject *__pyx_n_s_get_elink_prefix;
static PyObject *__pyx_n_s_get_external;
static PyObject *__pyx_n_s_get_external_count;
static PyObject *__pyx_n_s_get_fapl_core;
static PyObject *__pyx_n_s_get_fapl_family;
static PyObject *__pyx_n_s_get_fclose_degree;
static PyObject *__pyx_n_s_get_file_locking;
static PyObject *__pyx_n_s_get_file_space_page_size;
static PyObject *__pyx_n_s_get_file_space_strategy;
static PyObject *__pyx_n_s_get_fill_time;
static PyObject *__pyx_n_s_get_fill_value;
static PyObject *__pyx_n_s_get_filter;
static PyObject *__pyx_n_s_get_filter_by_id;
static PyObject *__pyx_n_s_get_layout;
static PyObject *__pyx_n_s_get_libver_bounds;
static PyObject *__pyx_n_s_get_link_creation_order;
static PyObject *__pyx_n_s_get_mdc_config;
static PyObject *__pyx_n_s_get_nfilters;
static PyObject *__pyx_n_s_get_nlinks;
static PyObject *__pyx_n_s_get_obj_track_times;
static PyObject *__pyx_n_s_get_page_buffer_size;
static PyObject *__pyx_n_s_get_sieve_buf_size;
static PyObject *__pyx_n_s_get_sizes;
static PyObject *__pyx_n_s_get_userblock;
static PyObject *__pyx_n_s_get_version;
static PyObject *__pyx_n_s_get_virtual_count;
static PyObject *__pyx_n_s_get_virtual_dsetname;
static PyObject *__pyx_n_s_get_virtual_filename;
static PyObject *__pyx_n_s_get_virtual_prefix;
static PyObject *__pyx_n_s_get_virtual_printf_gap;
static PyObject *__pyx_n_s_get_virtual_srcspace;
static PyObject *__pyx_n_s_get_virtual_view;
static PyObject *__pyx_n_s_get_virtual_vspace;
static PyObject *__pyx_n_s_getstate;
static PyObject *__pyx_n_s_h5py_h5p;
static PyObject *__pyx_kp_s_h5py_h5p_pyx;
static PyObject *__pyx_n_s_has_filter;
static PyObject *__pyx_n_s_high;
static PyObject *__pyx_n_s_idx;
static PyObject *__pyx_n_s_ignore_when_disabled;
static PyObject *__pyx_kp_u_image_must_support_the_buffer_pr;
static PyObject *__pyx_n_s_import;
static PyObject *__pyx_n_s_index;
static PyObject *__pyx_n_s_level;
static PyObject *__pyx_n_s_logfile;
static PyObject *__pyx_n_s_low;
static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_max_compact;
static PyObject *__pyx_n_s_mdc;
static PyObject *__pyx_n_s_memb_fapl;
static PyObject *__pyx_n_s_memb_size;
static PyObject *__pyx_n_s_meta_ext;
static PyObject *__pyx_n_s_meta_plist_id;
static PyObject *__pyx_n_s_min_dense;
static PyObject *__pyx_n_s_min_meta_per;
static PyObject *__pyx_n_s_min_raw_per;
static PyObject *__pyx_n_s_name;
static PyObject *__pyx_n_s_name_2;
static PyObject *__pyx_n_s_new;
static PyObject *__pyx_n_s_newid;
static PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
static PyObject *__pyx_kp_u_numpy_core_multiarray_failed_to;
static PyObject *__pyx_kp_u_numpy_core_umath_failed_to_impor;
static PyObject *__pyx_n_s_objects;
static PyObject *__pyx_n_s_offset;
static PyObject *__pyx_n_s_options;
static PyObject *__pyx_n_s_persist;
static PyObject *__pyx_n_s_phil;
static PyObject *__pyx_n_s_pickle;
static PyObject *__pyx_n_s_pixels_per_block;
static PyObject *__pyx_n_s_pyx_PickleError;
static PyObject *__pyx_n_s_pyx_checksum;
static PyObject *__pyx_n_s_pyx_result;
static PyObject *__pyx_n_s_pyx_state;
static PyObject *__pyx_n_s_pyx_type;
static PyObject *__pyx_n_s_pyx_unpickle_PropClassID;
static PyObject *__pyx_n_s_pyx_unpickle_PropCopyID;
static PyObject *__pyx_n_s_pyx_unpickle_PropCreateID;
static PyObject *__pyx_n_s_pyx_unpickle_PropDCID;
static PyObject *__pyx_n_s_pyx_unpickle_PropDXID;
static PyObject *__pyx_n_s_pyx_unpickle_PropFAID;
static PyObject *__pyx_n_s_pyx_unpickle_PropFCID;
static PyObject *__pyx_n_s_pyx_unpickle_PropGCID;
static PyObject *__pyx_n_s_pyx_unpickle_PropID;
static PyObject *__pyx_n_s_pyx_unpickle_PropInstanceID;
static PyObject *__pyx_n_s_pyx_unpickle_PropLCID;
static PyObject *__pyx_n_s_pyx_unpickle_PropOCID;
static PyObject *__pyx_n_s_pyx_unpickle_PropTCID;
static PyObject *__pyx_n_s_pyx_vtable;
static PyObject *__pyx_n_s_range;
static PyObject *__pyx_n_s_raw_ext;
static PyObject *__pyx_n_s_raw_plist_id;
static PyObject *__pyx_n_s_rdcc;
static PyObject *__pyx_n_s_rdcc_nbytes;
static PyObject *__pyx_n_s_rdcc_nslots;
static PyObject *__pyx_n_s_rdcc_w0;
static PyObject *__pyx_n_s_reduce;
static PyObject *__pyx_n_s_reduce_cython;
static PyObject *__pyx_n_s_reduce_ex;
static PyObject *__pyx_n_s_remove_filter;
static PyObject *__pyx_n_s_richcmp;
static PyObject *__pyx_n_s_scale_factor;
static PyObject *__pyx_n_s_scale_type;
static PyObject *__pyx_n_s_set_alloc_time;
static PyObject *__pyx_n_s_set_attr_creation_order;
static PyObject *__pyx_n_s_set_attr_phase_change;
static PyObject *__pyx_n_s_set_cache;
static PyObject *__pyx_n_s_set_char_encoding;
static PyObject *__pyx_n_s_set_chunk;
static PyObject *__pyx_n_s_set_chunk_cache;
static PyObject *__pyx_n_s_set_copy_object;
static PyObject *__pyx_n_s_set_create_intermediate_group;
static PyObject *__pyx_n_s_set_deflate;
static PyObject *__pyx_n_s_set_driver;
static PyObject *__pyx_n_s_set_elink_fapl;
static PyObject *__pyx_n_s_set_elink_prefix;
static PyObject *__pyx_n_s_set_external;
static PyObject *__pyx_n_s_set_fapl_core;
static PyObject *__pyx_n_s_set_fapl_family;
static PyObject *__pyx_n_s_set_fapl_log;
static PyObject *__pyx_n_s_set_fapl_sec2;
static PyObject *__pyx_n_s_set_fapl_split;
static PyObject *__pyx_n_s_set_fapl_stdio;
static PyObject *__pyx_n_s_set_fclose_degree;
static PyObject *__pyx_n_s_set_file_image;
static PyObject *__pyx_n_s_set_file_locking;
static PyObject *__pyx_n_s_set_file_space_page_size;
static PyObject *__pyx_n_s_set_file_space_strategy;
static PyObject *__pyx_n_s_set_fileobj_driver;
static PyObject *__pyx_n_s_set_fill_time;
static PyObject *__pyx_n_s_set_fill_value;
static PyObject *__pyx_n_s_set_filter;
static PyObject *__pyx_n_s_set_fletcher32;
static PyObject *__pyx_n_s_set_layout;
static PyObject *__pyx_n_s_set_libver_bounds;
static PyObject *__pyx_n_s_set_link_creation_order;
static PyObject *__pyx_n_s_set_mdc_config;
static PyObject *__pyx_n_s_set_nlinks;
static PyObject *__pyx_n_s_set_obj_track_times;
static PyObject *__pyx_n_s_set_page_buffer_size;
static PyObject *__pyx_n_s_set_scaleoffset;
static PyObject *__pyx_n_s_set_shuffle;
static PyObject *__pyx_n_s_set_sieve_buf_size;
static PyObject *__pyx_n_s_set_sizes;
static PyObject *__pyx_n_s_set_szip;
static PyObject *__pyx_n_s_set_userblock;
static PyObject *__pyx_n_s_set_virtual;
static PyObject *__pyx_n_s_set_virtual_prefix;
static PyObject *__pyx_n_s_set_virtual_printf_gap;
static PyObject *__pyx_n_s_set_virtual_view;
static PyObject *__pyx_n_s_setstate;
static PyObject *__pyx_n_s_setstate_cython;
static PyObject *__pyx_n_s_size;
static PyObject *__pyx_n_s_src_dset_name;
static PyObject *__pyx_n_s_src_file_name;
static PyObject *__pyx_n_s_src_space;
static PyObject *__pyx_n_s_strategy;
static PyObject *__pyx_kp_s_stringsource;
static PyObject *__pyx_n_s_test;
static PyObject *__pyx_n_s_threshold;
static PyObject *__pyx_n_s_update;
static PyObject *__pyx_n_s_use_file_locking;
static PyObject *__pyx_n_s_values;
static PyObject *__pyx_n_s_vspace;
static PyObject *__pyx_n_s_with_phil;
static PyObject *__pyx_pf_4h5py_3h5p_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_cls); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_plist); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */
static Py_hash_t __pyx_pf_4h5py_3h5p_6PropID_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_6PropID_6__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_6PropID_8__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */
static Py_hash_t __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2get_class(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_12PropCreateID___reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropCreateID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_12PropCreateID_2__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropCreateID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, size_t __pyx_v_addr, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_10set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_12get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_14set_file_space_strategy(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, unsigned int __pyx_v_strategy, int __pyx_v_persist, unsigned PY_LONG_LONG __pyx_v_threshold); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_16get_file_space_strategy(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_18set_file_space_page_size(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_fsp_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_20get_file_space_page_size(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_22__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_24__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_layout_code); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_chunksize); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_fill_time); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_alloc_time); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code, unsigned int __pyx_v_flags, PyObject *__pyx_v_values); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_idx); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_32get_filter_by_id(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_class); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_level); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_options, unsigned int __pyx_v_pixels_per_block); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_44set_scaleoffset(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, enum H5Z_SO_scale_type_t __pyx_v_scale_type, int __pyx_v_scale_factor); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_46set_external(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_offset, PyObject *__pyx_v_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_48get_external_count(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_50get_external(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_idx); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_52set_virtual(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_vspace, char *__pyx_v_src_file_name, char *__pyx_v_src_dset_name, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_src_space); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_54get_virtual_count(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_56get_virtual_dsetname(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_58get_virtual_filename(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_60get_virtual_vspace(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_62get_virtual_srcspace(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_64__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_66__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_close_degree); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_block_size, hbool_t __pyx_v_backing_store); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hsize_t __pyx_v_memb_size, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char *__pyx_v_logfile, unsigned int __pyx_v_flags, size_t __pyx_v_buf_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_18set_fapl_split(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char const *__pyx_v_meta_ext, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_meta_plist_id, char const *__pyx_v_raw_ext, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_raw_plist_id); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_20set_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hid_t __pyx_v_driver_id); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_22set_fileobj_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hid_t __pyx_v_driver_id, PyObject *__pyx_v_fileobj); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_24get_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_26set_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_mdc, int __pyx_v_rdcc, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_28get_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_30set_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_32get_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_34set_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_low, int __pyx_v_high); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_36get_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_38get_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_40set_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_42get_alignment(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_44set_alignment(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, PyObject *__pyx_v_threshold, PyObject *__pyx_v_alignment); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_46set_file_image(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, PyObject *__pyx_v_image); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_48set_page_buffer_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_buf_size, unsigned int __pyx_v_min_meta_per, unsigned int __pyx_v_min_raw_per); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_50get_page_buffer_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_52get_file_locking(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_54set_file_locking(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_use_file_locking, int __pyx_v_ignore_when_disabled); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_56__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_58__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_encoding); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_create); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_8__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_10__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static void __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, size_t __pyx_v_nlinks); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, char *__pyx_v_prefix); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_fapl); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropTCID___reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropTCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropTCID_2__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropTCID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_2get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_set_attr_creation_order(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_2get_attr_creation_order(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_4set_attr_phase_change(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v_max_compact, PyObject *__pyx_v_min_dense); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_6get_attr_phase_change(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_8set_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v_track_times); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_10get_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_12__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_14__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_4h5py_3h5p_8PropDAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
static void __pyx_pf_4h5py_3h5p_8PropDAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_4set_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, size_t __pyx_v_rdcc_nslots, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_6get_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_8set_virtual_view(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, unsigned int __pyx_v_view); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_10get_virtual_view(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_12set_virtual_printf_gap(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, hsize_t __pyx_v_gap_size); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_14get_virtual_printf_gap(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_16get_virtual_prefix(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_18set_virtual_prefix(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, char *__pyx_v_prefix); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_20__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_22__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDXID___reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropDXID *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8PropDXID_2__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropDXID *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_2__pyx_unpickle_PropID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_4__pyx_unpickle_PropClassID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_6__pyx_unpickle_PropInstanceID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_8__pyx_unpickle_PropCreateID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_10__pyx_unpickle_PropCopyID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_12__pyx_unpickle_PropFCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_14__pyx_unpickle_PropDCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_16__pyx_unpickle_PropFAID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_18__pyx_unpickle_PropLCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_20__pyx_unpickle_PropTCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_22__pyx_unpickle_PropGCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_24__pyx_unpickle_PropOCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_4h5py_3h5p_26__pyx_unpickle_PropDXID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_tp_new_4h5py_3h5p_PropID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropClassID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropInstanceID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropCreateID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropCopyID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropOCID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropDCID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropFCID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropFAID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropDXID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropDAID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropLCID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropLAID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropGCID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_4h5py_3h5p_PropTCID(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_6;
static PyObject *__pyx_int_8;
static PyObject *__pyx_int_115303368;
static PyObject *__pyx_tuple_;
static PyObject *__pyx_tuple__2;
static PyObject *__pyx_tuple__3;
static PyObject *__pyx_tuple__4;
static PyObject *__pyx_tuple__5;
static PyObject *__pyx_tuple__6;
static PyObject *__pyx_tuple__7;
static PyObject *__pyx_tuple__8;
static PyObject *__pyx_tuple__9;
static PyObject *__pyx_tuple__10;
static PyObject *__pyx_tuple__11;
static PyObject *__pyx_tuple__13;
static PyObject *__pyx_tuple__15;
static PyObject *__pyx_tuple__17;
static PyObject *__pyx_tuple__19;
static PyObject *__pyx_tuple__21;
static PyObject *__pyx_tuple__23;
static PyObject *__pyx_tuple__25;
static PyObject *__pyx_tuple__27;
static PyObject *__pyx_tuple__29;
static PyObject *__pyx_tuple__31;
static PyObject *__pyx_tuple__33;
static PyObject *__pyx_tuple__35;
static PyObject *__pyx_tuple__37;
static PyObject *__pyx_codeobj__12;
static PyObject *__pyx_codeobj__14;
static PyObject *__pyx_codeobj__16;
static PyObject *__pyx_codeobj__18;
static PyObject *__pyx_codeobj__20;
static PyObject *__pyx_codeobj__22;
static PyObject *__pyx_codeobj__24;
static PyObject *__pyx_codeobj__26;
static PyObject *__pyx_codeobj__28;
static PyObject *__pyx_codeobj__30;
static PyObject *__pyx_codeobj__32;
static PyObject *__pyx_codeobj__34;
static PyObject *__pyx_codeobj__36;
static PyObject *__pyx_codeobj__38;
/* Late includes */

/* "h5py/h5p.pyx":45
 * # === C API ===================================================================
 * 
 * cdef hid_t pdefault(PropID pid):             # <<<<<<<<<<<<<<
 * 
 *     if pid is None:
 */

static hid_t __pyx_f_4h5py_3h5p_pdefault(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_pid) {
  hid_t __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  __Pyx_RefNannySetupContext("pdefault", 0);

  /* "h5py/h5p.pyx":47
 * cdef hid_t pdefault(PropID pid):
 * 
 *     if pid is None:             # <<<<<<<<<<<<<<
 *         return <hid_t>H5P_DEFAULT
 *     return pid.id
 */
  __pyx_t_1 = (((PyObject *)__pyx_v_pid) == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "h5py/h5p.pyx":48
 * 
 *     if pid is None:
 *         return <hid_t>H5P_DEFAULT             # <<<<<<<<<<<<<<
 *     return pid.id
 * 
 */
    __pyx_r = ((hid_t)H5P_DEFAULT);
    goto __pyx_L0;

    /* "h5py/h5p.pyx":47
 * cdef hid_t pdefault(PropID pid):
 * 
 *     if pid is None:             # <<<<<<<<<<<<<<
 *         return <hid_t>H5P_DEFAULT
 *     return pid.id
 */
  }

  /* "h5py/h5p.pyx":49
 *     if pid is None:
 *         return <hid_t>H5P_DEFAULT
 *     return pid.id             # <<<<<<<<<<<<<<
 * 
 * cdef object propwrap(hid_t id_in):
 */
  __pyx_r = __pyx_v_pid->__pyx_base.id;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":45
 * # === C API ===================================================================
 * 
 * cdef hid_t pdefault(PropID pid):             # <<<<<<<<<<<<<<
 * 
 *     if pid is None:
 */

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

/* "h5py/h5p.pyx":51
 *     return pid.id
 * 
 * cdef object propwrap(hid_t id_in):             # <<<<<<<<<<<<<<
 * 
 *     clsid = H5Pget_class(id_in)
 */

static PyObject *__pyx_f_4h5py_3h5p_propwrap(hid_t __pyx_v_id_in) {
  hid_t __pyx_v_clsid;
  PyTypeObject *__pyx_v_pcls = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  htri_t __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  char const *__pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  herr_t __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("propwrap", 0);

  /* "h5py/h5p.pyx":53
 * cdef object propwrap(hid_t id_in):
 * 
 *     clsid = H5Pget_class(id_in)             # <<<<<<<<<<<<<<
 *     try:
 *         if H5Pequal(clsid, H5P_FILE_CREATE):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_class(__pyx_v_id_in); if (unlikely(__pyx_t_1 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 53, __pyx_L1_error)
  __pyx_v_clsid = __pyx_t_1;

  /* "h5py/h5p.pyx":54
 * 
 *     clsid = H5Pget_class(id_in)
 *     try:             # <<<<<<<<<<<<<<
 *         if H5Pequal(clsid, H5P_FILE_CREATE):
 *             pcls = PropFCID
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":55
 *     clsid = H5Pget_class(id_in)
 *     try:
 *         if H5Pequal(clsid, H5P_FILE_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropFCID
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_FILE_CREATE); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 55, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":56
 *     try:
 *         if H5Pequal(clsid, H5P_FILE_CREATE):
 *             pcls = PropFCID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
 *             pcls = PropFAID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropFCID;

      /* "h5py/h5p.pyx":55
 *     clsid = H5Pget_class(id_in)
 *     try:
 *         if H5Pequal(clsid, H5P_FILE_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropFCID
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":57
 *         if H5Pequal(clsid, H5P_FILE_CREATE):
 *             pcls = PropFCID
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):             # <<<<<<<<<<<<<<
 *             pcls = PropFAID
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_FILE_ACCESS); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 57, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":58
 *             pcls = PropFCID
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
 *             pcls = PropFAID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
 *             pcls = PropDCID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropFAID;

      /* "h5py/h5p.pyx":57
 *         if H5Pequal(clsid, H5P_FILE_CREATE):
 *             pcls = PropFCID
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):             # <<<<<<<<<<<<<<
 *             pcls = PropFAID
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":59
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
 *             pcls = PropFAID
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropDCID
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_DATASET_CREATE); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 59, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":60
 *             pcls = PropFAID
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
 *             pcls = PropDCID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):
 *             pcls = PropDXID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropDCID;

      /* "h5py/h5p.pyx":59
 *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
 *             pcls = PropFAID
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropDCID
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":61
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
 *             pcls = PropDCID
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):             # <<<<<<<<<<<<<<
 *             pcls = PropDXID
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_DATASET_XFER); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 61, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":62
 *             pcls = PropDCID
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):
 *             pcls = PropDXID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
 *             pcls = PropCopyID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropDXID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropDXID;

      /* "h5py/h5p.pyx":61
 *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
 *             pcls = PropDCID
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):             # <<<<<<<<<<<<<<
 *             pcls = PropDXID
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":63
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):
 *             pcls = PropDXID
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):             # <<<<<<<<<<<<<<
 *             pcls = PropCopyID
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_OBJECT_COPY); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 63, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":64
 *             pcls = PropDXID
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
 *             pcls = PropCopyID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):
 *             pcls = PropLCID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropCopyID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropCopyID;

      /* "h5py/h5p.pyx":63
 *         elif H5Pequal(clsid, H5P_DATASET_XFER):
 *             pcls = PropDXID
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):             # <<<<<<<<<<<<<<
 *             pcls = PropCopyID
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":65
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
 *             pcls = PropCopyID
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropLCID
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_LINK_CREATE); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 65, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":66
 *             pcls = PropCopyID
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):
 *             pcls = PropLCID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
 *             pcls = PropLAID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropLCID;

      /* "h5py/h5p.pyx":65
 *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
 *             pcls = PropCopyID
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropLCID
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":67
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):
 *             pcls = PropLCID
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):             # <<<<<<<<<<<<<<
 *             pcls = PropLAID
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_LINK_ACCESS); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 67, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":68
 *             pcls = PropLCID
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
 *             pcls = PropLAID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
 *             pcls = PropGCID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropLAID;

      /* "h5py/h5p.pyx":67
 *         elif H5Pequal(clsid, H5P_LINK_CREATE):
 *             pcls = PropLCID
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):             # <<<<<<<<<<<<<<
 *             pcls = PropLAID
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":69
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
 *             pcls = PropLAID
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropGCID
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_GROUP_CREATE); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 69, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":70
 *             pcls = PropLAID
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
 *             pcls = PropGCID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):
 *             pcls = PropTCID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropGCID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropGCID;

      /* "h5py/h5p.pyx":69
 *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
 *             pcls = PropLAID
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropGCID
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":71
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
 *             pcls = PropGCID
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropTCID
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_DATATYPE_CREATE); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 71, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":72
 *             pcls = PropGCID
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):
 *             pcls = PropTCID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
 *             pcls = PropDAID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropTCID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropTCID;

      /* "h5py/h5p.pyx":71
 *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
 *             pcls = PropGCID
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropTCID
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":73
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):
 *             pcls = PropTCID
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):             # <<<<<<<<<<<<<<
 *             pcls = PropDAID
 *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_DATASET_ACCESS); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 73, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (__pyx_t_3) {

      /* "h5py/h5p.pyx":74
 *             pcls = PropTCID
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
 *             pcls = PropDAID             # <<<<<<<<<<<<<<
 *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):
 *             pcls = PropOCID
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropDAID;

      /* "h5py/h5p.pyx":73
 *         elif H5Pequal(clsid, H5P_DATATYPE_CREATE):
 *             pcls = PropTCID
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):             # <<<<<<<<<<<<<<
 *             pcls = PropDAID
 *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":75
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
 *             pcls = PropDAID
 *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropOCID
 * 
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_OBJECT_CREATE); if (unlikely(__pyx_t_2 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 75, __pyx_L4_error)
    __pyx_t_3 = (__pyx_t_2 != 0);
    if (likely(__pyx_t_3)) {

      /* "h5py/h5p.pyx":76
 *             pcls = PropDAID
 *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):
 *             pcls = PropOCID             # <<<<<<<<<<<<<<
 * 
 *         else:
 */
      __Pyx_INCREF(((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID));
      __pyx_v_pcls = __pyx_ptype_4h5py_3h5p_PropOCID;

      /* "h5py/h5p.pyx":75
 *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
 *             pcls = PropDAID
 *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):             # <<<<<<<<<<<<<<
 *             pcls = PropOCID
 * 
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":79
 * 
 *         else:
 *             raise ValueError("No class found for ID %d" % id_in)             # <<<<<<<<<<<<<<
 * 
 *         return pcls(id_in)
 */
    /*else*/ {
      __pyx_t_4 = __Pyx_PyInt_From_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = PyUnicode_Format(__pyx_kp_u_No_class_found_for_ID_d, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 79, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(0, 79, __pyx_L4_error)
    }
    __pyx_L6:;

    /* "h5py/h5p.pyx":81
 *             raise ValueError("No class found for ID %d" % id_in)
 * 
 *         return pcls(id_in)             # <<<<<<<<<<<<<<
 *     finally:
 *         H5Pclose_class(clsid)
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = __Pyx_PyInt_From_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_v_pcls), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 81, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L3_return;
  }

  /* "h5py/h5p.pyx":83
 *         return pcls(id_in)
 *     finally:
 *         H5Pclose_class(clsid)             # <<<<<<<<<<<<<<
 * 
 * cdef object lockcls(hid_t id_in):
 */
  /*finally:*/ {
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __Pyx_XGOTREF(__pyx_t_14);
      __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename;
      {
        __pyx_t_15 = __pyx_f_4h5py_4defs_H5Pclose_class(__pyx_v_clsid); if (unlikely(__pyx_t_15 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 83, __pyx_L8_error)
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
      }
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
      __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8;
      goto __pyx_L1_error;
      __pyx_L8_error:;
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_XGIVEREF(__pyx_t_14);
        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
      }
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
      goto __pyx_L1_error;
    }
    __pyx_L3_return: {
      __pyx_t_14 = __pyx_r;
      __pyx_r = 0;
      __pyx_t_15 = __pyx_f_4h5py_4defs_H5Pclose_class(__pyx_v_clsid); if (unlikely(__pyx_t_15 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 83, __pyx_L1_error)
      __pyx_r = __pyx_t_14;
      __pyx_t_14 = 0;
      goto __pyx_L0;
    }
  }

  /* "h5py/h5p.pyx":51
 *     return pid.id
 * 
 * cdef object propwrap(hid_t id_in):             # <<<<<<<<<<<<<<
 * 
 *     clsid = H5Pget_class(id_in)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.propwrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pcls);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":85
 *         H5Pclose_class(clsid)
 * 
 * cdef object lockcls(hid_t id_in):             # <<<<<<<<<<<<<<
 *     cdef PropClassID pid
 *     pid = PropClassID(id_in)
 */

static PyObject *__pyx_f_4h5py_3h5p_lockcls(hid_t __pyx_v_id_in) {
  struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_pid = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lockcls", 0);

  /* "h5py/h5p.pyx":87
 * cdef object lockcls(hid_t id_in):
 *     cdef PropClassID pid
 *     pid = PropClassID(id_in)             # <<<<<<<<<<<<<<
 *     pid.locked = 1
 *     return pid
 */
  __pyx_t_1 = __Pyx_PyInt_From_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4h5py_3h5p_PropClassID), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_pid = ((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":88
 *     cdef PropClassID pid
 *     pid = PropClassID(id_in)
 *     pid.locked = 1             # <<<<<<<<<<<<<<
 *     return pid
 * 
 */
  __pyx_v_pid->__pyx_base.__pyx_base.locked = 1;

  /* "h5py/h5p.pyx":89
 *     pid = PropClassID(id_in)
 *     pid.locked = 1
 *     return pid             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_pid));
  __pyx_r = ((PyObject *)__pyx_v_pid);
  goto __pyx_L0;

  /* "h5py/h5p.pyx":85
 *         H5Pclose_class(clsid)
 * 
 * cdef object lockcls(hid_t id_in):             # <<<<<<<<<<<<<<
 *     cdef PropClassID pid
 *     pid = PropClassID(id_in)
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.lockcls", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_pid);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":124
 * 
 * @with_phil
 * def create(PropClassID cls not None):             # <<<<<<<<<<<<<<
 *     """(PropClassID cls) => PropID
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_1create(PyObject *__pyx_self, PyObject *__pyx_v_cls); /*proto*/
static char __pyx_doc_4h5py_3h5p_create[] = "(PropClassID cls) => PropID\n\n    Create a new property list as an instance of a class; classes are:\n\n    - FILE_CREATE\n    - FILE_ACCESS\n    - DATASET_CREATE\n    - DATASET_XFER\n    - DATASET_ACCESS\n    - LINK_CREATE\n    - LINK_ACCESS\n    - GROUP_CREATE\n    - OBJECT_COPY\n    - OBJECT_CREATE\n    ";
static PyMethodDef __pyx_mdef_4h5py_3h5p_1create = {"create", (PyCFunction)__pyx_pw_4h5py_3h5p_1create, METH_O, __pyx_doc_4h5py_3h5p_create};
static PyObject *__pyx_pw_4h5py_3h5p_1create(PyObject *__pyx_self, PyObject *__pyx_v_cls) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("create (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cls), __pyx_ptype_4h5py_3h5p_PropClassID, 0, "cls", 0))) __PYX_ERR(0, 124, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_cls));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_cls) {
  hid_t __pyx_v_newid;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "h5py/h5p.pyx":141
 *     """
 *     cdef hid_t newid
 *     newid = H5Pcreate(cls.id)             # <<<<<<<<<<<<<<
 *     return propwrap(newid)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pcreate(__pyx_v_cls->__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 141, __pyx_L1_error)
  __pyx_v_newid = __pyx_t_1;

  /* "h5py/h5p.pyx":142
 *     cdef hid_t newid
 *     newid = H5Pcreate(cls.id)
 *     return propwrap(newid)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_v_newid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":124
 * 
 * @with_phil
 * def create(PropClassID cls not None):             # <<<<<<<<<<<<<<
 *     """(PropClassID cls) => PropID
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":155
 * 
 *     @with_phil
 *     def equal(self, PropID plist not None):             # <<<<<<<<<<<<<<
 *         """(PropID plist) => BOOL
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_1equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist); /*proto*/
static char __pyx_doc_4h5py_3h5p_6PropID_equal[] = "(PropID plist) => BOOL\n\n        Compare this property list (or class) to another for equality.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_1equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("equal (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_plist), __pyx_ptype_4h5py_3h5p_PropID, 0, "plist", 0))) __PYX_ERR(0, 155, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_equal(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_plist));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_plist) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  htri_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("equal", 0);

  /* "h5py/h5p.pyx":160
 *         Compare this property list (or class) to another for equality.
 *         """
 *         return <bint>(H5Pequal(self.id, plist.id))             # <<<<<<<<<<<<<<
 * 
 *     def __richcmp__(self, object other, int how):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_self->__pyx_base.id, __pyx_v_plist->__pyx_base.id); if (unlikely(__pyx_t_1 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 160, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_t_1 != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":155
 * 
 *     @with_phil
 *     def equal(self, PropID plist not None):             # <<<<<<<<<<<<<<
 *         """(PropID plist) => BOOL
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropID.equal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":162
 *         return <bint>(H5Pequal(self.id, plist.id))
 * 
 *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
 *         cdef bint truthval = 0
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));

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

static PyObject *__pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
  int __pyx_v_truthval;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__richcmp__", 0);

  /* "h5py/h5p.pyx":163
 * 
 *     def __richcmp__(self, object other, int how):
 *         cdef bint truthval = 0             # <<<<<<<<<<<<<<
 * 
 *         with phil:
 */
  __pyx_v_truthval = 0;

  /* "h5py/h5p.pyx":165
 *         cdef bint truthval = 0
 * 
 *         with phil:             # <<<<<<<<<<<<<<
 *             if how != 2 and how != 3:
 *                 return NotImplemented
 */
  /*with:*/ {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_4, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_6);
        __Pyx_XGOTREF(__pyx_t_7);
        __Pyx_XGOTREF(__pyx_t_8);
        /*try:*/ {

          /* "h5py/h5p.pyx":166
 * 
 *         with phil:
 *             if how != 2 and how != 3:             # <<<<<<<<<<<<<<
 *                 return NotImplemented
 *             if type(self) == type(other):
 */
          switch (__pyx_v_how) {
            case 2:
            case 3:
            __pyx_t_9 = 0;
            break;
            default:
            __pyx_t_9 = 1;
            break;
          }
          if (__pyx_t_9) {

            /* "h5py/h5p.pyx":167
 *         with phil:
 *             if how != 2 and how != 3:
 *                 return NotImplemented             # <<<<<<<<<<<<<<
 *             if type(self) == type(other):
 *                 truthval = self.equal(other)
 */
            __Pyx_XDECREF(__pyx_r);
            __Pyx_INCREF(__pyx_builtin_NotImplemented);
            __pyx_r = __pyx_builtin_NotImplemented;
            goto __pyx_L11_try_return;

            /* "h5py/h5p.pyx":166
 * 
 *         with phil:
 *             if how != 2 and how != 3:             # <<<<<<<<<<<<<<
 *                 return NotImplemented
 *             if type(self) == type(other):
 */
          }

          /* "h5py/h5p.pyx":168
 *             if how != 2 and how != 3:
 *                 return NotImplemented
 *             if type(self) == type(other):             # <<<<<<<<<<<<<<
 *                 truthval = self.equal(other)
 * 
 */
          __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)Py_TYPE(__pyx_v_other)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L7_error)
          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 168, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (__pyx_t_9) {

            /* "h5py/h5p.pyx":169
 *                 return NotImplemented
 *             if type(self) == type(other):
 *                 truthval = self.equal(other)             # <<<<<<<<<<<<<<
 * 
 *             if how == 2:
 */
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_equal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && 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);
              }
            }
            __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_other) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_other);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_1);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 169, __pyx_L7_error)
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            __pyx_v_truthval = __pyx_t_9;

            /* "h5py/h5p.pyx":168
 *             if how != 2 and how != 3:
 *                 return NotImplemented
 *             if type(self) == type(other):             # <<<<<<<<<<<<<<
 *                 truthval = self.equal(other)
 * 
 */
          }

          /* "h5py/h5p.pyx":171
 *                 truthval = self.equal(other)
 * 
 *             if how == 2:             # <<<<<<<<<<<<<<
 *                 return truthval
 *             return not truthval
 */
          __pyx_t_9 = ((__pyx_v_how == 2) != 0);
          if (__pyx_t_9) {

            /* "h5py/h5p.pyx":172
 * 
 *             if how == 2:
 *                 return truthval             # <<<<<<<<<<<<<<
 *             return not truthval
 * 
 */
            __Pyx_XDECREF(__pyx_r);
            __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 172, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_1);
            __pyx_r = __pyx_t_1;
            __pyx_t_1 = 0;
            goto __pyx_L11_try_return;

            /* "h5py/h5p.pyx":171
 *                 truthval = self.equal(other)
 * 
 *             if how == 2:             # <<<<<<<<<<<<<<
 *                 return truthval
 *             return not truthval
 */
          }

          /* "h5py/h5p.pyx":173
 *             if how == 2:
 *                 return truthval
 *             return not truthval             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
 */
          __Pyx_XDECREF(__pyx_r);
          __pyx_t_1 = __Pyx_PyBool_FromLong((!(__pyx_v_truthval != 0))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_r = __pyx_t_1;
          __pyx_t_1 = 0;
          goto __pyx_L11_try_return;

          /* "h5py/h5p.pyx":165
 *         cdef bint truthval = 0
 * 
 *         with phil:             # <<<<<<<<<<<<<<
 *             if how != 2 and how != 3:
 *                 return NotImplemented
 */
        }
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("h5py.h5p.PropID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 165, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 165, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_10);
          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
          if (__pyx_t_9 < 0) __PYX_ERR(0, 165, __pyx_L9_except_error)
          __pyx_t_11 = ((!(__pyx_t_9 != 0)) != 0);
          if (__pyx_t_11) {
            __Pyx_GIVEREF(__pyx_t_1);
            __Pyx_GIVEREF(__pyx_t_3);
            __Pyx_XGIVEREF(__pyx_t_4);
            __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4);
            __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; 
            __PYX_ERR(0, 165, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_6);
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
        goto __pyx_L1_error;
        __pyx_L11_try_return:;
        __Pyx_XGIVEREF(__pyx_t_6);
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
        goto __pyx_L4_return;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_6);
        __Pyx_XGIVEREF(__pyx_t_7);
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_2) {
          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple_, NULL);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 165, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L4_return: {
        __pyx_t_8 = __pyx_r;
        __pyx_r = 0;
        if (__pyx_t_2) {
          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple_, NULL);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 165, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_7);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        }
        __pyx_r = __pyx_t_8;
        __pyx_t_8 = 0;
        goto __pyx_L0;
      }
      __pyx_L6:;
    }
    goto __pyx_L19;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    goto __pyx_L1_error;
    __pyx_L19:;
  }

  /* "h5py/h5p.pyx":162
 *         return <bint>(H5Pequal(self.id, plist.id))
 * 
 *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
 *         cdef bint truthval = 0
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.PropID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":175
 *             return not truthval
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         raise TypeError("Property lists are unhashable")
 * 
 */

/* Python wrapper */
static Py_hash_t __pyx_pw_4h5py_3h5p_6PropID_5__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_4h5py_3h5p_6PropID_5__hash__(PyObject *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_4__hash__(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self));

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

static Py_hash_t __pyx_pf_4h5py_3h5p_6PropID_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "h5py/h5p.pyx":176
 * 
 *     def __hash__(self):
 *         raise TypeError("Property lists are unhashable")             # <<<<<<<<<<<<<<
 * 
 * cdef class PropClassID(PropID):
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(0, 176, __pyx_L1_error)

  /* "h5py/h5p.pyx":175
 *             return not truthval
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         raise TypeError("Property lists are unhashable")
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_6__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_6PropID_6__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_6PropID_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_8__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_6PropID_8__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":187
 *     """
 * 
 *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
 *         return PropID.__richcmp__(self, other, how)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));

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

static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__richcmp__", 0);

  /* "h5py/h5p.pyx":188
 * 
 *     def __richcmp__(self, object other, int how):
 *         return PropID.__richcmp__(self, other, how)             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropID), __pyx_n_s_richcmp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_how); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  __pyx_t_5 = 0;
  if (CYTHON_UNPACK_METHODS && likely(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;
    }
  }
  #if CYTHON_FAST_PYCALL
  if (PyFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_4, ((PyObject *)__pyx_v_self), __pyx_v_other, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  #if CYTHON_FAST_PYCCALL
  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
    PyObject *__pyx_temp[4] = {__pyx_t_4, ((PyObject *)__pyx_v_self), __pyx_v_other, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error)
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  } else
  #endif
  {
    __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__pyx_t_4) {
      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
    }
    __Pyx_INCREF(((PyObject *)__pyx_v_self));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, ((PyObject *)__pyx_v_self));
    __Pyx_INCREF(__pyx_v_other);
    __Pyx_GIVEREF(__pyx_v_other);
    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_other);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __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;

  /* "h5py/h5p.pyx":187
 *     """
 * 
 *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
 *         return PropID.__richcmp__(self, other, how)
 * 
 */

  /* 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("h5py.h5p.PropClassID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":190
 *         return PropID.__richcmp__(self, other, how)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         """ Since classes are library-created and immutable, they are uniquely
 *             identified by their HDF5 identifiers.
 */

/* Python wrapper */
static Py_hash_t __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_4h5py_3h5p_11PropClassID_2__hash__[] = " Since classes are library-created and immutable, they are uniquely\n            identified by their HDF5 identifiers.\n        ";
#if CYTHON_COMPILING_IN_CPYTHON
struct wrapperbase __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__;
#endif
static Py_hash_t __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__(PyObject *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_self));

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

static Py_hash_t __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "h5py/h5p.pyx":194
 *             identified by their HDF5 identifiers.
 *         """
 *         return hash(self.id)             # <<<<<<<<<<<<<<
 * 
 * cdef class PropInstanceID(PropID):
 */
  __pyx_t_1 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(0, 194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":190
 *         return PropID.__richcmp__(self, other, how)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         """ Since classes are library-created and immutable, they are uniquely
 *             identified by their HDF5 identifiers.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropClassID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID_4__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropClassID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropClassID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropClassID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropClassID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropClassID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID_6__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropClassID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropClassID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropClassID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropClassID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropClassID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":208
 * 
 *     @with_phil
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         """() => PropList newid
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_14PropInstanceID_copy[] = "() => PropList newid\n\n         Create a new copy of an existing property list object.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_copy(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  hid_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copy", 0);

  /* "h5py/h5p.pyx":213
 *          Create a new copy of an existing property list object.
 *         """
 *         return type(self)(H5Pcopy(self.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pcopy(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_2 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 213, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyInt_From_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
  __pyx_t_4 = ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))); __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":208
 * 
 *     @with_phil
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         """() => PropList newid
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.PropInstanceID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":216
 * 
 * 
 *     def get_class(self):             # <<<<<<<<<<<<<<
 *         """() => PropClassID
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_3get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_14PropInstanceID_2get_class[] = "() => PropClassID\n\n        Determine the class of a property list object.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_3get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_class (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_2get_class(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2get_class(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_class", 0);

  /* "h5py/h5p.pyx":221
 *         Determine the class of a property list object.
 *         """
 *         return PropClassID(H5Pget_class(self.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_class(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 221, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4h5py_3h5p_PropClassID), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":216
 * 
 * 
 *     def get_class(self):             # <<<<<<<<<<<<<<
 *         """() => PropClassID
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5p.PropInstanceID.get_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_4__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropInstanceID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropInstanceID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropInstanceID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropInstanceID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropInstanceID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_6__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropInstanceID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropInstanceID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropInstanceID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropInstanceID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropInstanceID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_12PropCreateID_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_12PropCreateID_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_12PropCreateID___reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropCreateID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_12PropCreateID___reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropCreateID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropCreateID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropCreateID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropCreateID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropCreateID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropCreateID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_12PropCreateID_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_12PropCreateID_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_12PropCreateID_2__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropCreateID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_12PropCreateID_2__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropCreateID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropCreateID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropCreateID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropCreateID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropCreateID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropCreateID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":240
 * 
 *     @with_phil
 *     def set_copy_object(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """(UINT flags)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4h5py_3h5p_10PropCopyID_set_copy_object[] = "(UINT flags)\n\n        Set flags for object copying process.  Legal flags are\n        from the h5o.COPY* family:\n\n        h5o.COPY_SHALLOW_HIERARCHY_FLAG\n            Copy only immediate members of a group.\n\n        h5o.COPY_EXPAND_SOFT_LINK_FLAG\n            Expand soft links into new objects.\n\n        h5o.COPY_EXPAND_EXT_LINK_FLAG\n            Expand external link into new objects.\n\n        h5o.COPY_EXPAND_REFERENCE_FLAG\n            Copy objects that are pointed to by references.\n\n        h5o.COPY_WITHOUT_ATTR_FLAG\n            Copy object without copying attributes.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_copy_object (wrapper)", 0);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 240, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, unsigned int __pyx_v_flags) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_copy_object", 0);

  /* "h5py/h5p.pyx":261
 *             Copy object without copying attributes.
 *         """
 *         H5Pset_copy_object(self.id, flags)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_copy_object(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 261, __pyx_L1_error)

  /* "h5py/h5p.pyx":240
 * 
 *     @with_phil
 *     def set_copy_object(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """(UINT flags)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":265
 * 
 *     @with_phil
 *     def get_copy_object(self):             # <<<<<<<<<<<<<<
 *         """() => UINT flags
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_10PropCopyID_2get_copy_object[] = "() => UINT flags\n\n        Get copy process flags. Legal flags are h5o.COPY*.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_copy_object (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self) {
  unsigned int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_copy_object", 0);

  /* "h5py/h5p.pyx":271
 *         """
 *         cdef unsigned int flags
 *         H5Pget_copy_object(self.id, &flags)             # <<<<<<<<<<<<<<
 *         return flags
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_copy_object(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 271, __pyx_L1_error)

  /* "h5py/h5p.pyx":272
 *         cdef unsigned int flags
 *         H5Pget_copy_object(self.id, &flags)
 *         return flags             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":265
 * 
 *     @with_phil
 *     def get_copy_object(self):             # <<<<<<<<<<<<<<
 *         """() => UINT flags
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropCopyID.get_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_4__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropCopyID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropCopyID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropCopyID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropCopyID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropCopyID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_6__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropCopyID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropCopyID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropCopyID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropCopyID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropCopyID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":287
 * 
 *     @with_phil
 *     def get_version(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE version_info
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_1get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_get_version[] = "() => TUPLE version_info\n\n        Determine version information of various file attributes.\n        Elements are:\n\n        0.  UINT Super block version number\n        1.  UINT Freelist version number\n        2.  UINT Symbol table version number\n        3.  UINT Shared object header version number\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_1get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_version (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_get_version(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
  unsigned int __pyx_v_super_;
  unsigned int __pyx_v_freelist;
  unsigned int __pyx_v_stab;
  unsigned int __pyx_v_shhdr;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_version", 0);

  /* "h5py/h5p.pyx":304
 *         cdef unsigned int shhdr
 * 
 *         H5Pget_version(self.id, &super_, &freelist, &stab, &shhdr)             # <<<<<<<<<<<<<<
 * 
 *         return (super_, freelist, stab, shhdr)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_version(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_super_), (&__pyx_v_freelist), (&__pyx_v_stab), (&__pyx_v_shhdr)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 304, __pyx_L1_error)

  /* "h5py/h5p.pyx":306
 *         H5Pget_version(self.id, &super_, &freelist, &stab, &shhdr)
 * 
 *         return (super_, freelist, stab, shhdr)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_super_); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_freelist); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_stab); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyInt_From_unsigned_int(__pyx_v_shhdr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":287
 * 
 *     @with_phil
 *     def get_version(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE version_info
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_version", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":310
 * 
 *     @with_phil
 *     def set_userblock(self, hsize_t size):             # <<<<<<<<<<<<<<
 *         """(INT/LONG size)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_2set_userblock[] = "(INT/LONG size)\n\n        Set the file user block size, in bytes.\n        Must be a power of 2, and at least 512.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  hsize_t __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_userblock (wrapper)", 0);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyInt_As_hsize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == ((hsize_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 310, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), ((hsize_t)__pyx_v_size));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_userblock", 0);

  /* "h5py/h5p.pyx":316
 *         Must be a power of 2, and at least 512.
 *         """
 *         H5Pset_userblock(self.id, size)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_userblock(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 316, __pyx_L1_error)

  /* "h5py/h5p.pyx":310
 * 
 *     @with_phil
 *     def set_userblock(self, hsize_t size):             # <<<<<<<<<<<<<<
 *         """(INT/LONG size)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":320
 * 
 *     @with_phil
 *     def get_userblock(self):             # <<<<<<<<<<<<<<
 *         """() => LONG size
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_4get_userblock[] = "() => LONG size\n\n        Determine the user block size, in bytes.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_userblock (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
  hsize_t __pyx_v_size;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_userblock", 0);

  /* "h5py/h5p.pyx":326
 *         """
 *         cdef hsize_t size
 *         H5Pget_userblock(self.id, &size)             # <<<<<<<<<<<<<<
 *         return size
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_userblock(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 326, __pyx_L1_error)

  /* "h5py/h5p.pyx":327
 *         cdef hsize_t size
 *         H5Pget_userblock(self.id, &size)
 *         return size             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_hsize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":320
 * 
 *     @with_phil
 *     def get_userblock(self):             # <<<<<<<<<<<<<<
 *         """() => LONG size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":331
 * 
 *     @with_phil
 *     def set_sizes(self, size_t addr, size_t size):             # <<<<<<<<<<<<<<
 *         """(UINT addr, UINT size)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_6set_sizes[] = "(UINT addr, UINT size)\n\n        Set the addressing offsets and lengths for objects\n        in an HDF5 file, in bytes.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_addr;
  size_t __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_sizes (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_addr,&__pyx_n_s_size,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_addr)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_sizes", 1, 2, 2, 1); __PYX_ERR(0, 331, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_sizes") < 0)) __PYX_ERR(0, 331, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_addr = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_addr == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 331, __pyx_L3_error)
    __pyx_v_size = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 331, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_sizes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 331, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), __pyx_v_addr, __pyx_v_size);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, size_t __pyx_v_addr, size_t __pyx_v_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_sizes", 0);

  /* "h5py/h5p.pyx":337
 *         in an HDF5 file, in bytes.
 *         """
 *         H5Pset_sizes(self.id, addr, size)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sizes(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_addr, __pyx_v_size); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 337, __pyx_L1_error)

  /* "h5py/h5p.pyx":331
 * 
 *     @with_phil
 *     def set_sizes(self, size_t addr, size_t size):             # <<<<<<<<<<<<<<
 *         """(UINT addr, UINT size)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":341
 * 
 *     @with_phil
 *     def get_sizes(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE sizes
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_8get_sizes[] = "() => TUPLE sizes\n\n        Determine addressing offsets and lengths for objects in an\n        HDF5 file, in bytes.  Return value is a 2-tuple with values:\n\n        0.  UINT Address offsets\n        1.  UINT Lengths\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_sizes (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
  size_t __pyx_v_addr;
  size_t __pyx_v_size;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_sizes", 0);

  /* "h5py/h5p.pyx":352
 *         cdef size_t addr
 *         cdef size_t size
 *         H5Pget_sizes(self.id, &addr, &size)             # <<<<<<<<<<<<<<
 *         return (addr, size)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sizes(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_addr), (&__pyx_v_size)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 352, __pyx_L1_error)

  /* "h5py/h5p.pyx":353
 *         cdef size_t size
 *         H5Pget_sizes(self.id, &addr, &size)
 *         return (addr, size)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_addr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":341
 * 
 *     @with_phil
 *     def get_sizes(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE sizes
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":357
 * 
 *     @with_phil
 *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_11set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_10set_link_creation_order[] = " (UINT flags)\n\n        Set tracking and indexing of creation order for links added to this group\n\n        flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_11set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_link_creation_order (wrapper)", 0);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 357, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_10set_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_10set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, unsigned int __pyx_v_flags) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_link_creation_order", 0);

  /* "h5py/h5p.pyx":364
 *         flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED
 *         """
 *         H5Pset_link_creation_order(self.id, flags)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 364, __pyx_L1_error)

  /* "h5py/h5p.pyx":357
 * 
 *     @with_phil
 *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":368
 * 
 *     @with_phil
 *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_13get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_12get_link_creation_order[] = " () -> UINT flags\n\n        Get tracking and indexing of creation order for links added to this group\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_13get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_link_creation_order (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_12get_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_12get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
  unsigned int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_link_creation_order", 0);

  /* "h5py/h5p.pyx":374
 *         """
 *         cdef unsigned int flags
 *         H5Pget_link_creation_order(self.id, &flags)             # <<<<<<<<<<<<<<
 *         return flags
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 374, __pyx_L1_error)

  /* "h5py/h5p.pyx":375
 *         cdef unsigned int flags
 *         H5Pget_link_creation_order(self.id, &flags)
 *         return flags             # <<<<<<<<<<<<<<
 * 
 *     if HDF5_VERSION >= (1, 10, 1):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":368
 * 
 *     @with_phil
 *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":379
 *     if HDF5_VERSION >= (1, 10, 1):
 *         @with_phil
 *         def set_file_space_strategy(self, unsigned int strategy, bint persist,             # <<<<<<<<<<<<<<
 *                 unsigned long long threshold):
 *             """ (UINT strategy, BOOL persist, ULONGLONG threshold)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_15set_file_space_strategy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_14set_file_space_strategy[] = " (UINT strategy, BOOL persist, ULONGLONG threshold)\n\n            Set the file space handling strategy and persisting free-space values.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_15set_file_space_strategy(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_strategy;
  int __pyx_v_persist;
  unsigned PY_LONG_LONG __pyx_v_threshold;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_file_space_strategy (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_strategy,&__pyx_n_s_persist,&__pyx_n_s_threshold,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_strategy)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_persist)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_file_space_strategy", 1, 3, 3, 1); __PYX_ERR(0, 379, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_threshold)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_file_space_strategy", 1, 3, 3, 2); __PYX_ERR(0, 379, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_file_space_strategy") < 0)) __PYX_ERR(0, 379, __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_strategy = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_strategy == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 379, __pyx_L3_error)
    __pyx_v_persist = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_persist == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 379, __pyx_L3_error)
    __pyx_v_threshold = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(values[2]); if (unlikely((__pyx_v_threshold == (unsigned PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 380, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_file_space_strategy", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 379, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_file_space_strategy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_14set_file_space_strategy(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), __pyx_v_strategy, __pyx_v_persist, __pyx_v_threshold);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_14set_file_space_strategy(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, unsigned int __pyx_v_strategy, int __pyx_v_persist, unsigned PY_LONG_LONG __pyx_v_threshold) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_file_space_strategy", 0);

  /* "h5py/h5p.pyx":385
 *             Set the file space handling strategy and persisting free-space values.
 *             """
 *             H5Pset_file_space_strategy(self.id, <H5F_fspace_strategy_t>strategy,             # <<<<<<<<<<<<<<
 *                     <hbool_t>persist, <hsize_t>threshold)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_file_space_strategy(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((enum H5F_fspace_strategy_t)__pyx_v_strategy), ((hbool_t)__pyx_v_persist), ((hsize_t)__pyx_v_threshold)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 385, __pyx_L1_error)

  /* "h5py/h5p.pyx":379
 *     if HDF5_VERSION >= (1, 10, 1):
 *         @with_phil
 *         def set_file_space_strategy(self, unsigned int strategy, bint persist,             # <<<<<<<<<<<<<<
 *                 unsigned long long threshold):
 *             """ (UINT strategy, BOOL persist, ULONGLONG threshold)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_file_space_strategy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":389
 * 
 *         @with_phil
 *         def get_file_space_strategy(self):             # <<<<<<<<<<<<<<
 *             """ () => TUPLE(UINT strategy, BOOL persist, ULONGLONG threshold)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_17get_file_space_strategy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_16get_file_space_strategy[] = " () => TUPLE(UINT strategy, BOOL persist, ULONGLONG threshold)\n\n            Retrieve the file space handling strategy, persisting free-space\n            condition and threshold value for a file creation property list.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_17get_file_space_strategy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_file_space_strategy (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_16get_file_space_strategy(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_16get_file_space_strategy(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
  enum H5F_fspace_strategy_t __pyx_v_strategy;
  hbool_t __pyx_v_persist;
  hsize_t __pyx_v_threshold;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_file_space_strategy", 0);

  /* "h5py/h5p.pyx":399
 *             cdef hsize_t threshold
 * 
 *             H5Pget_file_space_strategy(self.id, &strategy, &persist, &threshold)             # <<<<<<<<<<<<<<
 *             return (strategy, persist, threshold)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_file_space_strategy(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_strategy), (&__pyx_v_persist), (&__pyx_v_threshold)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 399, __pyx_L1_error)

  /* "h5py/h5p.pyx":400
 * 
 *             H5Pget_file_space_strategy(self.id, &strategy, &persist, &threshold)
 *             return (strategy, persist, threshold)             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_enum__H5F_fspace_strategy_t(__pyx_v_strategy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_hbool_t(__pyx_v_persist); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_hsize_t(__pyx_v_threshold); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":389
 * 
 *         @with_phil
 *         def get_file_space_strategy(self):             # <<<<<<<<<<<<<<
 *             """ () => TUPLE(UINT strategy, BOOL persist, ULONGLONG threshold)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_file_space_strategy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":403
 * 
 *         @with_phil
 *         def set_file_space_page_size(self, hsize_t fsp_size):             # <<<<<<<<<<<<<<
 *             """ (LONG fsp_size)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_19set_file_space_page_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_fsp_size); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_18set_file_space_page_size[] = " (LONG fsp_size)\n\n            Set the file space page size used in paged aggregation and paged\n            buffering. Minimum page size is 512 bytes. A value less than 512 will raise\n            an error. The size set may not be changed for the life of the file.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_19set_file_space_page_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_fsp_size) {
  hsize_t __pyx_v_fsp_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_file_space_page_size (wrapper)", 0);
  assert(__pyx_arg_fsp_size); {
    __pyx_v_fsp_size = __Pyx_PyInt_As_hsize_t(__pyx_arg_fsp_size); if (unlikely((__pyx_v_fsp_size == ((hsize_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 403, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_file_space_page_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_18set_file_space_page_size(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), ((hsize_t)__pyx_v_fsp_size));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_18set_file_space_page_size(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_fsp_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_file_space_page_size", 0);

  /* "h5py/h5p.pyx":410
 *             an error. The size set may not be changed for the life of the file.
 *             """
 *             H5Pset_file_space_page_size(self.id, <hsize_t>fsp_size)             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_file_space_page_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((hsize_t)__pyx_v_fsp_size)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 410, __pyx_L1_error)

  /* "h5py/h5p.pyx":403
 * 
 *         @with_phil
 *         def set_file_space_page_size(self, hsize_t fsp_size):             # <<<<<<<<<<<<<<
 *             """ (LONG fsp_size)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_file_space_page_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":413
 * 
 *         @with_phil
 *         def get_file_space_page_size(self):             # <<<<<<<<<<<<<<
 *             """ () -> LONG fsp_size
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_21get_file_space_page_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFCID_20get_file_space_page_size[] = " () -> LONG fsp_size\n\n            Retrieve the file space page size.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_21get_file_space_page_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_file_space_page_size (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_20get_file_space_page_size(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_20get_file_space_page_size(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
  hsize_t __pyx_v_fsp_size;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_file_space_page_size", 0);

  /* "h5py/h5p.pyx":419
 *             """
 *             cdef hsize_t fsp_size
 *             H5Pget_file_space_page_size(self.id, &fsp_size)             # <<<<<<<<<<<<<<
 *             return fsp_size
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_file_space_page_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_fsp_size)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 419, __pyx_L1_error)

  /* "h5py/h5p.pyx":420
 *             cdef hsize_t fsp_size
 *             H5Pget_file_space_page_size(self.id, &fsp_size)
 *             return fsp_size             # <<<<<<<<<<<<<<
 * 
 * # Dataset creation
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_hsize_t(__pyx_v_fsp_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":413
 * 
 *         @with_phil
 *         def get_file_space_page_size(self):             # <<<<<<<<<<<<<<
 *             """ () -> LONG fsp_size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_file_space_page_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_23__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_22__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_22__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropFCID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropFCID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropFCID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropFCID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropFCID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_25__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_24__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_24__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropFCID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropFCID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropFCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropFCID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropFCID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":430
 * 
 *     @with_phil
 *     def set_layout(self, int layout_code):             # <<<<<<<<<<<<<<
 *         """(INT layout_code)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_set_layout[] = "(INT layout_code)\n\n        Set dataset storage strategy; legal values are:\n\n        - h5d.COMPACT\n        - h5d.CONTIGUOUS\n        - h5d.CHUNKED\n        - h5d.VIRTUAL (If using HDF5 library version 1.10 or later)\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code) {
  int __pyx_v_layout_code;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_layout (wrapper)", 0);
  assert(__pyx_arg_layout_code); {
    __pyx_v_layout_code = __Pyx_PyInt_As_int(__pyx_arg_layout_code); if (unlikely((__pyx_v_layout_code == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 430, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_set_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_layout_code));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_layout_code) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_layout", 0);

  /* "h5py/h5p.pyx":440
 *         - h5d.VIRTUAL (If using HDF5 library version 1.10 or later)
 *         """
 *         H5Pset_layout(self.id, <H5D_layout_t>layout_code)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_layout(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_layout_t)__pyx_v_layout_code)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 440, __pyx_L1_error)

  /* "h5py/h5p.pyx":430
 * 
 *     @with_phil
 *     def set_layout(self, int layout_code):             # <<<<<<<<<<<<<<
 *         """(INT layout_code)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":444
 * 
 *     @with_phil
 *     def get_layout(self):             # <<<<<<<<<<<<<<
 *         """() => INT layout_code
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_2get_layout[] = "() => INT layout_code\n\n        Determine the storage strategy of a dataset; legal values are:\n\n        - h5d.COMPACT\n        - h5d.CONTIGUOUS\n        - h5d.CHUNKED\n        - h5d.VIRTUAL (If using HDF5 library version 1.10 or later)\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_layout (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  H5D_layout_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_layout", 0);

  /* "h5py/h5p.pyx":454
 *         - h5d.VIRTUAL (If using HDF5 library version 1.10 or later)
 *         """
 *         return <int>H5Pget_layout(self.id)             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_layout(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((H5D_layout_t)((H5D_layout_t)-1L)))) __PYX_ERR(0, 454, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":444
 * 
 *     @with_phil
 *     def get_layout(self):             # <<<<<<<<<<<<<<
 *         """() => INT layout_code
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":457
 * 
 *     @with_phil
 *     def set_chunk(self, object chunksize):             # <<<<<<<<<<<<<<
 *         """(TUPLE chunksize)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_4set_chunk[] = "(TUPLE chunksize)\n\n        Set the dataset chunk size.  It's up to you to provide\n        values which are compatible with your dataset.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_chunk (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyObject *)__pyx_v_chunksize));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_chunksize) {
  int __pyx_v_rank;
  hsize_t *__pyx_v_dims;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  void *__pyx_t_3;
  herr_t __pyx_t_4;
  int __pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_chunk", 0);

  /* "h5py/h5p.pyx":465
 *         cdef int rank
 *         cdef hsize_t* dims
 *         dims = NULL             # <<<<<<<<<<<<<<
 * 
 *         require_tuple(chunksize, 0, -1, b"chunksize")
 */
  __pyx_v_dims = NULL;

  /* "h5py/h5p.pyx":467
 *         dims = NULL
 * 
 *         require_tuple(chunksize, 0, -1, b"chunksize")             # <<<<<<<<<<<<<<
 *         rank = len(chunksize)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_chunksize, 0, -1, ((char *)"chunksize")); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 467, __pyx_L1_error)

  /* "h5py/h5p.pyx":468
 * 
 *         require_tuple(chunksize, 0, -1, b"chunksize")
 *         rank = len(chunksize)             # <<<<<<<<<<<<<<
 * 
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 */
  __pyx_t_2 = PyObject_Length(__pyx_v_chunksize); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 468, __pyx_L1_error)
  __pyx_v_rank = __pyx_t_2;

  /* "h5py/h5p.pyx":470
 *         rank = len(chunksize)
 * 
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
 *         try:
 *             convert_tuple(chunksize, dims, rank)
 */
  __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 470, __pyx_L1_error)
  __pyx_v_dims = ((hsize_t *)__pyx_t_3);

  /* "h5py/h5p.pyx":471
 * 
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 *         try:             # <<<<<<<<<<<<<<
 *             convert_tuple(chunksize, dims, rank)
 *             H5Pset_chunk(self.id, rank, dims)
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":472
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 *         try:
 *             convert_tuple(chunksize, dims, rank)             # <<<<<<<<<<<<<<
 *             H5Pset_chunk(self.id, rank, dims)
 *         finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_chunksize, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 472, __pyx_L4_error)

    /* "h5py/h5p.pyx":473
 *         try:
 *             convert_tuple(chunksize, dims, rank)
 *             H5Pset_chunk(self.id, rank, dims)             # <<<<<<<<<<<<<<
 *         finally:
 *             efree(dims)
 */
    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Pset_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(__pyx_t_4 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 473, __pyx_L4_error)
  }

  /* "h5py/h5p.pyx":475
 *             H5Pset_chunk(self.id, rank, dims)
 *         finally:
 *             efree(dims)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __pyx_t_1 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename;
      {
        __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
      }
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "h5py/h5p.pyx":457
 * 
 *     @with_phil
 *     def set_chunk(self, object chunksize):             # <<<<<<<<<<<<<<
 *         """(TUPLE chunksize)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":479
 * 
 *     @with_phil
 *     def get_chunk(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE chunk_dimensions
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_6get_chunk[] = "() => TUPLE chunk_dimensions\n\n        Obtain the dataset chunk size, as a tuple.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_chunk (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  int __pyx_v_rank;
  hsize_t *__pyx_v_dims;
  PyObject *__pyx_v_tpl = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  void *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  char const *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_chunk", 0);

  /* "h5py/h5p.pyx":487
 *         cdef hsize_t *dims
 * 
 *         rank = H5Pget_chunk(self.id, 0, NULL)             # <<<<<<<<<<<<<<
 *         assert rank >= 0
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, 0, NULL); if (unlikely(__pyx_t_1 == ((int)((int)-1L)))) __PYX_ERR(0, 487, __pyx_L1_error)
  __pyx_v_rank = __pyx_t_1;

  /* "h5py/h5p.pyx":488
 * 
 *         rank = H5Pget_chunk(self.id, 0, NULL)
 *         assert rank >= 0             # <<<<<<<<<<<<<<
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    if (unlikely(!((__pyx_v_rank >= 0) != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 488, __pyx_L1_error)
    }
  }
  #endif

  /* "h5py/h5p.pyx":489
 *         rank = H5Pget_chunk(self.id, 0, NULL)
 *         assert rank >= 0
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 489, __pyx_L1_error)
  __pyx_v_dims = ((hsize_t *)__pyx_t_2);

  /* "h5py/h5p.pyx":491
 *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             H5Pget_chunk(self.id, rank, dims)
 *             tpl = convert_dims(dims, rank)
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":492
 * 
 *         try:
 *             H5Pget_chunk(self.id, rank, dims)             # <<<<<<<<<<<<<<
 *             tpl = convert_dims(dims, rank)
 *             return tpl
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(__pyx_t_1 == ((int)((int)-1L)))) __PYX_ERR(0, 492, __pyx_L4_error)

    /* "h5py/h5p.pyx":493
 *         try:
 *             H5Pget_chunk(self.id, rank, dims)
 *             tpl = convert_dims(dims, rank)             # <<<<<<<<<<<<<<
 *             return tpl
 *         finally:
 */
    __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 493, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_tpl = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "h5py/h5p.pyx":494
 *             H5Pget_chunk(self.id, rank, dims)
 *             tpl = convert_dims(dims, rank)
 *             return tpl             # <<<<<<<<<<<<<<
 *         finally:
 *             efree(dims)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_tpl);
    __pyx_r = __pyx_v_tpl;
    goto __pyx_L3_return;
  }

  /* "h5py/h5p.pyx":496
 *             return tpl
 *         finally:
 *             efree(dims)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*finally:*/ {
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __pyx_t_1 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename;
      {
        __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
      }
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8);
      __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5;
      goto __pyx_L1_error;
    }
    __pyx_L3_return: {
      __pyx_t_11 = __pyx_r;
      __pyx_r = 0;
      __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
      __pyx_r = __pyx_t_11;
      __pyx_t_11 = 0;
      goto __pyx_L0;
    }
  }

  /* "h5py/h5p.pyx":479
 * 
 *     @with_phil
 *     def get_chunk(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE chunk_dimensions
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_tpl);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":500
 * 
 *     @with_phil
 *     def set_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
 *         """(NDARRAY value)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_8set_fill_value[] = "(NDARRAY value)\n\n        Set the dataset fill value.  The object provided should be an\n        0-dimensional NumPy array; otherwise, the value will be read from\n        the first element.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fill_value (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5numpy_ndarray, 0, "value", 0))) __PYX_ERR(0, 500, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  herr_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fill_value", 0);

  /* "h5py/h5p.pyx":509
 *         cdef TypeID tid
 * 
 *         check_numpy_read(value, -1)             # <<<<<<<<<<<<<<
 *         tid = py_create(value.dtype)
 *         H5Pset_fill_value(self.id, tid.id, value.data)
 */
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.space_id = -1L;
  __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_read(__pyx_v_value, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 509, __pyx_L1_error)

  /* "h5py/h5p.pyx":510
 * 
 *         check_numpy_read(value, -1)
 *         tid = py_create(value.dtype)             # <<<<<<<<<<<<<<
 *         H5Pset_fill_value(self.id, tid.id, value.data)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_value), __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_3, 0, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5p.pyx":511
 *         check_numpy_read(value, -1)
 *         tid = py_create(value.dtype)
 *         H5Pset_fill_value(self.id, tid.id, value.data)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pset_fill_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, __pyx_v_value->data); if (unlikely(__pyx_t_5 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 511, __pyx_L1_error)

  /* "h5py/h5p.pyx":500
 * 
 *     @with_phil
 *     def set_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
 *         """(NDARRAY value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":515
 * 
 *     @with_phil
 *     def get_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
 *         """(NDARRAY value)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_10get_fill_value[] = "(NDARRAY value)\n\n        Read the dataset fill value into a NumPy array.  It will be\n        converted to match the array dtype.  If the array has nonzero\n        rank, only the first element will contain the value.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_fill_value (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_5numpy_ndarray, 0, "value", 0))) __PYX_ERR(0, 515, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value) {
  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  herr_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_fill_value", 0);

  /* "h5py/h5p.pyx":524
 *         cdef TypeID tid
 * 
 *         check_numpy_write(value, -1)             # <<<<<<<<<<<<<<
 *         tid = py_create(value.dtype)
 *         H5Pget_fill_value(self.id, tid.id, value.data)
 */
  __pyx_t_2.__pyx_n = 1;
  __pyx_t_2.space_id = -1L;
  __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_write(__pyx_v_value, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 524, __pyx_L1_error)

  /* "h5py/h5p.pyx":525
 * 
 *         check_numpy_write(value, -1)
 *         tid = py_create(value.dtype)             # <<<<<<<<<<<<<<
 *         H5Pget_fill_value(self.id, tid.id, value.data)
 * 
 */
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_value), __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_3, 0, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "h5py/h5p.pyx":526
 *         check_numpy_write(value, -1)
 *         tid = py_create(value.dtype)
 *         H5Pget_fill_value(self.id, tid.id, value.data)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pget_fill_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, __pyx_v_value->data); if (unlikely(__pyx_t_5 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 526, __pyx_L1_error)

  /* "h5py/h5p.pyx":515
 * 
 *     @with_phil
 *     def get_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
 *         """(NDARRAY value)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":530
 * 
 *     @with_phil
 *     def fill_value_defined(self):             # <<<<<<<<<<<<<<
 *         """() => INT fill_status
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_12fill_value_defined[] = "() => INT fill_status\n\n        Determine the status of the dataset fill value.  Return values are:\n\n        - h5d.FILL_VALUE_UNDEFINED\n        - h5d.FILL_VALUE_DEFAULT\n        - h5d.FILL_VALUE_USER_DEFINED\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fill_value_defined (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  H5D_fill_value_t __pyx_v_val;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fill_value_defined", 0);

  /* "h5py/h5p.pyx":540
 *         """
 *         cdef H5D_fill_value_t val
 *         H5Pfill_value_defined(self.id, &val)             # <<<<<<<<<<<<<<
 *         return <int>val
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pfill_value_defined(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_val)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 540, __pyx_L1_error)

  /* "h5py/h5p.pyx":541
 *         cdef H5D_fill_value_t val
 *         H5Pfill_value_defined(self.id, &val)
 *         return <int>val             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_v_val)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":530
 * 
 *     @with_phil
 *     def fill_value_defined(self):             # <<<<<<<<<<<<<<
 *         """() => INT fill_status
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.fill_value_defined", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":545
 * 
 *     @with_phil
 *     def set_fill_time(self, int fill_time):             # <<<<<<<<<<<<<<
 *         """(INT fill_time)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_14set_fill_time[] = "(INT fill_time)\n\n        Define when fill values are written to the dataset.  Legal\n        values (defined in module h5d) are:\n\n        - h5d.FILL_TIME_ALLOC\n        - h5d.FILL_TIME_NEVER\n        - h5d.FILL_TIME_IFSET\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time) {
  int __pyx_v_fill_time;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fill_time (wrapper)", 0);
  assert(__pyx_arg_fill_time); {
    __pyx_v_fill_time = __Pyx_PyInt_As_int(__pyx_arg_fill_time); if (unlikely((__pyx_v_fill_time == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 545, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_fill_time));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_fill_time) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fill_time", 0);

  /* "h5py/h5p.pyx":555
 *         - h5d.FILL_TIME_IFSET
 *         """
 *         H5Pset_fill_time(self.id, <H5D_fill_time_t>fill_time)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fill_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_fill_time_t)__pyx_v_fill_time)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 555, __pyx_L1_error)

  /* "h5py/h5p.pyx":545
 * 
 *     @with_phil
 *     def set_fill_time(self, int fill_time):             # <<<<<<<<<<<<<<
 *         """(INT fill_time)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":559
 * 
 *     @with_phil
 *     def get_fill_time(self):             # <<<<<<<<<<<<<<
 *         """ () => INT
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_16get_fill_time[] = " () => INT\n\n        Determine when fill values are written to the dataset.  Legal\n        values (defined in module h5d) are:\n\n        - h5d.FILL_TIME_ALLOC\n        - h5d.FILL_TIME_NEVER\n        - h5d.FILL_TIME_IFSET\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_fill_time (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  H5D_fill_time_t __pyx_v_fill_time;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_fill_time", 0);

  /* "h5py/h5p.pyx":570
 *         """
 *         cdef H5D_fill_time_t fill_time
 *         H5Pget_fill_time(self.id, &fill_time)             # <<<<<<<<<<<<<<
 *         return <int>fill_time
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fill_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_fill_time)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 570, __pyx_L1_error)

  /* "h5py/h5p.pyx":571
 *         cdef H5D_fill_time_t fill_time
 *         H5Pget_fill_time(self.id, &fill_time)
 *         return <int>fill_time             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_v_fill_time)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":559
 * 
 *     @with_phil
 *     def get_fill_time(self):             # <<<<<<<<<<<<<<
 *         """ () => INT
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":575
 * 
 *     @with_phil
 *     def set_alloc_time(self, int alloc_time):             # <<<<<<<<<<<<<<
 *         """(INT alloc_time)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_18set_alloc_time[] = "(INT alloc_time)\n\n        Set the storage space allocation time.  One of h5d.ALLOC_TIME*.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time) {
  int __pyx_v_alloc_time;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_alloc_time (wrapper)", 0);
  assert(__pyx_arg_alloc_time); {
    __pyx_v_alloc_time = __Pyx_PyInt_As_int(__pyx_arg_alloc_time); if (unlikely((__pyx_v_alloc_time == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 575, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_alloc_time));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_alloc_time) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_alloc_time", 0);

  /* "h5py/h5p.pyx":580
 *         Set the storage space allocation time.  One of h5d.ALLOC_TIME*.
 *         """
 *         H5Pset_alloc_time(self.id, <H5D_alloc_time_t>alloc_time)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_alloc_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_alloc_time_t)__pyx_v_alloc_time)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 580, __pyx_L1_error)

  /* "h5py/h5p.pyx":575
 * 
 *     @with_phil
 *     def set_alloc_time(self, int alloc_time):             # <<<<<<<<<<<<<<
 *         """(INT alloc_time)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":584
 * 
 *     @with_phil
 *     def get_alloc_time(self):             # <<<<<<<<<<<<<<
 *         """() => INT alloc_time
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_20get_alloc_time[] = "() => INT alloc_time\n\n        Get the storage space allocation time.  One of h5d.ALLOC_TIME*.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_alloc_time (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  H5D_alloc_time_t __pyx_v_alloc_time;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_alloc_time", 0);

  /* "h5py/h5p.pyx":590
 *         """
 *         cdef H5D_alloc_time_t alloc_time
 *         H5Pget_alloc_time(self.id, &alloc_time)             # <<<<<<<<<<<<<<
 *         return <int>alloc_time
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_alloc_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_alloc_time)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 590, __pyx_L1_error)

  /* "h5py/h5p.pyx":591
 *         cdef H5D_alloc_time_t alloc_time
 *         H5Pget_alloc_time(self.id, &alloc_time)
 *         return <int>alloc_time             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_v_alloc_time)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":584
 * 
 *     @with_phil
 *     def get_alloc_time(self):             # <<<<<<<<<<<<<<
 *         """() => INT alloc_time
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":597
 * 
 *     @with_phil
 *     def set_filter(self, int filter_code, unsigned int flags=0, object values=None):             # <<<<<<<<<<<<<<
 *         """(INT filter_code, UINT flags=0, TUPLE values=None)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_22set_filter[] = "(INT filter_code, UINT flags=0, TUPLE values=None)\n\n        Set a filter in the pipeline.  Params are:\n\n        filter_code\n            One of the following:\n\n            - h5z.FILTER_DEFLATE\n            - h5z.FILTER_SHUFFLE\n            - h5z.FILTER_FLETCHER32\n            - h5z.FILTER_SZIP\n\n        flags\n            Bit flags (h5z.FLAG*) setting filter properties\n\n        values\n            TUPLE of UINTs giving auxiliary data for the filter\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_filter_code;
  unsigned int __pyx_v_flags;
  PyObject *__pyx_v_values = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_filter (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filter_code,&__pyx_n_s_flags,&__pyx_n_s_values,0};
    PyObject* values[3] = {0,0,0};
    values[2] = ((PyObject *)Py_None);
    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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filter_code)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_values);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_filter") < 0)) __PYX_ERR(0, 597, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_filter_code = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 597, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 597, __pyx_L3_error)
    } else {
      __pyx_v_flags = ((unsigned int)0);
    }
    __pyx_v_values = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_filter", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 597, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_filter_code, __pyx_v_flags, __pyx_v_values);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code, unsigned int __pyx_v_flags, PyObject *__pyx_v_values) {
  size_t __pyx_v_nelements;
  unsigned int *__pyx_v_cd_values;
  int __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  void *__pyx_t_6;
  size_t __pyx_t_7;
  size_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  unsigned int __pyx_t_11;
  herr_t __pyx_t_12;
  int __pyx_t_13;
  char const *__pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_filter", 0);

  /* "h5py/h5p.pyx":619
 *         cdef unsigned int *cd_values
 *         cdef int i
 *         cd_values = NULL             # <<<<<<<<<<<<<<
 * 
 *         require_tuple(values, 1, -1, b"values")
 */
  __pyx_v_cd_values = NULL;

  /* "h5py/h5p.pyx":621
 *         cd_values = NULL
 * 
 *         require_tuple(values, 1, -1, b"values")             # <<<<<<<<<<<<<<
 * 
 *         try:
 */
  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_values, 1, -1, ((char *)"values")); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 621, __pyx_L1_error)

  /* "h5py/h5p.pyx":623
 *         require_tuple(values, 1, -1, b"values")
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             if values is None or len(values) == 0:
 *                 nelements = 0
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":624
 * 
 *         try:
 *             if values is None or len(values) == 0:             # <<<<<<<<<<<<<<
 *                 nelements = 0
 *                 cd_values = NULL
 */
    __pyx_t_3 = (__pyx_v_values == Py_None);
    __pyx_t_4 = (__pyx_t_3 != 0);
    if (!__pyx_t_4) {
    } else {
      __pyx_t_2 = __pyx_t_4;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_5 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 624, __pyx_L4_error)
    __pyx_t_4 = ((__pyx_t_5 == 0) != 0);
    __pyx_t_2 = __pyx_t_4;
    __pyx_L7_bool_binop_done:;
    if (__pyx_t_2) {

      /* "h5py/h5p.pyx":625
 *         try:
 *             if values is None or len(values) == 0:
 *                 nelements = 0             # <<<<<<<<<<<<<<
 *                 cd_values = NULL
 *             else:
 */
      __pyx_v_nelements = 0;

      /* "h5py/h5p.pyx":626
 *             if values is None or len(values) == 0:
 *                 nelements = 0
 *                 cd_values = NULL             # <<<<<<<<<<<<<<
 *             else:
 *                 nelements = len(values)
 */
      __pyx_v_cd_values = NULL;

      /* "h5py/h5p.pyx":624
 * 
 *         try:
 *             if values is None or len(values) == 0:             # <<<<<<<<<<<<<<
 *                 nelements = 0
 *                 cd_values = NULL
 */
      goto __pyx_L6;
    }

    /* "h5py/h5p.pyx":628
 *                 cd_values = NULL
 *             else:
 *                 nelements = len(values)             # <<<<<<<<<<<<<<
 *                 cd_values = <unsigned int*>emalloc(sizeof(unsigned int)*nelements)
 * 
 */
    /*else*/ {
      __pyx_t_5 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 628, __pyx_L4_error)
      __pyx_v_nelements = __pyx_t_5;

      /* "h5py/h5p.pyx":629
 *             else:
 *                 nelements = len(values)
 *                 cd_values = <unsigned int*>emalloc(sizeof(unsigned int)*nelements)             # <<<<<<<<<<<<<<
 * 
 *                 for i in range(nelements):
 */
      __pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(((sizeof(unsigned int)) * __pyx_v_nelements)); if (unlikely(__pyx_t_6 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 629, __pyx_L4_error)
      __pyx_v_cd_values = ((unsigned int *)__pyx_t_6);

      /* "h5py/h5p.pyx":631
 *                 cd_values = <unsigned int*>emalloc(sizeof(unsigned int)*nelements)
 * 
 *                 for i in range(nelements):             # <<<<<<<<<<<<<<
 *                     cd_values[i] = int(values[i])
 * 
 */
      __pyx_t_7 = __pyx_v_nelements;
      __pyx_t_8 = __pyx_t_7;
      for (__pyx_t_1 = 0; __pyx_t_1 < __pyx_t_8; __pyx_t_1+=1) {
        __pyx_v_i = __pyx_t_1;

        /* "h5py/h5p.pyx":632
 * 
 *                 for i in range(nelements):
 *                     cd_values[i] = int(values[i])             # <<<<<<<<<<<<<<
 * 
 *             H5Pset_filter(self.id, <H5Z_filter_t>filter_code, flags, nelements, cd_values)
 */
        __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_values, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 632, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = __Pyx_PyNumber_Int(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 632, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_10);
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_11 = __Pyx_PyInt_As_unsigned_int(__pyx_t_10); if (unlikely((__pyx_t_11 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 632, __pyx_L4_error)
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        (__pyx_v_cd_values[__pyx_v_i]) = __pyx_t_11;
      }
    }
    __pyx_L6:;

    /* "h5py/h5p.pyx":634
 *                     cd_values[i] = int(values[i])
 * 
 *             H5Pset_filter(self.id, <H5Z_filter_t>filter_code, flags, nelements, cd_values)             # <<<<<<<<<<<<<<
 *         finally:
 *             efree(cd_values)
 */
    __pyx_t_12 = __pyx_f_4h5py_4defs_H5Pset_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), __pyx_v_flags, __pyx_v_nelements, __pyx_v_cd_values); if (unlikely(__pyx_t_12 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 634, __pyx_L4_error)
  }

  /* "h5py/h5p.pyx":636
 *             H5Pset_filter(self.id, <H5Z_filter_t>filter_code, flags, nelements, cd_values)
 *         finally:
 *             efree(cd_values)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_f_4h5py_5utils_efree(__pyx_v_cd_values);
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17);
      __Pyx_XGOTREF(__pyx_t_15);
      __Pyx_XGOTREF(__pyx_t_16);
      __Pyx_XGOTREF(__pyx_t_17);
      __Pyx_XGOTREF(__pyx_t_18);
      __Pyx_XGOTREF(__pyx_t_19);
      __Pyx_XGOTREF(__pyx_t_20);
      __pyx_t_1 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename;
      {
        __pyx_f_4h5py_5utils_efree(__pyx_v_cd_values);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_18);
        __Pyx_XGIVEREF(__pyx_t_19);
        __Pyx_XGIVEREF(__pyx_t_20);
        __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20);
      }
      __Pyx_XGIVEREF(__pyx_t_15);
      __Pyx_XGIVEREF(__pyx_t_16);
      __Pyx_XGIVEREF(__pyx_t_17);
      __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17);
      __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0;
      __pyx_lineno = __pyx_t_1; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "h5py/h5p.pyx":597
 * 
 *     @with_phil
 *     def set_filter(self, int filter_code, unsigned int flags=0, object values=None):             # <<<<<<<<<<<<<<
 *         """(INT filter_code, UINT flags=0, TUPLE values=None)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":640
 * 
 *     @with_phil
 *     def all_filters_avail(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_24all_filters_avail[] = "() => BOOL\n\n        Determine if all the filters in the pipelist are available to\n        the library.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("all_filters_avail (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  htri_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("all_filters_avail", 0);

  /* "h5py/h5p.pyx":646
 *         the library.
 *         """
 *         return <bint>(H5Pall_filters_avail(self.id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pall_filters_avail(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((htri_t)((htri_t)-1L)))) __PYX_ERR(0, 646, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_t_1 != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 646, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":640
 * 
 *     @with_phil
 *     def all_filters_avail(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.all_filters_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":650
 * 
 *     @with_phil
 *     def get_nfilters(self):             # <<<<<<<<<<<<<<
 *         """() => INT
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_26get_nfilters[] = "() => INT\n\n        Determine the number of filters in the pipeline.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_nfilters (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_nfilters", 0);

  /* "h5py/h5p.pyx":655
 *         Determine the number of filters in the pipeline.
 *         """
 *         return H5Pget_nfilters(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nfilters(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((int)((int)-1L)))) __PYX_ERR(0, 655, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":650
 * 
 *     @with_phil
 *     def get_nfilters(self):             # <<<<<<<<<<<<<<
 *         """() => INT
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_nfilters", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":659
 * 
 *     @with_phil
 *     def get_filter(self, int filter_idx):             # <<<<<<<<<<<<<<
 *         """(UINT filter_idx) => TUPLE filter_info
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_28get_filter[] = "(UINT filter_idx) => TUPLE filter_info\n\n        Get information about a filter, identified by its index.  Tuple\n        elements are:\n\n        0. INT filter code (h5z.FILTER*)\n        1. UINT flags (h5z.FLAG*)\n        2. TUPLE of UINT values; filter aux data (16 values max)\n        3. STRING name of filter (256 chars max)\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx) {
  int __pyx_v_filter_idx;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_filter (wrapper)", 0);
  assert(__pyx_arg_filter_idx); {
    __pyx_v_filter_idx = __Pyx_PyInt_As_int(__pyx_arg_filter_idx); if (unlikely((__pyx_v_filter_idx == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_idx));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_idx) {
  PyObject *__pyx_v_vlist = 0;
  int __pyx_v_filter_code;
  unsigned int __pyx_v_flags;
  size_t __pyx_v_nelements;
  unsigned int __pyx_v_cd_values[16];
  char __pyx_v_name[0x101];
  int __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  H5Z_filter_t __pyx_t_3;
  size_t __pyx_t_4;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_filter", 0);

  /* "h5py/h5p.pyx":677
 *         cdef char name[257]
 *         cdef int i
 *         nelements = 16 # HDF5 library actually complains if this is too big.             # <<<<<<<<<<<<<<
 * 
 *         if filter_idx < 0:
 */
  __pyx_v_nelements = 16;

  /* "h5py/h5p.pyx":679
 *         nelements = 16 # HDF5 library actually complains if this is too big.
 * 
 *         if filter_idx < 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Filter index must be a non-negative integer")
 * 
 */
  __pyx_t_1 = ((__pyx_v_filter_idx < 0) != 0);
  if (unlikely(__pyx_t_1)) {

    /* "h5py/h5p.pyx":680
 * 
 *         if filter_idx < 0:
 *             raise ValueError("Filter index must be a non-negative integer")             # <<<<<<<<<<<<<<
 * 
 *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,
 */
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 680, __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_ERR(0, 680, __pyx_L1_error)

    /* "h5py/h5p.pyx":679
 *         nelements = 16 # HDF5 library actually complains if this is too big.
 * 
 *         if filter_idx < 0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Filter index must be a non-negative integer")
 * 
 */
  }

  /* "h5py/h5p.pyx":682
 *             raise ValueError("Filter index must be a non-negative integer")
 * 
 *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,             # <<<<<<<<<<<<<<
 *                                          &nelements, cd_values, 256, name, NULL)
 *         name[256] = c'\0'  # in case it's > 256 chars
 */
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pget_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_filter_idx, (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 0x100, __pyx_v_name, NULL); if (unlikely(__pyx_t_3 == ((H5Z_filter_t)((H5Z_filter_t)-1L)))) __PYX_ERR(0, 682, __pyx_L1_error)
  __pyx_v_filter_code = ((int)__pyx_t_3);

  /* "h5py/h5p.pyx":684
 *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,
 *                                          &nelements, cd_values, 256, name, NULL)
 *         name[256] = c'\0'  # in case it's > 256 chars             # <<<<<<<<<<<<<<
 * 
 *         vlist = []
 */
  (__pyx_v_name[0x100]) = '\x00';

  /* "h5py/h5p.pyx":686
 *         name[256] = c'\0'  # in case it's > 256 chars
 * 
 *         vlist = []             # <<<<<<<<<<<<<<
 *         for i in range(nelements):
 *             vlist.append(cd_values[i])
 */
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_vlist = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":687
 * 
 *         vlist = []
 *         for i in range(nelements):             # <<<<<<<<<<<<<<
 *             vlist.append(cd_values[i])
 * 
 */
  __pyx_t_4 = __pyx_v_nelements;
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "h5py/h5p.pyx":688
 *         vlist = []
 *         for i in range(nelements):
 *             vlist.append(cd_values[i])             # <<<<<<<<<<<<<<
 * 
 *         return (filter_code, flags, tuple(vlist), name)
 */
    __pyx_t_2 = __Pyx_PyInt_From_unsigned_int((__pyx_v_cd_values[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_vlist, __pyx_t_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 688, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "h5py/h5p.pyx":690
 *             vlist.append(cd_values[i])
 * 
 *         return (filter_code, flags, tuple(vlist), name)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_filter_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = PyList_AsTuple(__pyx_v_vlist); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyObject_FromString(__pyx_v_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_8);
  PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_9);
  PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_10);
  PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_10);
  __pyx_t_2 = 0;
  __pyx_t_8 = 0;
  __pyx_t_9 = 0;
  __pyx_t_10 = 0;
  __pyx_r = __pyx_t_11;
  __pyx_t_11 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":659
 * 
 *     @with_phil
 *     def get_filter(self, int filter_idx):             # <<<<<<<<<<<<<<
 *         """(UINT filter_idx) => TUPLE filter_info
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vlist);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":694
 * 
 *     @with_phil
 *     def _has_filter(self, int filter_code):             # <<<<<<<<<<<<<<
 *         """(INT filter_code)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_30_has_filter[] = "(INT filter_code)\n\n        Slow & stupid method to determine if a filter is used in this\n        property list.  Used because the HDF5 function H5Pget_filter_by_id\n        is broken.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code) {
  int __pyx_v_filter_code;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_has_filter (wrapper)", 0);
  assert(__pyx_arg_filter_code); {
    __pyx_v_filter_code = __Pyx_PyInt_As_int(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID._has_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_code));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code) {
  int __pyx_v_i;
  int __pyx_v_nfilters;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_has_filter", 0);

  /* "h5py/h5p.pyx":702
 *         """
 *         cdef int i, nfilters
 *         nfilters = self.get_nfilters()             # <<<<<<<<<<<<<<
 *         for i in range(nfilters):
 *             if self.get_filter(i)[0] == filter_code:
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_nfilters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_3)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 702, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_nfilters = __pyx_t_4;

  /* "h5py/h5p.pyx":703
 *         cdef int i, nfilters
 *         nfilters = self.get_nfilters()
 *         for i in range(nfilters):             # <<<<<<<<<<<<<<
 *             if self.get_filter(i)[0] == filter_code:
 *                 return True
 */
  __pyx_t_4 = __pyx_v_nfilters;
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "h5py/h5p.pyx":704
 *         nfilters = self.get_nfilters()
 *         for i in range(nfilters):
 *             if self.get_filter(i)[0] == filter_code:             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_filter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_7)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_filter_code); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 704, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 704, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "h5py/h5p.pyx":705
 *         for i in range(nfilters):
 *             if self.get_filter(i)[0] == filter_code:
 *                 return True             # <<<<<<<<<<<<<<
 *         return False
 * 
 */
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_True);
      __pyx_r = Py_True;
      goto __pyx_L0;

      /* "h5py/h5p.pyx":704
 *         nfilters = self.get_nfilters()
 *         for i in range(nfilters):
 *             if self.get_filter(i)[0] == filter_code:             # <<<<<<<<<<<<<<
 *                 return True
 *         return False
 */
    }
  }

  /* "h5py/h5p.pyx":706
 *             if self.get_filter(i)[0] == filter_code:
 *                 return True
 *         return False             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(Py_False);
  __pyx_r = Py_False;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":694
 * 
 *     @with_phil
 *     def _has_filter(self, int filter_code):             # <<<<<<<<<<<<<<
 *         """(INT filter_code)
 * 
 */

  /* 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_7);
  __Pyx_AddTraceback("h5py.h5p.PropDCID._has_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":710
 * 
 *     @with_phil
 *     def get_filter_by_id(self, int filter_code):             # <<<<<<<<<<<<<<
 *         """(INT filter_code) => TUPLE filter_info or None
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_33get_filter_by_id(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_32get_filter_by_id[] = "(INT filter_code) => TUPLE filter_info or None\n\n        Get information about a filter, identified by its code (one\n        of h5z.FILTER*).  If the filter doesn't exist, returns None.\n        Tuple elements are:\n\n        0. UINT flags (h5z.FLAG*)\n        1. TUPLE of UINT values; filter aux data (16 values max)\n        2. STRING name of filter (256 chars max)\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_33get_filter_by_id(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code) {
  int __pyx_v_filter_code;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_filter_by_id (wrapper)", 0);
  assert(__pyx_arg_filter_code); {
    __pyx_v_filter_code = __Pyx_PyInt_As_int(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 710, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_32get_filter_by_id(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_code));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_32get_filter_by_id(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code) {
  PyObject *__pyx_v_vlist = 0;
  unsigned int __pyx_v_flags;
  size_t __pyx_v_nelements;
  unsigned int __pyx_v_cd_values[16];
  char __pyx_v_name[0x101];
  CYTHON_UNUSED herr_t __pyx_v_retval;
  int __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  herr_t __pyx_t_7;
  size_t __pyx_t_8;
  size_t __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_filter_by_id", 0);

  /* "h5py/h5p.pyx":728
 *         cdef herr_t retval
 *         cdef int i
 *         nelements = 16 # HDF5 library actually complains if this is too big.             # <<<<<<<<<<<<<<
 * 
 *         if not self._has_filter(filter_code):
 */
  __pyx_v_nelements = 16;

  /* "h5py/h5p.pyx":730
 *         nelements = 16 # HDF5 library actually complains if this is too big.
 * 
 *         if not self._has_filter(filter_code):             # <<<<<<<<<<<<<<
 *             # Avoid library segfault
 *             return None
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_has_filter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_filter_code); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = ((!__pyx_t_5) != 0);
  if (__pyx_t_6) {

    /* "h5py/h5p.pyx":732
 *         if not self._has_filter(filter_code):
 *             # Avoid library segfault
 *             return None             # <<<<<<<<<<<<<<
 * 
 *         retval = H5Pget_filter_by_id(self.id, <H5Z_filter_t>filter_code,
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "h5py/h5p.pyx":730
 *         nelements = 16 # HDF5 library actually complains if this is too big.
 * 
 *         if not self._has_filter(filter_code):             # <<<<<<<<<<<<<<
 *             # Avoid library segfault
 *             return None
 */
  }

  /* "h5py/h5p.pyx":734
 *             return None
 * 
 *         retval = H5Pget_filter_by_id(self.id, <H5Z_filter_t>filter_code,             # <<<<<<<<<<<<<<
 *                                      &flags, &nelements, cd_values, 256, name, NULL)
 *         assert nelements <= 16
 */
  __pyx_t_7 = __pyx_f_4h5py_4defs_H5Pget_filter_by_id(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 0x100, __pyx_v_name, NULL); if (unlikely(__pyx_t_7 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 734, __pyx_L1_error)
  __pyx_v_retval = __pyx_t_7;

  /* "h5py/h5p.pyx":736
 *         retval = H5Pget_filter_by_id(self.id, <H5Z_filter_t>filter_code,
 *                                      &flags, &nelements, cd_values, 256, name, NULL)
 *         assert nelements <= 16             # <<<<<<<<<<<<<<
 * 
 *         name[256] = c'\0'  # In case HDF5 doesn't terminate it properly
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(!Py_OptimizeFlag)) {
    if (unlikely(!((__pyx_v_nelements <= 16) != 0))) {
      PyErr_SetNone(PyExc_AssertionError);
      __PYX_ERR(0, 736, __pyx_L1_error)
    }
  }
  #endif

  /* "h5py/h5p.pyx":738
 *         assert nelements <= 16
 * 
 *         name[256] = c'\0'  # In case HDF5 doesn't terminate it properly             # <<<<<<<<<<<<<<
 * 
 *         vlist = []
 */
  (__pyx_v_name[0x100]) = '\x00';

  /* "h5py/h5p.pyx":740
 *         name[256] = c'\0'  # In case HDF5 doesn't terminate it properly
 * 
 *         vlist = []             # <<<<<<<<<<<<<<
 *         for i in range(nelements):
 *             vlist.append(cd_values[i])
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_vlist = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5p.pyx":741
 * 
 *         vlist = []
 *         for i in range(nelements):             # <<<<<<<<<<<<<<
 *             vlist.append(cd_values[i])
 * 
 */
  __pyx_t_8 = __pyx_v_nelements;
  __pyx_t_9 = __pyx_t_8;
  for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
    __pyx_v_i = __pyx_t_10;

    /* "h5py/h5p.pyx":742
 *         vlist = []
 *         for i in range(nelements):
 *             vlist.append(cd_values[i])             # <<<<<<<<<<<<<<
 * 
 *         return (flags, tuple(vlist), name)
 */
    __pyx_t_1 = __Pyx_PyInt_From_unsigned_int((__pyx_v_cd_values[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_vlist, __pyx_t_1); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 742, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "h5py/h5p.pyx":744
 *             vlist.append(cd_values[i])
 * 
 *         return (flags, tuple(vlist), name)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyList_AsTuple(__pyx_v_vlist); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":710
 * 
 *     @with_phil
 *     def get_filter_by_id(self, int filter_code):             # <<<<<<<<<<<<<<
 *         """(INT filter_code) => TUPLE filter_info or None
 * 
 */

  /* 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_AddTraceback("h5py.h5p.PropDCID.get_filter_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vlist);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":748
 * 
 *     @with_phil
 *     def remove_filter(self, int filter_class):             # <<<<<<<<<<<<<<
 *         """(INT filter_class)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_34remove_filter[] = "(INT filter_class)\n\n        Remove a filter from the pipeline.  The class code is one of\n        h5z.FILTER*.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class) {
  int __pyx_v_filter_class;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("remove_filter (wrapper)", 0);
  assert(__pyx_arg_filter_class); {
    __pyx_v_filter_class = __Pyx_PyInt_As_int(__pyx_arg_filter_class); if (unlikely((__pyx_v_filter_class == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 748, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_class));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_class) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("remove_filter", 0);

  /* "h5py/h5p.pyx":754
 *         h5z.FILTER*.
 *         """
 *         H5Premove_filter(self.id, <H5Z_filter_t>filter_class)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Premove_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_class)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 754, __pyx_L1_error)

  /* "h5py/h5p.pyx":748
 * 
 *     @with_phil
 *     def remove_filter(self, int filter_class):             # <<<<<<<<<<<<<<
 *         """(INT filter_class)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":758
 * 
 *     @with_phil
 *     def set_deflate(self, unsigned int level=5):             # <<<<<<<<<<<<<<
 *         """(UINT level=5)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_36set_deflate[] = "(UINT level=5)\n\n        Enable deflate (gzip) compression, at the given level.\n        Valid levels are 0-9, default is 5.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_level;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_deflate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_level,0};
    PyObject* values[1] = {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  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_level);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_deflate") < 0)) __PYX_ERR(0, 758, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_level = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 758, __pyx_L3_error)
    } else {
      __pyx_v_level = ((unsigned int)5);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_deflate", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 758, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_level);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_level) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_deflate", 0);

  /* "h5py/h5p.pyx":764
 *         Valid levels are 0-9, default is 5.
 *         """
 *         H5Pset_deflate(self.id, level)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_deflate(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_level); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 764, __pyx_L1_error)

  /* "h5py/h5p.pyx":758
 * 
 *     @with_phil
 *     def set_deflate(self, unsigned int level=5):             # <<<<<<<<<<<<<<
 *         """(UINT level=5)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":768
 * 
 *     @with_phil
 *     def set_fletcher32(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_38set_fletcher32[] = "()\n\n        Enable Fletcher32 error correction on this list.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fletcher32 (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fletcher32", 0);

  /* "h5py/h5p.pyx":773
 *         Enable Fletcher32 error correction on this list.
 *         """
 *         H5Pset_fletcher32(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fletcher32(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 773, __pyx_L1_error)

  /* "h5py/h5p.pyx":768
 * 
 *     @with_phil
 *     def set_fletcher32(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fletcher32", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":777
 * 
 *     @with_phil
 *     def set_shuffle(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_40set_shuffle[] = "()\n\n        Enable to use of the shuffle filter.  Use this immediately before\n        the deflate filter to increase the compression ratio.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_shuffle (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_shuffle", 0);

  /* "h5py/h5p.pyx":783
 *         the deflate filter to increase the compression ratio.
 *         """
 *         H5Pset_shuffle(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_shuffle(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 783, __pyx_L1_error)

  /* "h5py/h5p.pyx":777
 * 
 *     @with_phil
 *     def set_shuffle(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":787
 * 
 *     @with_phil
 *     def set_szip(self, unsigned int options, unsigned int pixels_per_block):             # <<<<<<<<<<<<<<
 *         """(UINT options, UINT pixels_per_block)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_42set_szip[] = "(UINT options, UINT pixels_per_block)\n\n        Enable SZIP compression.  See the HDF5 docs for argument meanings,\n        and general restrictions on use of the SZIP format.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  unsigned int __pyx_v_options;
  unsigned int __pyx_v_pixels_per_block;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_szip (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_options,&__pyx_n_s_pixels_per_block,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_options)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pixels_per_block)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_szip", 1, 2, 2, 1); __PYX_ERR(0, 787, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_szip") < 0)) __PYX_ERR(0, 787, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_options = __Pyx_PyInt_As_unsigned_int(values[0]); if (unlikely((__pyx_v_options == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 787, __pyx_L3_error)
    __pyx_v_pixels_per_block = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_pixels_per_block == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 787, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_szip", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 787, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_options, __pyx_v_pixels_per_block);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_options, unsigned int __pyx_v_pixels_per_block) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_szip", 0);

  /* "h5py/h5p.pyx":793
 *         and general restrictions on use of the SZIP format.
 *         """
 *         H5Pset_szip(self.id, options, pixels_per_block)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_szip(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_options, __pyx_v_pixels_per_block); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 793, __pyx_L1_error)

  /* "h5py/h5p.pyx":787
 * 
 *     @with_phil
 *     def set_szip(self, unsigned int options, unsigned int pixels_per_block):             # <<<<<<<<<<<<<<
 *         """(UINT options, UINT pixels_per_block)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":797
 * 
 *     @with_phil
 *     def set_scaleoffset(self, H5Z_SO_scale_type_t scale_type, int scale_factor):             # <<<<<<<<<<<<<<
 *         '''(H5Z_SO_scale_type_t scale_type, INT scale_factor)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_45set_scaleoffset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_44set_scaleoffset[] = "(H5Z_SO_scale_type_t scale_type, INT scale_factor)\n\n        Enable scale/offset (usually lossy) compression; lossless (e.g. gzip)\n        compression and other filters may be applied on top of this.\n\n        Note that error detection (i.e. fletcher32) cannot precede this in\n        the filter chain, or else all reads on lossily-compressed data will\n        fail.";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_45set_scaleoffset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  enum H5Z_SO_scale_type_t __pyx_v_scale_type;
  int __pyx_v_scale_factor;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_scaleoffset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_scale_type,&__pyx_n_s_scale_factor,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scale_factor)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_scaleoffset", 1, 2, 2, 1); __PYX_ERR(0, 797, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_scaleoffset") < 0)) __PYX_ERR(0, 797, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_scale_type = ((enum H5Z_SO_scale_type_t)__Pyx_PyInt_As_enum__H5Z_SO_scale_type_t(values[0])); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 797, __pyx_L3_error)
    __pyx_v_scale_factor = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_scale_factor == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 797, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_scaleoffset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 797, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_scaleoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_44set_scaleoffset(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_scale_type, __pyx_v_scale_factor);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_44set_scaleoffset(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, enum H5Z_SO_scale_type_t __pyx_v_scale_type, int __pyx_v_scale_factor) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_scaleoffset", 0);

  /* "h5py/h5p.pyx":806
 *         the filter chain, or else all reads on lossily-compressed data will
 *         fail.'''
 *         H5Pset_scaleoffset(self.id, scale_type, scale_factor)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_scaleoffset(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_scale_type, __pyx_v_scale_factor); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 806, __pyx_L1_error)

  /* "h5py/h5p.pyx":797
 * 
 *     @with_phil
 *     def set_scaleoffset(self, H5Z_SO_scale_type_t scale_type, int scale_factor):             # <<<<<<<<<<<<<<
 *         '''(H5Z_SO_scale_type_t scale_type, INT scale_factor)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_scaleoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":812
 * 
 *     @with_phil
 *     def set_external(self, name, offset, size):             # <<<<<<<<<<<<<<
 *         '''(STR name, UINT offset, UINT size)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_47set_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_46set_external[] = "(STR name, UINT offset, UINT size)\n\n        Adds an external file to the list of external files for the dataset.\n\n        The first call sets the external storage property in the property list,\n        thus designating that the dataset will be stored in one or more non-HDF5\n        file(s) external to the HDF5 file.";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_47set_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_offset = 0;
  PyObject *__pyx_v_size = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_external (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_offset,&__pyx_n_s_size,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_external", 1, 3, 3, 1); __PYX_ERR(0, 812, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_external", 1, 3, 3, 2); __PYX_ERR(0, 812, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_external") < 0)) __PYX_ERR(0, 812, __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_name = values[0];
    __pyx_v_offset = values[1];
    __pyx_v_size = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_external", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 812, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_46set_external(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_name, __pyx_v_offset, __pyx_v_size);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_46set_external(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_offset, PyObject *__pyx_v_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char const *__pyx_t_1;
  off_t __pyx_t_2;
  hsize_t __pyx_t_3;
  herr_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_external", 0);

  /* "h5py/h5p.pyx":820
 *         thus designating that the dataset will be stored in one or more non-HDF5
 *         file(s) external to the HDF5 file.'''
 *         H5Pset_external(self.id, name, offset, size)             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_name); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 820, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_off_t(__pyx_v_offset); if (unlikely((__pyx_t_2 == ((off_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 820, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyInt_As_hsize_t(__pyx_v_size); if (unlikely((__pyx_t_3 == ((hsize_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 820, __pyx_L1_error)
  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Pset_external(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(__pyx_t_4 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 820, __pyx_L1_error)

  /* "h5py/h5p.pyx":812
 * 
 *     @with_phil
 *     def set_external(self, name, offset, size):             # <<<<<<<<<<<<<<
 *         '''(STR name, UINT offset, UINT size)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":823
 * 
 *     @with_phil
 *     def get_external_count(self):             # <<<<<<<<<<<<<<
 *         """() => INT
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_49get_external_count(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_48get_external_count[] = "() => INT\n\n        Returns the number of external files for the dataset.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_49get_external_count(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_external_count (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_48get_external_count(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_48get_external_count(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_external_count", 0);

  /* "h5py/h5p.pyx":828
 *         Returns the number of external files for the dataset.
 *         """
 *         return <int>(H5Pget_external_count(self.id))             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_external_count(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((int)((int)-1L)))) __PYX_ERR(0, 828, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":823
 * 
 *     @with_phil
 *     def get_external_count(self):             # <<<<<<<<<<<<<<
 *         """() => INT
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_external_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":831
 * 
 *     @with_phil
 *     def get_external(self, idx=0):             # <<<<<<<<<<<<<<
 *         """(UINT idx=0) => TUPLE external_file_info
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_51get_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_50get_external[] = "(UINT idx=0) => TUPLE external_file_info\n\n        Returns information about the indexed external file.\n        Tuple elements are:\n\n        0. STRING name of file (256 chars max)\n        1. UINT offset\n        2. UINT size\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_51get_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_idx = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_external (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_idx,0};
    PyObject* values[1] = {0};
    values[0] = ((PyObject *)__pyx_int_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  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_idx);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_external") < 0)) __PYX_ERR(0, 831, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_idx = values[0];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_external", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 831, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_50get_external(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_idx);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_50get_external(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_idx) {
  char __pyx_v_name[0x101];
  off_t __pyx_v_offset;
  hsize_t __pyx_v_size;
  herr_t __pyx_v_retval;
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1;
  herr_t __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_external", 0);

  /* "h5py/h5p.pyx":846
 *         cdef herr_t retval
 * 
 *         retval = H5Pget_external(self.id, idx, 256, name, &offset, &size)             # <<<<<<<<<<<<<<
 *         name[256] = c'\0'  # In case HDF5 doesn't terminate name properly
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_unsigned_int(__pyx_v_idx); if (unlikely((__pyx_t_1 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 846, __pyx_L1_error)
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pget_external(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_t_1, 0x100, __pyx_v_name, (&__pyx_v_offset), (&__pyx_v_size)); if (unlikely(__pyx_t_2 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 846, __pyx_L1_error)
  __pyx_v_retval = __pyx_t_2;

  /* "h5py/h5p.pyx":847
 * 
 *         retval = H5Pget_external(self.id, idx, 256, name, &offset, &size)
 *         name[256] = c'\0'  # In case HDF5 doesn't terminate name properly             # <<<<<<<<<<<<<<
 * 
 *         result = None
 */
  (__pyx_v_name[0x100]) = '\x00';

  /* "h5py/h5p.pyx":849
 *         name[256] = c'\0'  # In case HDF5 doesn't terminate name properly
 * 
 *         result = None             # <<<<<<<<<<<<<<
 *         if retval==0:
 *             result = (name, offset, size)
 */
  __Pyx_INCREF(Py_None);
  __pyx_v_result = Py_None;

  /* "h5py/h5p.pyx":850
 * 
 *         result = None
 *         if retval==0:             # <<<<<<<<<<<<<<
 *             result = (name, offset, size)
 *         return result
 */
  __pyx_t_3 = ((__pyx_v_retval == 0) != 0);
  if (__pyx_t_3) {

    /* "h5py/h5p.pyx":851
 *         result = None
 *         if retval==0:
 *             result = (name, offset, size)             # <<<<<<<<<<<<<<
 *         return result
 * 
 */
    __pyx_t_4 = __Pyx_PyObject_FromString(__pyx_v_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyInt_From_off_t(__pyx_v_offset); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyInt_From_hsize_t(__pyx_v_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_6);
    PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_6);
    __pyx_t_4 = 0;
    __pyx_t_5 = 0;
    __pyx_t_6 = 0;
    __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "h5py/h5p.pyx":850
 * 
 *         result = None
 *         if retval==0:             # <<<<<<<<<<<<<<
 *             result = (name, offset, size)
 *         return result
 */
  }

  /* "h5py/h5p.pyx":852
 *         if retval==0:
 *             result = (name, offset, size)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     # === Virtual dataset functions ===========================================
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":831
 * 
 *     @with_phil
 *     def get_external(self, idx=0):             # <<<<<<<<<<<<<<
 *         """(UINT idx=0) => TUPLE external_file_info
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":859
 * 
 *         @with_phil
 *         def set_virtual(self, SpaceID vspace not None, char* src_file_name,             # <<<<<<<<<<<<<<
 *                         char* src_dset_name, SpaceID src_space not None):
 *             """(SpaceID vspace, STR src_file_name, STR src_dset_name, SpaceID src_space)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_53set_virtual(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_52set_virtual[] = "(SpaceID vspace, STR src_file_name, STR src_dset_name, SpaceID src_space)\n\n            Set the mapping between virtual and source datasets.\n\n            The virtual dataset is described by its virtual dataspace (vspace)\n            to the elements. The source dataset is described by the name of the\n            file where it is located (src_file_name), the name of the dataset\n            (src_dset_name) and its dataspace (src_space).\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_53set_virtual(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_vspace = 0;
  char *__pyx_v_src_file_name;
  char *__pyx_v_src_dset_name;
  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_src_space = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_virtual (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_vspace,&__pyx_n_s_src_file_name,&__pyx_n_s_src_dset_name,&__pyx_n_s_src_space,0};
    PyObject* values[4] = {0,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  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_vspace)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src_file_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_virtual", 1, 4, 4, 1); __PYX_ERR(0, 859, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src_dset_name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_virtual", 1, 4, 4, 2); __PYX_ERR(0, 859, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_src_space)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_virtual", 1, 4, 4, 3); __PYX_ERR(0, 859, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_virtual") < 0)) __PYX_ERR(0, 859, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      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);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_vspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[0]);
    __pyx_v_src_file_name = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_src_file_name) && PyErr_Occurred())) __PYX_ERR(0, 859, __pyx_L3_error)
    __pyx_v_src_dset_name = __Pyx_PyObject_AsWritableString(values[2]); if (unlikely((!__pyx_v_src_dset_name) && PyErr_Occurred())) __PYX_ERR(0, 860, __pyx_L3_error)
    __pyx_v_src_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_virtual", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 859, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_virtual", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_vspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "vspace", 0))) __PYX_ERR(0, 859, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src_space), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "src_space", 0))) __PYX_ERR(0, 860, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_52set_virtual(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_vspace, __pyx_v_src_file_name, __pyx_v_src_dset_name, __pyx_v_src_space);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_52set_virtual(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_vspace, char *__pyx_v_src_file_name, char *__pyx_v_src_dset_name, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_src_space) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_virtual", 0);

  /* "h5py/h5p.pyx":870
 *             (src_dset_name) and its dataspace (src_space).
 *             """
 *             H5Pset_virtual(self.id, vspace.id, src_file_name, src_dset_name, src_space.id)             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_virtual(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_vspace->__pyx_base.id, __pyx_v_src_file_name, __pyx_v_src_dset_name, __pyx_v_src_space->__pyx_base.id); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 870, __pyx_L1_error)

  /* "h5py/h5p.pyx":859
 * 
 *         @with_phil
 *         def set_virtual(self, SpaceID vspace not None, char* src_file_name,             # <<<<<<<<<<<<<<
 *                         char* src_dset_name, SpaceID src_space not None):
 *             """(SpaceID vspace, STR src_file_name, STR src_dset_name, SpaceID src_space)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_virtual", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":873
 * 
 *         @with_phil
 *         def get_virtual_count(self):             # <<<<<<<<<<<<<<
 *             """() => UINT
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_55get_virtual_count(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_54get_virtual_count[] = "() => UINT\n\n            Get the number of mappings for the virtual dataset.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_55get_virtual_count(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_count (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_54get_virtual_count(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_54get_virtual_count(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  size_t __pyx_v_count;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_count", 0);

  /* "h5py/h5p.pyx":879
 *             """
 *             cdef size_t count
 *             H5Pget_virtual_count(self.id, &count)             # <<<<<<<<<<<<<<
 *             return count
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_count(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_count)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 879, __pyx_L1_error)

  /* "h5py/h5p.pyx":880
 *             cdef size_t count
 *             H5Pget_virtual_count(self.id, &count)
 *             return count             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":873
 * 
 *         @with_phil
 *         def get_virtual_count(self):             # <<<<<<<<<<<<<<
 *             """() => UINT
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":883
 * 
 *         @with_phil
 *         def get_virtual_dsetname(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => STR
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_57get_virtual_dsetname(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_56get_virtual_dsetname[] = "(UINT index=0) => STR\n\n            Get the name of a source dataset used in the mapping of the virtual\n            dataset at the position index.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_57get_virtual_dsetname(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_index;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_dsetname (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,0};
    PyObject* values[1] = {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  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_virtual_dsetname") < 0)) __PYX_ERR(0, 883, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_index = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_index == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 883, __pyx_L3_error)
    } else {
      __pyx_v_index = ((size_t)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_virtual_dsetname", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 883, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_dsetname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_56get_virtual_dsetname(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_index);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_56get_virtual_dsetname(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index) {
  char *__pyx_v_name;
  Py_ssize_t __pyx_v_size;
  PyObject *__pyx_v_src_dset_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  void *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  char const *__pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_dsetname", 0);

  /* "h5py/h5p.pyx":889
 *             dataset at the position index.
 *             """
 *             cdef char* name = NULL             # <<<<<<<<<<<<<<
 *             cdef ssize_t size
 * 
 */
  __pyx_v_name = NULL;

  /* "h5py/h5p.pyx":892
 *             cdef ssize_t size
 * 
 *             size = H5Pget_virtual_dsetname(self.id, index, NULL, 0)             # <<<<<<<<<<<<<<
 *             name = <char*>emalloc(size+1)
 *             try:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_dsetname(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_index, NULL, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 892, __pyx_L1_error)
  __pyx_v_size = __pyx_t_1;

  /* "h5py/h5p.pyx":893
 * 
 *             size = H5Pget_virtual_dsetname(self.id, index, NULL, 0)
 *             name = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
 *             try:
 *                 # TODO check return size
 */
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_2 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 893, __pyx_L1_error)
  __pyx_v_name = ((char *)__pyx_t_2);

  /* "h5py/h5p.pyx":894
 *             size = H5Pget_virtual_dsetname(self.id, index, NULL, 0)
 *             name = <char*>emalloc(size+1)
 *             try:             # <<<<<<<<<<<<<<
 *                 # TODO check return size
 *                 H5Pget_virtual_dsetname(self.id, index, name, <size_t>size+1)
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":896
 *             try:
 *                 # TODO check return size
 *                 H5Pget_virtual_dsetname(self.id, index, name, <size_t>size+1)             # <<<<<<<<<<<<<<
 *                 src_dset_name = bytes(name).decode('utf-8')
 *             finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_dsetname(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_index, __pyx_v_name, (((size_t)__pyx_v_size) + 1)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 896, __pyx_L4_error)

    /* "h5py/h5p.pyx":897
 *                 # TODO check return size
 *                 H5Pget_virtual_dsetname(self.id, index, name, <size_t>size+1)
 *                 src_dset_name = bytes(name).decode('utf-8')             # <<<<<<<<<<<<<<
 *             finally:
 *                 efree(name)
 */
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 897, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_4, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_src_dset_name = __pyx_t_3;
    __pyx_t_3 = 0;
  }

  /* "h5py/h5p.pyx":899
 *                 src_dset_name = bytes(name).decode('utf-8')
 *             finally:
 *                 efree(name)             # <<<<<<<<<<<<<<
 * 
 *             return src_dset_name
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_f_4h5py_5utils_efree(__pyx_v_name);
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename;
      {
        __pyx_f_4h5py_5utils_efree(__pyx_v_name);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      }
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "h5py/h5p.pyx":901
 *                 efree(name)
 * 
 *             return src_dset_name             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_src_dset_name);
  __pyx_r = __pyx_v_src_dset_name;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":883
 * 
 *         @with_phil
 *         def get_virtual_dsetname(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => STR
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_dsetname", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_src_dset_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":904
 * 
 *         @with_phil
 *         def get_virtual_filename(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => STR
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_59get_virtual_filename(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_58get_virtual_filename[] = "(UINT index=0) => STR\n\n            Get the file name of a source dataset used in the mapping of the\n            virtual dataset at the position index.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_59get_virtual_filename(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_index;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_filename (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,0};
    PyObject* values[1] = {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  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_virtual_filename") < 0)) __PYX_ERR(0, 904, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_index = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_index == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 904, __pyx_L3_error)
    } else {
      __pyx_v_index = ((size_t)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_virtual_filename", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 904, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_58get_virtual_filename(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_index);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_58get_virtual_filename(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index) {
  char *__pyx_v_name;
  Py_ssize_t __pyx_v_size;
  PyObject *__pyx_v_src_fname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  void *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  char const *__pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_filename", 0);

  /* "h5py/h5p.pyx":910
 *             virtual dataset at the position index.
 *             """
 *             cdef char* name = NULL             # <<<<<<<<<<<<<<
 *             cdef ssize_t size
 * 
 */
  __pyx_v_name = NULL;

  /* "h5py/h5p.pyx":913
 *             cdef ssize_t size
 * 
 *             size = H5Pget_virtual_filename(self.id, index, NULL, 0)             # <<<<<<<<<<<<<<
 *             name = <char*>emalloc(size+1)
 *             try:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_filename(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_index, NULL, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 913, __pyx_L1_error)
  __pyx_v_size = __pyx_t_1;

  /* "h5py/h5p.pyx":914
 * 
 *             size = H5Pget_virtual_filename(self.id, index, NULL, 0)
 *             name = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
 *             try:
 *                 # TODO check return size
 */
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_2 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 914, __pyx_L1_error)
  __pyx_v_name = ((char *)__pyx_t_2);

  /* "h5py/h5p.pyx":915
 *             size = H5Pget_virtual_filename(self.id, index, NULL, 0)
 *             name = <char*>emalloc(size+1)
 *             try:             # <<<<<<<<<<<<<<
 *                 # TODO check return size
 *                 H5Pget_virtual_filename(self.id, index, name, <size_t>size+1)
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":917
 *             try:
 *                 # TODO check return size
 *                 H5Pget_virtual_filename(self.id, index, name, <size_t>size+1)             # <<<<<<<<<<<<<<
 *                 src_fname = bytes(name).decode('utf-8')
 *             finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_filename(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_index, __pyx_v_name, (((size_t)__pyx_v_size) + 1)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 917, __pyx_L4_error)

    /* "h5py/h5p.pyx":918
 *                 # TODO check return size
 *                 H5Pget_virtual_filename(self.id, index, name, <size_t>size+1)
 *                 src_fname = bytes(name).decode('utf-8')             # <<<<<<<<<<<<<<
 *             finally:
 *                 efree(name)
 */
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 918, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 918, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_4, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 918, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_src_fname = __pyx_t_3;
    __pyx_t_3 = 0;
  }

  /* "h5py/h5p.pyx":920
 *                 src_fname = bytes(name).decode('utf-8')
 *             finally:
 *                 efree(name)             # <<<<<<<<<<<<<<
 * 
 *             return src_fname
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_f_4h5py_5utils_efree(__pyx_v_name);
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename;
      {
        __pyx_f_4h5py_5utils_efree(__pyx_v_name);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      }
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "h5py/h5p.pyx":922
 *                 efree(name)
 * 
 *             return src_fname             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_src_fname);
  __pyx_r = __pyx_v_src_fname;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":904
 * 
 *         @with_phil
 *         def get_virtual_filename(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => STR
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_filename", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_src_fname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":925
 * 
 *         @with_phil
 *         def get_virtual_vspace(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => SpaceID
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_61get_virtual_vspace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_60get_virtual_vspace[] = "(UINT index=0) => SpaceID\n\n            Get a dataspace for the selection within the virtual dataset used\n            in the mapping.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_61get_virtual_vspace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_index;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_vspace (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,0};
    PyObject* values[1] = {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  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_virtual_vspace") < 0)) __PYX_ERR(0, 925, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_index = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_index == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 925, __pyx_L3_error)
    } else {
      __pyx_v_index = ((size_t)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_virtual_vspace", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 925, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_vspace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_60get_virtual_vspace(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_index);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_60get_virtual_vspace(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_vspace", 0);

  /* "h5py/h5p.pyx":931
 *             in the mapping.
 *             """
 *             return SpaceID(H5Pget_virtual_vspace(self.id, index))             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_vspace(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_index); if (unlikely(__pyx_t_1 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 931, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4h5py_3h5s_SpaceID), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":925
 * 
 *         @with_phil
 *         def get_virtual_vspace(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => SpaceID
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_vspace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":934
 * 
 *         @with_phil
 *         def get_virtual_srcspace(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => SpaceID
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_63get_virtual_srcspace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDCID_62get_virtual_srcspace[] = "(UINT index=0) => SpaceID\n\n            Get a dataspace for the selection within the source dataset used\n            in the mapping.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_63get_virtual_srcspace(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_index;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_srcspace (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,0};
    PyObject* values[1] = {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  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_virtual_srcspace") < 0)) __PYX_ERR(0, 934, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_index = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_index == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 934, __pyx_L3_error)
    } else {
      __pyx_v_index = ((size_t)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("get_virtual_srcspace", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 934, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_srcspace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_62get_virtual_srcspace(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_index);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_62get_virtual_srcspace(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, size_t __pyx_v_index) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_srcspace", 0);

  /* "h5py/h5p.pyx":940
 *             in the mapping.
 *             """
 *             return SpaceID(H5Pget_virtual_srcspace(self.id, index))             # <<<<<<<<<<<<<<
 * 
 * # File access
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_srcspace(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_index); if (unlikely(__pyx_t_1 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 940, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4h5py_3h5s_SpaceID), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":934
 * 
 *         @with_phil
 *         def get_virtual_srcspace(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => SpaceID
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_virtual_srcspace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_65__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_65__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_64__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_64__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropDCID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropDCID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropDCID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropDCID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropDCID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_67__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_67__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_66__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_66__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropDCID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropDCID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropDCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropDCID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropDCID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":951
 * 
 *     @with_phil
 *     def set_fclose_degree(self, int close_degree):             # <<<<<<<<<<<<<<
 *         """(INT close_degree)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_set_fclose_degree[] = "(INT close_degree)\n\n        Set the file-close degree, which determines library behavior when\n        a file is closed when objects are still open.  Legal values:\n\n        * h5f.CLOSE_WEAK\n        * h5f.CLOSE_SEMI\n        * h5f.CLOSE_STRONG\n        * h5f.CLOSE_DEFAULT\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree) {
  int __pyx_v_close_degree;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fclose_degree (wrapper)", 0);
  assert(__pyx_arg_close_degree); {
    __pyx_v_close_degree = __Pyx_PyInt_As_int(__pyx_arg_close_degree); if (unlikely((__pyx_v_close_degree == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 951, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((int)__pyx_v_close_degree));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_close_degree) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fclose_degree", 0);

  /* "h5py/h5p.pyx":962
 *         * h5f.CLOSE_DEFAULT
 *         """
 *         H5Pset_fclose_degree(self.id, <H5F_close_degree_t>close_degree)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fclose_degree(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((enum H5F_close_degree_t)__pyx_v_close_degree)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 962, __pyx_L1_error)

  /* "h5py/h5p.pyx":951
 * 
 *     @with_phil
 *     def set_fclose_degree(self, int close_degree):             # <<<<<<<<<<<<<<
 *         """(INT close_degree)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":966
 * 
 *     @with_phil
 *     def get_fclose_degree(self):             # <<<<<<<<<<<<<<
 *         """() => INT close_degree
 *         - h5fd.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_2get_fclose_degree[] = "() => INT close_degree\n        - h5fd.\n        Get the file-close degree, which determines library behavior when\n        a file is closed when objects are still open.  Legal values:\n\n        * h5f.CLOSE_WEAK\n        * h5f.CLOSE_SEMI\n        * h5f.CLOSE_STRONG\n        * h5f.CLOSE_DEFAULT\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_fclose_degree (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  enum H5F_close_degree_t __pyx_v_deg;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_fclose_degree", 0);

  /* "h5py/h5p.pyx":978
 *         """
 *         cdef H5F_close_degree_t deg
 *         H5Pget_fclose_degree(self.id, &deg)             # <<<<<<<<<<<<<<
 *         return deg
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fclose_degree(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_deg)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 978, __pyx_L1_error)

  /* "h5py/h5p.pyx":979
 *         cdef H5F_close_degree_t deg
 *         H5Pget_fclose_degree(self.id, &deg)
 *         return deg             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_enum__H5F_close_degree_t(__pyx_v_deg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":966
 * 
 *     @with_phil
 *     def get_fclose_degree(self):             # <<<<<<<<<<<<<<
 *         """() => INT close_degree
 *         - h5fd.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":983
 * 
 *     @with_phil
 *     def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1):             # <<<<<<<<<<<<<<
 *         """(UINT increment=64k, BOOL backing_store=True)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_core[] = "(UINT increment=64k, BOOL backing_store=True)\n\n        Use the h5fd.CORE (memory-resident) file driver.\n\n        increment\n            Chunk size for new memory requests (default 1 meg)\n\n        backing_store\n            If True (default), memory contents are associated with an\n            on-disk file, which is updated when the file is closed.\n            Set to False for a purely in-memory file.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_block_size;
  hbool_t __pyx_v_backing_store;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fapl_core (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_block_size,&__pyx_n_s_backing_store,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_block_size);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_backing_store);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_core") < 0)) __PYX_ERR(0, 983, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_block_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_block_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 983, __pyx_L3_error)
    } else {
      __pyx_v_block_size = ((size_t)0x10000);
    }
    if (values[1]) {
      __pyx_v_backing_store = __Pyx_PyInt_As_hbool_t(values[1]); if (unlikely((__pyx_v_backing_store == ((hbool_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 983, __pyx_L3_error)
    } else {
      __pyx_v_backing_store = ((hbool_t)1);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_fapl_core", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 983, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_block_size, __pyx_v_backing_store);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_block_size, hbool_t __pyx_v_backing_store) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fapl_core", 0);

  /* "h5py/h5p.pyx":996
 *             Set to False for a purely in-memory file.
 *         """
 *         H5Pset_fapl_core(self.id, block_size, backing_store)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_core(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_block_size, __pyx_v_backing_store); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 996, __pyx_L1_error)

  /* "h5py/h5p.pyx":983
 * 
 *     @with_phil
 *     def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1):             # <<<<<<<<<<<<<<
 *         """(UINT increment=64k, BOOL backing_store=True)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1000
 * 
 *     @with_phil
 *     def get_fapl_core(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE core_settings
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_6get_fapl_core[] = "() => TUPLE core_settings\n\n        Determine settings for the h5fd.CORE (memory-resident) file driver.\n        Tuple elements are:\n\n        0. UINT \"increment\": Chunk size for new memory requests\n        1. BOOL \"backing_store\": If True, write the memory contents to\n           disk when the file is closed.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_fapl_core (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  size_t __pyx_v_increment;
  hbool_t __pyx_v_backing_store;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_fapl_core", 0);

  /* "h5py/h5p.pyx":1012
 *         cdef size_t increment
 *         cdef hbool_t backing_store
 *         H5Pget_fapl_core(self.id, &increment, &backing_store)             # <<<<<<<<<<<<<<
 *         return (increment, <bint>(backing_store))
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_core(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_increment), (&__pyx_v_backing_store)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1012, __pyx_L1_error)

  /* "h5py/h5p.pyx":1013
 *         cdef hbool_t backing_store
 *         H5Pget_fapl_core(self.id, &increment, &backing_store)
 *         return (increment, <bint>(backing_store))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_increment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_backing_store != 0)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1000
 * 
 *     @with_phil
 *     def get_fapl_core(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE core_settings
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1017
 * 
 *     @with_phil
 *     def set_fapl_family(self, hsize_t memb_size=2147483647, PropID memb_fapl=None):             # <<<<<<<<<<<<<<
 *         """(UINT memb_size=2**31-1, PropFAID memb_fapl=None)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_family[] = "(UINT memb_size=2**31-1, PropFAID memb_fapl=None)\n\n        Set up the family driver.\n\n        memb_size\n            Member file size\n\n        memb_fapl\n            File access property list for each member access\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  hsize_t __pyx_v_memb_size;
  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fapl_family (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_memb_size,&__pyx_n_s_memb_fapl,0};
    PyObject* values[2] = {0,0};
    values[1] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memb_size);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_memb_fapl);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_family") < 0)) __PYX_ERR(0, 1017, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_memb_size = __Pyx_PyInt_As_hsize_t(values[0]); if (unlikely((__pyx_v_memb_size == ((hsize_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1017, __pyx_L3_error)
    } else {
      __pyx_v_memb_size = ((hsize_t)0x7FFFFFFF);
    }
    __pyx_v_memb_fapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[1]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_fapl_family", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1017, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memb_fapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "memb_fapl", 0))) __PYX_ERR(0, 1017, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_memb_size, __pyx_v_memb_fapl);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hsize_t __pyx_v_memb_size, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl) {
  hid_t __pyx_v_plist_id;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fapl_family", 0);

  /* "h5py/h5p.pyx":1029
 *         """
 *         cdef hid_t plist_id
 *         plist_id = pdefault(memb_fapl)             # <<<<<<<<<<<<<<
 *         H5Pset_fapl_family(self.id, memb_size, plist_id)
 * 
 */
  __pyx_v_plist_id = __pyx_f_4h5py_3h5p_pdefault(__pyx_v_memb_fapl);

  /* "h5py/h5p.pyx":1030
 *         cdef hid_t plist_id
 *         plist_id = pdefault(memb_fapl)
 *         H5Pset_fapl_family(self.id, memb_size, plist_id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_family(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_memb_size, __pyx_v_plist_id); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1030, __pyx_L1_error)

  /* "h5py/h5p.pyx":1017
 * 
 *     @with_phil
 *     def set_fapl_family(self, hsize_t memb_size=2147483647, PropID memb_fapl=None):             # <<<<<<<<<<<<<<
 *         """(UINT memb_size=2**31-1, PropFAID memb_fapl=None)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1034
 * 
 *     @with_phil
 *     def get_fapl_family(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE info
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_10get_fapl_family[] = "() => TUPLE info\n\n        Determine family driver settings. Tuple values are:\n\n        0. UINT memb_size\n        1. PropFAID memb_fapl or None\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_fapl_family (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  hid_t __pyx_v_mfapl_id;
  hsize_t __pyx_v_msize;
  struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_plist = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_fapl_family", 0);

  /* "h5py/h5p.pyx":1045
 *         cdef hsize_t msize
 *         cdef PropFAID plist
 *         plist = None             # <<<<<<<<<<<<<<
 * 
 *         H5Pget_fapl_family(self.id, &msize, &mfapl_id)
 */
  __Pyx_INCREF(Py_None);
  __pyx_v_plist = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);

  /* "h5py/h5p.pyx":1047
 *         plist = None
 * 
 *         H5Pget_fapl_family(self.id, &msize, &mfapl_id)             # <<<<<<<<<<<<<<
 * 
 *         if mfapl_id > 0:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_family(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_msize), (&__pyx_v_mfapl_id)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1047, __pyx_L1_error)

  /* "h5py/h5p.pyx":1049
 *         H5Pget_fapl_family(self.id, &msize, &mfapl_id)
 * 
 *         if mfapl_id > 0:             # <<<<<<<<<<<<<<
 *             plist = PropFAID(mfapl_id)
 * 
 */
  __pyx_t_2 = ((__pyx_v_mfapl_id > 0) != 0);
  if (__pyx_t_2) {

    /* "h5py/h5p.pyx":1050
 * 
 *         if mfapl_id > 0:
 *             plist = PropFAID(mfapl_id)             # <<<<<<<<<<<<<<
 * 
 *         return (msize, plist)
 */
    __pyx_t_3 = __Pyx_PyInt_From_hid_t(__pyx_v_mfapl_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_plist, ((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "h5py/h5p.pyx":1049
 *         H5Pget_fapl_family(self.id, &msize, &mfapl_id)
 * 
 *         if mfapl_id > 0:             # <<<<<<<<<<<<<<
 *             plist = PropFAID(mfapl_id)
 * 
 */
  }

  /* "h5py/h5p.pyx":1052
 *             plist = PropFAID(mfapl_id)
 * 
 *         return (msize, plist)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyInt_From_hsize_t(__pyx_v_msize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
  __Pyx_INCREF(((PyObject *)__pyx_v_plist));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_plist));
  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_plist));
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1034
 * 
 *     @with_phil
 *     def get_fapl_family(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE info
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_plist);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1088
 * 
 *     @with_phil
 *     def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size):             # <<<<<<<<<<<<<<
 *         """(STRING logfile, UINT flags, UINT buf_size)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_12set_fapl_log[] = "(STRING logfile, UINT flags, UINT buf_size)\n\n        Enable the use of the logging driver.  See the HDF5 documentation\n        for details.  Flag constants are stored in module h5fd.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char *__pyx_v_logfile;
  unsigned int __pyx_v_flags;
  size_t __pyx_v_buf_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fapl_log (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_logfile,&__pyx_n_s_flags,&__pyx_n_s_buf_size,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_logfile)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 1); __PYX_ERR(0, 1088, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_buf_size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 2); __PYX_ERR(0, 1088, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_log") < 0)) __PYX_ERR(0, 1088, __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_logfile = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_logfile) && PyErr_Occurred())) __PYX_ERR(0, 1088, __pyx_L3_error)
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1088, __pyx_L3_error)
    __pyx_v_buf_size = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_buf_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1088, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1088, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char *__pyx_v_logfile, unsigned int __pyx_v_flags, size_t __pyx_v_buf_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fapl_log", 0);

  /* "h5py/h5p.pyx":1094
 *         for details.  Flag constants are stored in module h5fd.
 *         """
 *         H5Pset_fapl_log(self.id, logfile, flags, buf_size)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_log(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1094, __pyx_L1_error)

  /* "h5py/h5p.pyx":1088
 * 
 *     @with_phil
 *     def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size):             # <<<<<<<<<<<<<<
 *         """(STRING logfile, UINT flags, UINT buf_size)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1098
 * 
 *     @with_phil
 *     def set_fapl_sec2(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_14set_fapl_sec2[] = "()\n\n        Select the \"section-2\" driver (h5fd.SEC2).\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fapl_sec2 (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fapl_sec2", 0);

  /* "h5py/h5p.pyx":1103
 *         Select the "section-2" driver (h5fd.SEC2).
 *         """
 *         H5Pset_fapl_sec2(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_sec2(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1103, __pyx_L1_error)

  /* "h5py/h5p.pyx":1098
 * 
 *     @with_phil
 *     def set_fapl_sec2(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_sec2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1107
 * 
 *     @with_phil
 *     def set_fapl_stdio(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_16set_fapl_stdio[] = "()\n\n        Select the \"stdio\" driver (h5fd.STDIO)\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fapl_stdio (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fapl_stdio", 0);

  /* "h5py/h5p.pyx":1112
 *         Select the "stdio" driver (h5fd.STDIO)
 *         """
 *         H5Pset_fapl_stdio(self.id)             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_stdio(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1112, __pyx_L1_error)

  /* "h5py/h5p.pyx":1107
 * 
 *     @with_phil
 *     def set_fapl_stdio(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_stdio", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1115
 * 
 *     @with_phil
 *     def set_fapl_split(self, const char* meta_ext="-m.h5", PropID meta_plist_id=None, const char* raw_ext="-r.h5", PropID raw_plist_id=None):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_19set_fapl_split(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_18set_fapl_split[] = "()\n\n        Select the \"split\" driver (h5fd.SPLIT)\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_19set_fapl_split(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  char const *__pyx_v_meta_ext;
  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_meta_plist_id = 0;
  char const *__pyx_v_raw_ext;
  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_raw_plist_id = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fapl_split (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_meta_ext,&__pyx_n_s_meta_plist_id,&__pyx_n_s_raw_ext,&__pyx_n_s_raw_plist_id,0};
    PyObject* values[4] = {0,0,0,0};
    values[1] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_meta_ext);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_meta_plist_id);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_raw_ext);
          if (value) { values[2] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_raw_plist_id);
          if (value) { values[3] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_split") < 0)) __PYX_ERR(0, 1115, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_meta_ext = __Pyx_PyObject_AsString(values[0]); if (unlikely((!__pyx_v_meta_ext) && PyErr_Occurred())) __PYX_ERR(0, 1115, __pyx_L3_error)
    } else {
      __pyx_v_meta_ext = ((char const *)((char const *)"-m.h5"));
    }
    __pyx_v_meta_plist_id = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[1]);
    if (values[2]) {
      __pyx_v_raw_ext = __Pyx_PyObject_AsString(values[2]); if (unlikely((!__pyx_v_raw_ext) && PyErr_Occurred())) __PYX_ERR(0, 1115, __pyx_L3_error)
    } else {
      __pyx_v_raw_ext = ((char const *)((char const *)"-r.h5"));
    }
    __pyx_v_raw_plist_id = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_fapl_split", 0, 0, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1115, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_split", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_meta_plist_id), __pyx_ptype_4h5py_3h5p_PropID, 1, "meta_plist_id", 0))) __PYX_ERR(0, 1115, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_raw_plist_id), __pyx_ptype_4h5py_3h5p_PropID, 1, "raw_plist_id", 0))) __PYX_ERR(0, 1115, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_18set_fapl_split(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_meta_ext, __pyx_v_meta_plist_id, __pyx_v_raw_ext, __pyx_v_raw_plist_id);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_18set_fapl_split(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char const *__pyx_v_meta_ext, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_meta_plist_id, char const *__pyx_v_raw_ext, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_raw_plist_id) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fapl_split", 0);

  /* "h5py/h5p.pyx":1120
 *         Select the "split" driver (h5fd.SPLIT)
 *         """
 *         H5Pset_fapl_split(self.id, meta_ext, pdefault(meta_plist_id), raw_ext, pdefault(raw_plist_id))             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_split(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_meta_ext, __pyx_f_4h5py_3h5p_pdefault(__pyx_v_meta_plist_id), __pyx_v_raw_ext, __pyx_f_4h5py_3h5p_pdefault(__pyx_v_raw_plist_id)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1120, __pyx_L1_error)

  /* "h5py/h5p.pyx":1115
 * 
 *     @with_phil
 *     def set_fapl_split(self, const char* meta_ext="-m.h5", PropID meta_plist_id=None, const char* raw_ext="-r.h5", PropID raw_plist_id=None):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_split", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1124
 * 
 *     @with_phil
 *     def set_driver(self, hid_t driver_id):             # <<<<<<<<<<<<<<
 *         """(INT driver_id)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_21set_driver(PyObject *__pyx_v_self, PyObject *__pyx_arg_driver_id); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_20set_driver[] = "(INT driver_id)\n\n        Sets the file driver identifier for this file access or data\n        transfer property list.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_21set_driver(PyObject *__pyx_v_self, PyObject *__pyx_arg_driver_id) {
  hid_t __pyx_v_driver_id;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_driver (wrapper)", 0);
  assert(__pyx_arg_driver_id); {
    __pyx_v_driver_id = __Pyx_PyInt_As_hid_t(__pyx_arg_driver_id); if (unlikely((__pyx_v_driver_id == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1124, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_20set_driver(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((hid_t)__pyx_v_driver_id));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_20set_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hid_t __pyx_v_driver_id) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_driver", 0);

  /* "h5py/h5p.pyx":1130
 *         transfer property list.
 *         """
 *         return H5Pset_driver(self.id, driver_id, NULL)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_driver(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_driver_id, NULL); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1130, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_herr_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1124
 * 
 *     @with_phil
 *     def set_driver(self, hid_t driver_id):             # <<<<<<<<<<<<<<
 *         """(INT driver_id)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1134
 * 
 *     @with_phil
 *     def set_fileobj_driver(self, hid_t driver_id, object fileobj):             # <<<<<<<<<<<<<<
 *         """(INT driver_id, OBJECT fileobj)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_23set_fileobj_driver(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_22set_fileobj_driver[] = "(INT driver_id, OBJECT fileobj)\n\n        Select the \"fileobj\" file driver (h5py-specific).\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_23set_fileobj_driver(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  hid_t __pyx_v_driver_id;
  PyObject *__pyx_v_fileobj = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_fileobj_driver (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_driver_id,&__pyx_n_s_fileobj,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_driver_id)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_fileobj_driver", 1, 2, 2, 1); __PYX_ERR(0, 1134, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fileobj_driver") < 0)) __PYX_ERR(0, 1134, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_driver_id = __Pyx_PyInt_As_hid_t(values[0]); if (unlikely((__pyx_v_driver_id == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1134, __pyx_L3_error)
    __pyx_v_fileobj = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_fileobj_driver", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1134, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fileobj_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_22set_fileobj_driver(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_driver_id, __pyx_v_fileobj);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_22set_fileobj_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hid_t __pyx_v_driver_id, PyObject *__pyx_v_fileobj) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_fileobj_driver", 0);

  /* "h5py/h5p.pyx":1139
 *         Select the "fileobj" file driver (h5py-specific).
 *         """
 *         return H5Pset_driver(self.id, driver_id, <PyObject *>fileobj)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_driver(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_driver_id, ((PyObject *)__pyx_v_fileobj)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1139, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_herr_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1134
 * 
 *     @with_phil
 *     def set_fileobj_driver(self, hid_t driver_id, object fileobj):             # <<<<<<<<<<<<<<
 *         """(INT driver_id, OBJECT fileobj)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fileobj_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1143
 * 
 *     @with_phil
 *     def get_driver(self):             # <<<<<<<<<<<<<<
 *         """() => INT driver code
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_25get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_24get_driver[] = "() => INT driver code\n\n        Return an integer identifier for the driver used by this list.\n        Although HDF5 implements these as full-fledged objects, they are\n        treated as integers by Python.  Built-in drivers identifiers are\n        listed in module h5fd; they are:\n\n        - h5fd.CORE\n        - h5fd.FAMILY\n        - h5fd.LOG\n        - h5fd.MPIO\n        - h5fd.MULTI\n        - h5fd.SEC2\n        - h5fd.STDIO\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_25get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_driver (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_24get_driver(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_24get_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_driver", 0);

  /* "h5py/h5p.pyx":1159
 *         - h5fd.STDIO
 *         """
 *         return H5Pget_driver(self.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_driver(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 1159, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1143
 * 
 *     @with_phil
 *     def get_driver(self):             # <<<<<<<<<<<<<<
 *         """() => INT driver code
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1163
 * 
 *     @with_phil
 *     def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
 *         """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_27set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_26set_cache[] = "(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)\n\n        Set the metadata (mdc) and raw data chunk (rdcc) cache properties.\n        See the HDF5 docs for a full explanation.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_27set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_mdc;
  int __pyx_v_rdcc;
  size_t __pyx_v_rdcc_nbytes;
  double __pyx_v_rdcc_w0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_cache (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_mdc,&__pyx_n_s_rdcc,&__pyx_n_s_rdcc_nbytes,&__pyx_n_s_rdcc_w0,0};
    PyObject* values[4] = {0,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  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mdc)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rdcc)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 1); __PYX_ERR(0, 1163, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rdcc_nbytes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 2); __PYX_ERR(0, 1163, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rdcc_w0)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 3); __PYX_ERR(0, 1163, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_cache") < 0)) __PYX_ERR(0, 1163, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      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);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_mdc = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_mdc == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1163, __pyx_L3_error)
    __pyx_v_rdcc = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_rdcc == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1163, __pyx_L3_error)
    __pyx_v_rdcc_nbytes = __Pyx_PyInt_As_size_t(values[2]); if (unlikely((__pyx_v_rdcc_nbytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1163, __pyx_L3_error)
    __pyx_v_rdcc_w0 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_rdcc_w0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1163, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1163, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_26set_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_mdc, __pyx_v_rdcc, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_26set_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_mdc, int __pyx_v_rdcc, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_cache", 0);

  /* "h5py/h5p.pyx":1169
 *         See the HDF5 docs for a full explanation.
 *         """
 *         H5Pset_cache(self.id, mdc, rdcc, rdcc_nbytes, rdcc_w0)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_mdc, __pyx_v_rdcc, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1169, __pyx_L1_error)

  /* "h5py/h5p.pyx":1163
 * 
 *     @with_phil
 *     def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
 *         """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1173
 * 
 *     @with_phil
 *     def get_cache(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE cache info
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_29get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_28get_cache[] = "() => TUPLE cache info\n\n        Get the metadata and raw data chunk cache settings.  See the HDF5\n        docs for element definitions.  Return is a 4-tuple with entries:\n\n        1. INT mdc:              Number of metadata objects\n        2. INT rdcc:             Number of raw data chunks\n        3. UINT rdcc_nbytes:     Size of raw data cache\n        4. DOUBLE rdcc_w0:       Preemption policy for data cache.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_29get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_cache (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_28get_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_28get_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  int __pyx_v_mdc;
  size_t __pyx_v_rdcc;
  size_t __pyx_v_rdcc_nbytes;
  double __pyx_v_w0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_cache", 0);

  /* "h5py/h5p.pyx":1188
 *         cdef double w0
 * 
 *         H5Pget_cache(self.id, &mdc, &rdcc, &rdcc_nbytes, &w0)             # <<<<<<<<<<<<<<
 *         return (mdc, rdcc, rdcc_nbytes, w0)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_mdc), (&__pyx_v_rdcc), (&__pyx_v_rdcc_nbytes), (&__pyx_v_w0)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1188, __pyx_L1_error)

  /* "h5py/h5p.pyx":1189
 * 
 *         H5Pget_cache(self.id, &mdc, &rdcc, &rdcc_nbytes, &w0)
 *         return (mdc, rdcc, rdcc_nbytes, w0)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_mdc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_rdcc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_rdcc_nbytes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_w0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_5);
  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1173
 * 
 *     @with_phil
 *     def get_cache(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE cache info
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1193
 * 
 *     @with_phil
 *     def set_sieve_buf_size(self, size_t size):             # <<<<<<<<<<<<<<
 *         """ (UINT size)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_31set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_30set_sieve_buf_size[] = " (UINT size)\n\n        Set the maximum size of the data sieve buffer (in bytes).  This\n        buffer can improve I/O performance for hyperslab I/O, by combining\n        reads and writes into blocks of the given size.  The default is 64k.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_31set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
  size_t __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_sieve_buf_size (wrapper)", 0);
  assert(__pyx_arg_size); {
    __pyx_v_size = __Pyx_PyInt_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1193, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_30set_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((size_t)__pyx_v_size));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_30set_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_sieve_buf_size", 0);

  /* "h5py/h5p.pyx":1200
 *         reads and writes into blocks of the given size.  The default is 64k.
 *         """
 *         H5Pset_sieve_buf_size(self.id, size)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sieve_buf_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1200, __pyx_L1_error)

  /* "h5py/h5p.pyx":1193
 * 
 *     @with_phil
 *     def set_sieve_buf_size(self, size_t size):             # <<<<<<<<<<<<<<
 *         """ (UINT size)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1204
 * 
 *     @with_phil
 *     def get_sieve_buf_size(self):             # <<<<<<<<<<<<<<
 *         """ () => UINT size
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_33get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_32get_sieve_buf_size[] = " () => UINT size\n\n        Get the current maximum size of the data sieve buffer (in bytes).\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_33get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_sieve_buf_size (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_32get_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_32get_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  size_t __pyx_v_size;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_sieve_buf_size", 0);

  /* "h5py/h5p.pyx":1210
 *         """
 *         cdef size_t size
 *         H5Pget_sieve_buf_size(self.id, &size)             # <<<<<<<<<<<<<<
 *         return size
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sieve_buf_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1210, __pyx_L1_error)

  /* "h5py/h5p.pyx":1211
 *         cdef size_t size
 *         H5Pget_sieve_buf_size(self.id, &size)
 *         return size             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1204
 * 
 *     @with_phil
 *     def get_sieve_buf_size(self):             # <<<<<<<<<<<<<<
 *         """ () => UINT size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1215
 * 
 *     @with_phil
 *     def set_libver_bounds(self, int low, int high):             # <<<<<<<<<<<<<<
 *         """ (INT low, INT high)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_35set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_34set_libver_bounds[] = " (INT low, INT high)\n\n        Set the compatibility level for file format. Legal values are:\n\n        - h5f.LIBVER_EARLIEST\n        - h5f.LIBVER_V18 (HDF5 1.10.2 or later)\n        - h5f.LIBVER_V110 (HDF5 1.10.2 or later)\n        - h5f.LIBVER_V112 (HDF5 1.11.4 or later)\n        - h5f.LIBVER_V114 (HDF5 1.13.0 or later)\n        - h5f.LIBVER_LATEST\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_35set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_low;
  int __pyx_v_high;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_libver_bounds (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_low,&__pyx_n_s_high,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_low)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_high)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_libver_bounds", 1, 2, 2, 1); __PYX_ERR(0, 1215, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_libver_bounds") < 0)) __PYX_ERR(0, 1215, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_low = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_low == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1215, __pyx_L3_error)
    __pyx_v_high = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_high == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1215, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_libver_bounds", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1215, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_34set_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_low, __pyx_v_high);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_34set_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_low, int __pyx_v_high) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_libver_bounds", 0);

  /* "h5py/h5p.pyx":1227
 *         - h5f.LIBVER_LATEST
 *         """
 *         H5Pset_libver_bounds(self.id, <H5F_libver_t>low, <H5F_libver_t>high)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_libver_bounds(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5F_libver_t)__pyx_v_low), ((H5F_libver_t)__pyx_v_high)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1227, __pyx_L1_error)

  /* "h5py/h5p.pyx":1215
 * 
 *     @with_phil
 *     def set_libver_bounds(self, int low, int high):             # <<<<<<<<<<<<<<
 *         """ (INT low, INT high)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1231
 * 
 *     @with_phil
 *     def get_libver_bounds(self):             # <<<<<<<<<<<<<<
 *         """ () => (INT low, INT high)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_37get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_36get_libver_bounds[] = " () => (INT low, INT high)\n\n        Get the compatibility level for file format. Returned values are from:\n\n        - h5f.LIBVER_EARLIEST\n        - h5f.LIBVER_V18 (HDF5 1.10.2 or later)\n        - h5f.LIBVER_V110 (HDF5 1.10.2 or later)\n        - h5f.LIBVER_V112 (HDF5 1.11.4 or later)\n        - h5f.LIBVER_V114 (HDF5 1.13.0 or later)\n        - h5f.LIBVER_LATEST\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_37get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_libver_bounds (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_36get_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_36get_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  H5F_libver_t __pyx_v_low;
  H5F_libver_t __pyx_v_high;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_libver_bounds", 0);

  /* "h5py/h5p.pyx":1245
 *         cdef H5F_libver_t low
 *         cdef H5F_libver_t high
 *         H5Pget_libver_bounds(self.id, &low, &high)             # <<<<<<<<<<<<<<
 * 
 *         return (<int>low, <int>high)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_libver_bounds(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_low), (&__pyx_v_high)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1245, __pyx_L1_error)

  /* "h5py/h5p.pyx":1247
 *         H5Pget_libver_bounds(self.id, &low, &high)
 * 
 *         return (<int>low, <int>high)             # <<<<<<<<<<<<<<
 * 
 *     IF MPI:
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_v_low)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(((int)__pyx_v_high)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1231
 * 
 *     @with_phil
 *     def get_libver_bounds(self):             # <<<<<<<<<<<<<<
 *         """ () => (INT low, INT high)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1302
 * 
 *     @with_phil
 *     def get_mdc_config(self):             # <<<<<<<<<<<<<<
 *         """() => CacheConfig
 *         Returns an object that stores all the information about the meta-data cache
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_39get_mdc_config(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_38get_mdc_config[] = "() => CacheConfig\n        Returns an object that stores all the information about the meta-data cache\n        configuration\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_39get_mdc_config(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_mdc_config (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_38get_mdc_config(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_38get_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  herr_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_mdc_config", 0);

  /* "h5py/h5p.pyx":1308
 *         """
 * 
 *         cdef CacheConfig config = CacheConfig()             # <<<<<<<<<<<<<<
 * 
 *         H5Pget_mdc_config(self.id, &config.cache_config)
 */
  __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_4h5py_4h5ac_CacheConfig)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_config = ((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "h5py/h5p.pyx":1310
 *         cdef CacheConfig config = CacheConfig()
 * 
 *         H5Pget_mdc_config(self.id, &config.cache_config)             # <<<<<<<<<<<<<<
 * 
 *         return config
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pget_mdc_config(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_config->cache_config)); if (unlikely(__pyx_t_2 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1310, __pyx_L1_error)

  /* "h5py/h5p.pyx":1312
 *         H5Pget_mdc_config(self.id, &config.cache_config)
 * 
 *         return config             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_config));
  __pyx_r = ((PyObject *)__pyx_v_config);
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1302
 * 
 *     @with_phil
 *     def get_mdc_config(self):             # <<<<<<<<<<<<<<
 *         """() => CacheConfig
 *         Returns an object that stores all the information about the meta-data cache
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_config);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1316
 * 
 *     @with_phil
 *     def set_mdc_config(self, CacheConfig config not None):             # <<<<<<<<<<<<<<
 *         """(CacheConfig) => None
 *         Returns an object that stores all the information about the meta-data cache
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_41set_mdc_config(PyObject *__pyx_v_self, PyObject *__pyx_v_config); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_40set_mdc_config[] = "(CacheConfig) => None\n        Returns an object that stores all the information about the meta-data cache\n        configuration\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_41set_mdc_config(PyObject *__pyx_v_self, PyObject *__pyx_v_config) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_mdc_config (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_config), __pyx_ptype_4h5py_4h5ac_CacheConfig, 0, "config", 0))) __PYX_ERR(0, 1316, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_40set_mdc_config(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_config));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_40set_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_mdc_config", 0);

  /* "h5py/h5p.pyx":1321
 *         configuration
 *         """
 *         H5Pset_mdc_config(self.id, &config.cache_config)             # <<<<<<<<<<<<<<
 * 
 *     def get_alignment(self):
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_mdc_config(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_config->cache_config)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1321, __pyx_L1_error)

  /* "h5py/h5p.pyx":1316
 * 
 *     @with_phil
 *     def set_mdc_config(self, CacheConfig config not None):             # <<<<<<<<<<<<<<
 *         """(CacheConfig) => None
 *         Returns an object that stores all the information about the meta-data cache
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1323
 *         H5Pset_mdc_config(self.id, &config.cache_config)
 * 
 *     def get_alignment(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieves the current settings for alignment properties from a file access property list.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_43get_alignment(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_42get_alignment[] = "\n        Retrieves the current settings for alignment properties from a file access property list.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_43get_alignment(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_alignment (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_42get_alignment(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_42get_alignment(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  hsize_t __pyx_v_threshold;
  hsize_t __pyx_v_alignment;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_alignment", 0);

  /* "h5py/h5p.pyx":1328
 *         """
 *         cdef hsize_t threshold, alignment
 *         H5Pget_alignment(self.id, &threshold, &alignment)             # <<<<<<<<<<<<<<
 * 
 *         return threshold, alignment
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_alignment(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_threshold), (&__pyx_v_alignment)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1328, __pyx_L1_error)

  /* "h5py/h5p.pyx":1330
 *         H5Pget_alignment(self.id, &threshold, &alignment)
 * 
 *         return threshold, alignment             # <<<<<<<<<<<<<<
 * 
 *     def set_alignment(self, threshold, alignment):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_hsize_t(__pyx_v_threshold); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_hsize_t(__pyx_v_alignment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1323
 *         H5Pset_mdc_config(self.id, &config.cache_config)
 * 
 *     def get_alignment(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieves the current settings for alignment properties from a file access property list.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_alignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1332
 *         return threshold, alignment
 * 
 *     def set_alignment(self, threshold, alignment):             # <<<<<<<<<<<<<<
 *         """
 *         Sets alignment properties of a file access property list.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_45set_alignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_44set_alignment[] = "\n        Sets alignment properties of a file access property list.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_45set_alignment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_threshold = 0;
  PyObject *__pyx_v_alignment = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_alignment (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_threshold,&__pyx_n_s_alignment,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_threshold)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_alignment)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_alignment", 1, 2, 2, 1); __PYX_ERR(0, 1332, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_alignment") < 0)) __PYX_ERR(0, 1332, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_threshold = values[0];
    __pyx_v_alignment = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_alignment", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1332, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_alignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_44set_alignment(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_threshold, __pyx_v_alignment);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_44set_alignment(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, PyObject *__pyx_v_threshold, PyObject *__pyx_v_alignment) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hsize_t __pyx_t_1;
  hsize_t __pyx_t_2;
  herr_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_alignment", 0);

  /* "h5py/h5p.pyx":1336
 *         Sets alignment properties of a file access property list.
 *         """
 *         H5Pset_alignment(self.id, threshold, alignment)             # <<<<<<<<<<<<<<
 * 
 *     IF HDF5_VERSION >= (1, 8, 9):
 */
  __pyx_t_1 = __Pyx_PyInt_As_hsize_t(__pyx_v_threshold); if (unlikely((__pyx_t_1 == ((hsize_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1336, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_hsize_t(__pyx_v_alignment); if (unlikely((__pyx_t_2 == ((hsize_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1336, __pyx_L1_error)
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pset_alignment(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_t_1, __pyx_t_2); if (unlikely(__pyx_t_3 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1336, __pyx_L1_error)

  /* "h5py/h5p.pyx":1332
 *         return threshold, alignment
 * 
 *     def set_alignment(self, threshold, alignment):             # <<<<<<<<<<<<<<
 *         """
 *         Sets alignment properties of a file access property list.
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_alignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1341
 * 
 *         @with_phil
 *         def set_file_image(self, image):             # <<<<<<<<<<<<<<
 *             """
 *             Copy a file image into the property list. Passing None releases
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_47set_file_image(PyObject *__pyx_v_self, PyObject *__pyx_v_image); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_46set_file_image[] = "\n            Copy a file image into the property list. Passing None releases\n            any image currently loaded. The parameter image must either be\n            None or support the buffer protocol.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_47set_file_image(PyObject *__pyx_v_self, PyObject *__pyx_v_image) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_file_image (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_46set_file_image(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((PyObject *)__pyx_v_image));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_46set_file_image(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, PyObject *__pyx_v_image) {
  Py_buffer __pyx_v_buf;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  herr_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  char const *__pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_file_image", 0);

  /* "h5py/h5p.pyx":1350
 *             cdef Py_buffer buf
 * 
 *             if image is None:             # <<<<<<<<<<<<<<
 *                 H5Pset_file_image(self.id, NULL, 0)
 *                 return
 */
  __pyx_t_1 = (__pyx_v_image == Py_None);
  __pyx_t_2 = (__pyx_t_1 != 0);
  if (__pyx_t_2) {

    /* "h5py/h5p.pyx":1351
 * 
 *             if image is None:
 *                 H5Pset_file_image(self.id, NULL, 0)             # <<<<<<<<<<<<<<
 *                 return
 * 
 */
    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pset_file_image(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, NULL, 0); if (unlikely(__pyx_t_3 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1351, __pyx_L1_error)

    /* "h5py/h5p.pyx":1352
 *             if image is None:
 *                 H5Pset_file_image(self.id, NULL, 0)
 *                 return             # <<<<<<<<<<<<<<
 * 
 *             if not PyObject_CheckBuffer(image):
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "h5py/h5p.pyx":1350
 *             cdef Py_buffer buf
 * 
 *             if image is None:             # <<<<<<<<<<<<<<
 *                 H5Pset_file_image(self.id, NULL, 0)
 *                 return
 */
  }

  /* "h5py/h5p.pyx":1354
 *                 return
 * 
 *             if not PyObject_CheckBuffer(image):             # <<<<<<<<<<<<<<
 *                 raise TypeError("image must support the buffer protocol")
 * 
 */
  __pyx_t_2 = ((!(PyObject_CheckBuffer(__pyx_v_image) != 0)) != 0);
  if (unlikely(__pyx_t_2)) {

    /* "h5py/h5p.pyx":1355
 * 
 *             if not PyObject_CheckBuffer(image):
 *                 raise TypeError("image must support the buffer protocol")             # <<<<<<<<<<<<<<
 * 
 *             PyObject_GetBuffer(image, &buf, PyBUF_SIMPLE)
 */
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1355, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(0, 1355, __pyx_L1_error)

    /* "h5py/h5p.pyx":1354
 *                 return
 * 
 *             if not PyObject_CheckBuffer(image):             # <<<<<<<<<<<<<<
 *                 raise TypeError("image must support the buffer protocol")
 * 
 */
  }

  /* "h5py/h5p.pyx":1357
 *                 raise TypeError("image must support the buffer protocol")
 * 
 *             PyObject_GetBuffer(image, &buf, PyBUF_SIMPLE)             # <<<<<<<<<<<<<<
 * 
 *             try:
 */
  __pyx_t_5 = PyObject_GetBuffer(__pyx_v_image, (&__pyx_v_buf), PyBUF_SIMPLE); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 1357, __pyx_L1_error)

  /* "h5py/h5p.pyx":1359
 *             PyObject_GetBuffer(image, &buf, PyBUF_SIMPLE)
 * 
 *             try:             # <<<<<<<<<<<<<<
 *                 H5Pset_file_image(self.id, buf.buf, buf.len)
 *             finally:
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":1360
 * 
 *             try:
 *                 H5Pset_file_image(self.id, buf.buf, buf.len)             # <<<<<<<<<<<<<<
 *             finally:
 *                 PyBuffer_Release(&buf)
 */
    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pset_file_image(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_buf.buf, __pyx_v_buf.len); if (unlikely(__pyx_t_3 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1360, __pyx_L6_error)
  }

  /* "h5py/h5p.pyx":1362
 *                 H5Pset_file_image(self.id, buf.buf, buf.len)
 *             finally:
 *                 PyBuffer_Release(&buf)             # <<<<<<<<<<<<<<
 * 
 *     IF HDF5_VERSION >= (1, 10, 1):
 */
  /*finally:*/ {
    /*normal exit:*/{
      PyBuffer_Release((&__pyx_v_buf));
      goto __pyx_L7;
    }
    __pyx_L6_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename;
      {
        PyBuffer_Release((&__pyx_v_buf));
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      }
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7;
      goto __pyx_L1_error;
    }
    __pyx_L7:;
  }

  /* "h5py/h5p.pyx":1341
 * 
 *         @with_phil
 *         def set_file_image(self, image):             # <<<<<<<<<<<<<<
 *             """
 *             Copy a file image into the property list. Passing None releases
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_file_image", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1367
 * 
 *         @with_phil
 *         def set_page_buffer_size(self, size_t buf_size, unsigned int min_meta_per=0,             # <<<<<<<<<<<<<<
 *                                  unsigned int min_raw_per=0):
 *             """ (LONG buf_size, UINT min_meta_per, UINT min_raw_per)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_49set_page_buffer_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_48set_page_buffer_size[] = " (LONG buf_size, UINT min_meta_per, UINT min_raw_per)\n\n            Set the maximum size in bytes of the page buffer. The default value is\n            zero, meaning that page buffering is disabled. When a non-zero page\n            buffer size is set, HDF5 library will enable page buffering if that size\n            is larger or equal than a single page size if a paged file space\n            strategy was set at file creation.\n\n            The function also allows setting the criteria for metadata and raw data\n            page eviction from the buffer. The default values for both are zero.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_49set_page_buffer_size(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_buf_size;
  unsigned int __pyx_v_min_meta_per;
  unsigned int __pyx_v_min_raw_per;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_page_buffer_size (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_buf_size,&__pyx_n_s_min_meta_per,&__pyx_n_s_min_raw_per,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_buf_size)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_min_meta_per);
          if (value) { values[1] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_min_raw_per);
          if (value) { values[2] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_page_buffer_size") < 0)) __PYX_ERR(0, 1367, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_buf_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_buf_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1367, __pyx_L3_error)
    if (values[1]) {
      __pyx_v_min_meta_per = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_min_meta_per == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1367, __pyx_L3_error)
    } else {
      __pyx_v_min_meta_per = ((unsigned int)0);
    }
    if (values[2]) {
      __pyx_v_min_raw_per = __Pyx_PyInt_As_unsigned_int(values[2]); if (unlikely((__pyx_v_min_raw_per == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1368, __pyx_L3_error)
    } else {
      __pyx_v_min_raw_per = ((unsigned int)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_page_buffer_size", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1367, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_page_buffer_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_48set_page_buffer_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_buf_size, __pyx_v_min_meta_per, __pyx_v_min_raw_per);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_48set_page_buffer_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_buf_size, unsigned int __pyx_v_min_meta_per, unsigned int __pyx_v_min_raw_per) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_page_buffer_size", 0);

  /* "h5py/h5p.pyx":1380
 *             page eviction from the buffer. The default values for both are zero.
 *             """
 *             H5Pset_page_buffer_size(self.id, buf_size, min_meta_per, min_raw_per)             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_page_buffer_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_buf_size, __pyx_v_min_meta_per, __pyx_v_min_raw_per); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1380, __pyx_L1_error)

  /* "h5py/h5p.pyx":1367
 * 
 *         @with_phil
 *         def set_page_buffer_size(self, size_t buf_size, unsigned int min_meta_per=0,             # <<<<<<<<<<<<<<
 *                                  unsigned int min_raw_per=0):
 *             """ (LONG buf_size, UINT min_meta_per, UINT min_raw_per)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_page_buffer_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1383
 * 
 *         @with_phil
 *         def get_page_buffer_size(self):             # <<<<<<<<<<<<<<
 *             """ () -> (LONG buf_size, UINT min_meta_per, UINT min_raw_per)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_51get_page_buffer_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_50get_page_buffer_size[] = " () -> (LONG buf_size, UINT min_meta_per, UINT min_raw_per)\n\n            Retrieves the maximum size for the page buffer and the minimum\n            percentage for metadata and raw data pages evicition criteria.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_51get_page_buffer_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_page_buffer_size (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_50get_page_buffer_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_50get_page_buffer_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  size_t __pyx_v_buf_size;
  unsigned int __pyx_v_min_meta_per;
  unsigned int __pyx_v_min_raw_per;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_page_buffer_size", 0);

  /* "h5py/h5p.pyx":1391
 *             cdef size_t buf_size
 *             cdef unsigned int min_meta_per, min_raw_per
 *             H5Pget_page_buffer_size(self.id, &buf_size, &min_meta_per, &min_raw_per)             # <<<<<<<<<<<<<<
 *             return (buf_size, min_meta_per, min_raw_per)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_page_buffer_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_buf_size), (&__pyx_v_min_meta_per), (&__pyx_v_min_raw_per)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1391, __pyx_L1_error)

  /* "h5py/h5p.pyx":1392
 *             cdef unsigned int min_meta_per, min_raw_per
 *             H5Pget_page_buffer_size(self.id, &buf_size, &min_meta_per, &min_raw_per)
 *             return (buf_size, min_meta_per, min_raw_per)             # <<<<<<<<<<<<<<
 * 
 *     IF HDF5_VERSION >= (1, 12, 1) or (HDF5_VERSION[:2] == (1, 10) and HDF5_VERSION[2] >= 7):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_buf_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_min_meta_per); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_min_raw_per); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1383
 * 
 *         @with_phil
 *         def get_page_buffer_size(self):             # <<<<<<<<<<<<<<
 *             """ () -> (LONG buf_size, UINT min_meta_per, UINT min_raw_per)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_page_buffer_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1397
 * 
 *         @with_phil
 *         def get_file_locking(self):             # <<<<<<<<<<<<<<
 *             """ () => (BOOL, BOOL)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_53get_file_locking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_52get_file_locking[] = " () => (BOOL, BOOL)\n\n            Return file locking information as a 2-tuple of boolean:\n            (use_file_locking, ignore_when_disabled)\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_53get_file_locking(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_file_locking (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_52get_file_locking(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_52get_file_locking(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  hbool_t __pyx_v_use_file_locking;
  hbool_t __pyx_v_ignore_when_disabled;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_file_locking", 0);

  /* "h5py/h5p.pyx":1403
 *             (use_file_locking, ignore_when_disabled)
 *             """
 *             cdef hbool_t use_file_locking = 0             # <<<<<<<<<<<<<<
 *             cdef hbool_t ignore_when_disabled = 0
 * 
 */
  __pyx_v_use_file_locking = 0;

  /* "h5py/h5p.pyx":1404
 *             """
 *             cdef hbool_t use_file_locking = 0
 *             cdef hbool_t ignore_when_disabled = 0             # <<<<<<<<<<<<<<
 * 
 *             H5Pget_file_locking(self.id, &use_file_locking, &ignore_when_disabled)
 */
  __pyx_v_ignore_when_disabled = 0;

  /* "h5py/h5p.pyx":1406
 *             cdef hbool_t ignore_when_disabled = 0
 * 
 *             H5Pget_file_locking(self.id, &use_file_locking, &ignore_when_disabled)             # <<<<<<<<<<<<<<
 *             return use_file_locking, ignore_when_disabled
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_file_locking(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_use_file_locking), (&__pyx_v_ignore_when_disabled)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1406, __pyx_L1_error)

  /* "h5py/h5p.pyx":1407
 * 
 *             H5Pget_file_locking(self.id, &use_file_locking, &ignore_when_disabled)
 *             return use_file_locking, ignore_when_disabled             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_hbool_t(__pyx_v_use_file_locking); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_hbool_t(__pyx_v_ignore_when_disabled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1397
 * 
 *         @with_phil
 *         def get_file_locking(self):             # <<<<<<<<<<<<<<
 *             """ () => (BOOL, BOOL)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_file_locking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1410
 * 
 *         @with_phil
 *         def set_file_locking(self, bint use_file_locking, bint ignore_when_disabled):             # <<<<<<<<<<<<<<
 *             """ (BOOL use_file_locking, BOOL ignore_when_disabled)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_55set_file_locking(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropFAID_54set_file_locking[] = " (BOOL use_file_locking, BOOL ignore_when_disabled)\n\n            Set HDF5 file locking behavior.\n            Warning: This setting is overridden by the HDF5_USE_FILE_LOCKING environment variable.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_55set_file_locking(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  int __pyx_v_use_file_locking;
  int __pyx_v_ignore_when_disabled;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_file_locking (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_use_file_locking,&__pyx_n_s_ignore_when_disabled,0};
    PyObject* values[2] = {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  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_file_locking)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_ignore_when_disabled)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_file_locking", 1, 2, 2, 1); __PYX_ERR(0, 1410, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_file_locking") < 0)) __PYX_ERR(0, 1410, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_use_file_locking = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_use_file_locking == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1410, __pyx_L3_error)
    __pyx_v_ignore_when_disabled = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_ignore_when_disabled == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1410, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_file_locking", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1410, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_file_locking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_54set_file_locking(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_use_file_locking, __pyx_v_ignore_when_disabled);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_54set_file_locking(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_use_file_locking, int __pyx_v_ignore_when_disabled) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_file_locking", 0);

  /* "h5py/h5p.pyx":1416
 *             Warning: This setting is overridden by the HDF5_USE_FILE_LOCKING environment variable.
 *             """
 *             H5Pset_file_locking(             # <<<<<<<<<<<<<<
 *                 self.id, <hbool_t>use_file_locking, <hbool_t>ignore_when_disabled)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_file_locking(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((hbool_t)__pyx_v_use_file_locking), ((hbool_t)__pyx_v_ignore_when_disabled)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1416, __pyx_L1_error)

  /* "h5py/h5p.pyx":1410
 * 
 *         @with_phil
 *         def set_file_locking(self, bint use_file_locking, bint ignore_when_disabled):             # <<<<<<<<<<<<<<
 *             """ (BOOL use_file_locking, BOOL ignore_when_disabled)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_file_locking", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_57__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_57__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_56__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_56__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropFAID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropFAID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropFAID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropFAID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropFAID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_59__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_59__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_58__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_58__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropFAID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropFAID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropFAID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropFAID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropFAID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1426
 * 
 *     @with_phil
 *     def set_char_encoding(self, int encoding):             # <<<<<<<<<<<<<<
 *         """ (INT encoding)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLCID_set_char_encoding[] = " (INT encoding)\n\n        Set the character encoding for link names.  Legal values are:\n\n        - h5t.CSET_ASCII\n        - h5t.CSET_UTF8\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding) {
  int __pyx_v_encoding;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_char_encoding (wrapper)", 0);
  assert(__pyx_arg_encoding); {
    __pyx_v_encoding = __Pyx_PyInt_As_int(__pyx_arg_encoding); if (unlikely((__pyx_v_encoding == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1426, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self), ((int)__pyx_v_encoding));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_encoding) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_char_encoding", 0);

  /* "h5py/h5p.pyx":1434
 *         - h5t.CSET_UTF8
 *         """
 *         H5Pset_char_encoding(self.id, <H5T_cset_t>encoding)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_char_encoding(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_encoding)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1434, __pyx_L1_error)

  /* "h5py/h5p.pyx":1426
 * 
 *     @with_phil
 *     def set_char_encoding(self, int encoding):             # <<<<<<<<<<<<<<
 *         """ (INT encoding)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1438
 * 
 *     @with_phil
 *     def get_char_encoding(self):             # <<<<<<<<<<<<<<
 *         """ () => INT encoding
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLCID_2get_char_encoding[] = " () => INT encoding\n\n        Get the character encoding for link names.  Legal values are:\n\n        - h5t.CSET_ASCII\n        - h5t.CSET_UTF8\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_char_encoding (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self) {
  H5T_cset_t __pyx_v_encoding;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_char_encoding", 0);

  /* "h5py/h5p.pyx":1447
 *         """
 *         cdef H5T_cset_t encoding
 *         H5Pget_char_encoding(self.id, &encoding)             # <<<<<<<<<<<<<<
 *         return <int>encoding
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_char_encoding(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_encoding)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1447, __pyx_L1_error)

  /* "h5py/h5p.pyx":1448
 *         cdef H5T_cset_t encoding
 *         H5Pget_char_encoding(self.id, &encoding)
 *         return <int>encoding             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_int(((int)__pyx_v_encoding)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1438
 * 
 *     @with_phil
 *     def get_char_encoding(self):             # <<<<<<<<<<<<<<
 *         """ () => INT encoding
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropLCID.get_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1452
 * 
 *     @with_phil
 *     def set_create_intermediate_group(self, bint create):             # <<<<<<<<<<<<<<
 *         """(BOOL create)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLCID_4set_create_intermediate_group[] = "(BOOL create)\n\n        Set whether missing intermediate groups are automatically created.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create) {
  int __pyx_v_create;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_create_intermediate_group (wrapper)", 0);
  assert(__pyx_arg_create); {
    __pyx_v_create = __Pyx_PyObject_IsTrue(__pyx_arg_create); if (unlikely((__pyx_v_create == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1452, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self), ((int)__pyx_v_create));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_create) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_create_intermediate_group", 0);

  /* "h5py/h5p.pyx":1457
 *         Set whether missing intermediate groups are automatically created.
 *         """
 *         H5Pset_create_intermediate_group(self.id, create)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_create_intermediate_group(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_create); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1457, __pyx_L1_error)

  /* "h5py/h5p.pyx":1452
 * 
 *     @with_phil
 *     def set_create_intermediate_group(self, bint create):             # <<<<<<<<<<<<<<
 *         """(BOOL create)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1461
 * 
 *     @with_phil
 *     def get_create_intermediate_group(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLCID_6get_create_intermediate_group[] = "() => BOOL\n\n        Determine if missing intermediate groups are automatically created.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_create_intermediate_group (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self) {
  unsigned int __pyx_v_create;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_create_intermediate_group", 0);

  /* "h5py/h5p.pyx":1467
 *         """
 *         cdef unsigned int create
 *         H5Pget_create_intermediate_group(self.id, &create)             # <<<<<<<<<<<<<<
 *         return <bint>create
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_create_intermediate_group(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_create)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1467, __pyx_L1_error)

  /* "h5py/h5p.pyx":1468
 *         cdef unsigned int create
 *         H5Pget_create_intermediate_group(self.id, &create)
 *         return <bint>create             # <<<<<<<<<<<<<<
 * 
 * # Link access
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_create != 0)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1461
 * 
 *     @with_phil
 *     def get_create_intermediate_group(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropLCID.get_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_9__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_8__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_8__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropLCID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropLCID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropLCID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropLCID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropLCID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_11__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_10__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_10__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropLCID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropLCID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropLCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropLCID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropLCID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1475
 *     """ Link access property list """
 * 
 *     def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 *         self._buf = NULL
 * 
 */

/* Python wrapper */
static int __pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), __pyx_v_args);

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

static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "h5py/h5p.pyx":1476
 * 
 *     def __cinit__(self, *args):
 *         self._buf = NULL             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_v_self->_buf = NULL;

  /* "h5py/h5p.pyx":1475
 *     """ Link access property list """
 * 
 *     def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 *         self._buf = NULL
 * 
 */

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

/* "h5py/h5p.pyx":1478
 *         self._buf = NULL
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         efree(self._buf)
 * 
 */

/* Python wrapper */
static void __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));

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

static void __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "h5py/h5p.pyx":1479
 * 
 *     def __dealloc__(self):
 *         efree(self._buf)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_f_4h5py_5utils_efree(__pyx_v_self->_buf);

  /* "h5py/h5p.pyx":1478
 *         self._buf = NULL
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         efree(self._buf)
 * 
 */

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

/* "h5py/h5p.pyx":1483
 * 
 *     @with_phil
 *     def set_nlinks(self, size_t nlinks):             # <<<<<<<<<<<<<<
 *         """(UINT nlinks)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLAID_4set_nlinks[] = "(UINT nlinks)\n\n        Set the maximum traversal depth for soft links\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks) {
  size_t __pyx_v_nlinks;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_nlinks (wrapper)", 0);
  assert(__pyx_arg_nlinks); {
    __pyx_v_nlinks = __Pyx_PyInt_As_size_t(__pyx_arg_nlinks); if (unlikely((__pyx_v_nlinks == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1483, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((size_t)__pyx_v_nlinks));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, size_t __pyx_v_nlinks) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_nlinks", 0);

  /* "h5py/h5p.pyx":1488
 *         Set the maximum traversal depth for soft links
 *         """
 *         H5Pset_nlinks(self.id, nlinks)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_nlinks(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_nlinks); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1488, __pyx_L1_error)

  /* "h5py/h5p.pyx":1483
 * 
 *     @with_phil
 *     def set_nlinks(self, size_t nlinks):             # <<<<<<<<<<<<<<
 *         """(UINT nlinks)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1492
 * 
 *     @with_phil
 *     def get_nlinks(self):             # <<<<<<<<<<<<<<
 *         """() => UINT
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLAID_6get_nlinks[] = "() => UINT\n\n        Get the maximum traversal depth for soft links\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_nlinks (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
  size_t __pyx_v_nlinks;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_nlinks", 0);

  /* "h5py/h5p.pyx":1498
 *         """
 *         cdef size_t nlinks
 *         H5Pget_nlinks(self.id, &nlinks)             # <<<<<<<<<<<<<<
 *         return nlinks
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nlinks(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_nlinks)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1498, __pyx_L1_error)

  /* "h5py/h5p.pyx":1499
 *         cdef size_t nlinks
 *         H5Pget_nlinks(self.id, &nlinks)
 *         return nlinks             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_nlinks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1492
 * 
 *     @with_phil
 *     def get_nlinks(self):             # <<<<<<<<<<<<<<
 *         """() => UINT
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropLAID.get_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1503
 * 
 *     @with_phil
 *     def set_elink_prefix(self, char* prefix):             # <<<<<<<<<<<<<<
 *         """(STRING prefix)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLAID_8set_elink_prefix[] = "(STRING prefix)\n\n        Set the external link prefix.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix) {
  char *__pyx_v_prefix;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_elink_prefix (wrapper)", 0);
  assert(__pyx_arg_prefix); {
    __pyx_v_prefix = __Pyx_PyObject_AsWritableString(__pyx_arg_prefix); if (unlikely((!__pyx_v_prefix) && PyErr_Occurred())) __PYX_ERR(0, 1503, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((char *)__pyx_v_prefix));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, char *__pyx_v_prefix) {
  size_t __pyx_v_size;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  void *__pyx_t_1;
  herr_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_elink_prefix", 0);

  /* "h5py/h5p.pyx":1511
 * 
 *         # HDF5 requires that we hang on to this buffer
 *         efree(self._buf)             # <<<<<<<<<<<<<<
 *         size = strlen(prefix)
 *         self._buf = <char*>emalloc(size+1)
 */
  __pyx_f_4h5py_5utils_efree(__pyx_v_self->_buf);

  /* "h5py/h5p.pyx":1512
 *         # HDF5 requires that we hang on to this buffer
 *         efree(self._buf)
 *         size = strlen(prefix)             # <<<<<<<<<<<<<<
 *         self._buf = <char*>emalloc(size+1)
 *         strcpy(self._buf, prefix)
 */
  __pyx_v_size = strlen(__pyx_v_prefix);

  /* "h5py/h5p.pyx":1513
 *         efree(self._buf)
 *         size = strlen(prefix)
 *         self._buf = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
 *         strcpy(self._buf, prefix)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_1 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 1513, __pyx_L1_error)
  __pyx_v_self->_buf = ((char *)__pyx_t_1);

  /* "h5py/h5p.pyx":1514
 *         size = strlen(prefix)
 *         self._buf = <char*>emalloc(size+1)
 *         strcpy(self._buf, prefix)             # <<<<<<<<<<<<<<
 * 
 *         H5Pset_elink_prefix(self.id, self._buf)
 */
  (void)(strcpy(__pyx_v_self->_buf, __pyx_v_prefix));

  /* "h5py/h5p.pyx":1516
 *         strcpy(self._buf, prefix)
 * 
 *         H5Pset_elink_prefix(self.id, self._buf)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pset_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_self->_buf); if (unlikely(__pyx_t_2 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1516, __pyx_L1_error)

  /* "h5py/h5p.pyx":1503
 * 
 *     @with_phil
 *     def set_elink_prefix(self, char* prefix):             # <<<<<<<<<<<<<<
 *         """(STRING prefix)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1520
 * 
 *     @with_phil
 *     def get_elink_prefix(self):             # <<<<<<<<<<<<<<
 *         """() => STRING prefix
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLAID_10get_elink_prefix[] = "() => STRING prefix\n\n        Get the external link prefix\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_elink_prefix (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
  char *__pyx_v_buf;
  Py_ssize_t __pyx_v_size;
  char *__pyx_v_pstr;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  void *__pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  char const *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_elink_prefix", 0);

  /* "h5py/h5p.pyx":1525
 *         Get the external link prefix
 *         """
 *         cdef char* buf = NULL             # <<<<<<<<<<<<<<
 *         cdef ssize_t size
 * 
 */
  __pyx_v_buf = NULL;

  /* "h5py/h5p.pyx":1528
 *         cdef ssize_t size
 * 
 *         size = H5Pget_elink_prefix(self.id, NULL, 0)             # <<<<<<<<<<<<<<
 *         buf = <char*>emalloc(size+1)
 *         try:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, NULL, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 1528, __pyx_L1_error)
  __pyx_v_size = __pyx_t_1;

  /* "h5py/h5p.pyx":1529
 * 
 *         size = H5Pget_elink_prefix(self.id, NULL, 0)
 *         buf = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
 *         try:
 *             H5Pget_elink_prefix(self.id, buf, size+1)
 */
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_2 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 1529, __pyx_L1_error)
  __pyx_v_buf = ((char *)__pyx_t_2);

  /* "h5py/h5p.pyx":1530
 *         size = H5Pget_elink_prefix(self.id, NULL, 0)
 *         buf = <char*>emalloc(size+1)
 *         try:             # <<<<<<<<<<<<<<
 *             H5Pget_elink_prefix(self.id, buf, size+1)
 *             pstr = buf
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":1531
 *         buf = <char*>emalloc(size+1)
 *         try:
 *             H5Pget_elink_prefix(self.id, buf, size+1)             # <<<<<<<<<<<<<<
 *             pstr = buf
 *         finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 1531, __pyx_L4_error)

    /* "h5py/h5p.pyx":1532
 *         try:
 *             H5Pget_elink_prefix(self.id, buf, size+1)
 *             pstr = buf             # <<<<<<<<<<<<<<
 *         finally:
 *             efree(buf)
 */
    __pyx_v_pstr = __pyx_v_buf;
  }

  /* "h5py/h5p.pyx":1534
 *             pstr = buf
 *         finally:
 *             efree(buf)             # <<<<<<<<<<<<<<
 * 
 *         return pstr
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __pyx_t_3 = __pyx_lineno; __pyx_t_4 = __pyx_clineno; __pyx_t_5 = __pyx_filename;
      {
        __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
      }
      __Pyx_XGIVEREF(__pyx_t_6);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_8);
      __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0;
      __pyx_lineno = __pyx_t_3; __pyx_clineno = __pyx_t_4; __pyx_filename = __pyx_t_5;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "h5py/h5p.pyx":1536
 *             efree(buf)
 * 
 *         return pstr             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_12 = __Pyx_PyBytes_FromString(__pyx_v_pstr); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_r = __pyx_t_12;
  __pyx_t_12 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1520
 * 
 *     @with_phil
 *     def get_elink_prefix(self):             # <<<<<<<<<<<<<<
 *         """() => STRING prefix
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1540
 * 
 *     @with_phil
 *     def set_elink_fapl(self, PropID fapl not None):             # <<<<<<<<<<<<<<
 *         """ (PropFAID fapl)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLAID_12set_elink_fapl[] = " (PropFAID fapl)\n\n        Set the file access property list used when opening external files.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl) {
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_elink_fapl (wrapper)", 0);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropID, 0, "fapl", 0))) __PYX_ERR(0, 1540, __pyx_L1_error)
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_fapl));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_fapl) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_elink_fapl", 0);

  /* "h5py/h5p.pyx":1545
 *         Set the file access property list used when opening external files.
 *         """
 *         H5Pset_elink_fapl(self.id, fapl.id)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_elink_fapl(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_fapl->__pyx_base.id); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1545, __pyx_L1_error)

  /* "h5py/h5p.pyx":1540
 * 
 *     @with_phil
 *     def set_elink_fapl(self, PropID fapl not None):             # <<<<<<<<<<<<<<
 *         """ (PropFAID fapl)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1549
 * 
 *     @with_phil
 *     def get_elink_fapl(self):             # <<<<<<<<<<<<<<
 *         """ () => PropFAID fapl
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropLAID_14get_elink_fapl[] = " () => PropFAID fapl\n\n        Get the file access property list used when opening external files.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_elink_fapl (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
  hid_t __pyx_v_fid;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hid_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_elink_fapl", 0);

  /* "h5py/h5p.pyx":1555
 *         """
 *         cdef hid_t fid
 *         fid = H5Pget_elink_fapl(self.id)             # <<<<<<<<<<<<<<
 *         if H5Iget_ref(fid) > 1:
 *             H5Idec_ref(fid)
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_fapl(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(__pyx_t_1 == ((hid_t)((hid_t)-1L)))) __PYX_ERR(0, 1555, __pyx_L1_error)
  __pyx_v_fid = __pyx_t_1;

  /* "h5py/h5p.pyx":1556
 *         cdef hid_t fid
 *         fid = H5Pget_elink_fapl(self.id)
 *         if H5Iget_ref(fid) > 1:             # <<<<<<<<<<<<<<
 *             H5Idec_ref(fid)
 *         return propwrap(fid)
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Iget_ref(__pyx_v_fid); if (unlikely(__pyx_t_2 == ((int)((int)-1L)))) __PYX_ERR(0, 1556, __pyx_L1_error)
  __pyx_t_3 = ((__pyx_t_2 > 1) != 0);
  if (__pyx_t_3) {

    /* "h5py/h5p.pyx":1557
 *         fid = H5Pget_elink_fapl(self.id)
 *         if H5Iget_ref(fid) > 1:
 *             H5Idec_ref(fid)             # <<<<<<<<<<<<<<
 *         return propwrap(fid)
 * 
 */
    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Idec_ref(__pyx_v_fid); if (unlikely(__pyx_t_2 == ((int)((int)-1L)))) __PYX_ERR(0, 1557, __pyx_L1_error)

    /* "h5py/h5p.pyx":1556
 *         cdef hid_t fid
 *         fid = H5Pget_elink_fapl(self.id)
 *         if H5Iget_ref(fid) > 1:             # <<<<<<<<<<<<<<
 *             H5Idec_ref(fid)
 *         return propwrap(fid)
 */
  }

  /* "h5py/h5p.pyx":1558
 *         if H5Iget_ref(fid) > 1:
 *             H5Idec_ref(fid)
 *         return propwrap(fid)             # <<<<<<<<<<<<<<
 * 
 * # Datatype creation
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __pyx_f_4h5py_3h5p_propwrap(__pyx_v_fid); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1549
 * 
 *     @with_phil
 *     def get_elink_fapl(self):             # <<<<<<<<<<<<<<
 *         """ () => PropFAID fapl
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_16__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(1, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropLAID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_18__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(1, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropLAID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropTCID_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropTCID_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropTCID___reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropTCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropTCID___reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropTCID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropTCID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropTCID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropTCID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropTCID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropTCID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropTCID_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropTCID_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropTCID_2__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropTCID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropTCID_2__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropTCID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropTCID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropTCID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropTCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropTCID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropTCID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1574
 * 
 *     @with_phil
 *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_1set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropGCID_set_link_creation_order[] = " (UINT flags)\n\n        Set tracking and indexing of creation order for links added to this group\n\n        flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_1set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_link_creation_order (wrapper)", 0);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1574, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropGCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropGCID_set_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropGCID *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self, unsigned int __pyx_v_flags) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_link_creation_order", 0);

  /* "h5py/h5p.pyx":1581
 *         flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED
 *         """
 *         H5Pset_link_creation_order(self.id, flags)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1581, __pyx_L1_error)

  /* "h5py/h5p.pyx":1574
 * 
 *     @with_phil
 *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropGCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1585
 * 
 *     @with_phil
 *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_3get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropGCID_2get_link_creation_order[] = " () -> UINT flags\n\n        Get tracking and indexing of creation order for links added to this group\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_3get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_link_creation_order (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropGCID_2get_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropGCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_2get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self) {
  unsigned int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_link_creation_order", 0);

  /* "h5py/h5p.pyx":1591
 *         """
 *         cdef unsigned int flags
 *         H5Pget_link_creation_order(self.id, &flags)             # <<<<<<<<<<<<<<
 *         return flags
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1591, __pyx_L1_error)

  /* "h5py/h5p.pyx":1592
 *         cdef unsigned int flags
 *         H5Pget_link_creation_order(self.id, &flags)
 *         return flags             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1585
 * 
 *     @with_phil
 *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropGCID.get_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropGCID_4__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropGCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_4__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropGCID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropGCID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropGCID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropGCID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropGCID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropGCID_6__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropGCID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_6__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropGCID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropGCID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropGCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropGCID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropGCID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1606
 * 
 *     @with_phil
 *     def set_attr_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_1set_attr_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropOCID_set_attr_creation_order[] = " (UINT flags)\n\n        Set tracking and indexing of creation order for object attributes\n\n        flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_1set_attr_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
  unsigned int __pyx_v_flags;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_attr_creation_order (wrapper)", 0);
  assert(__pyx_arg_flags); {
    __pyx_v_flags = __Pyx_PyInt_As_unsigned_int(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1606, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropOCID.set_attr_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_set_attr_creation_order(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self), ((unsigned int)__pyx_v_flags));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_set_attr_creation_order(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, unsigned int __pyx_v_flags) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_attr_creation_order", 0);

  /* "h5py/h5p.pyx":1613
 *         flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED
 *         """
 *         H5Pset_attr_creation_order(self.id, flags)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_attr_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1613, __pyx_L1_error)

  /* "h5py/h5p.pyx":1606
 * 
 *     @with_phil
 *     def set_attr_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropOCID.set_attr_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1617
 * 
 *     @with_phil
 *     def get_attr_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_3get_attr_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropOCID_2get_attr_creation_order[] = " () -> UINT flags\n\n        Get tracking and indexing of creation order for object attributes\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_3get_attr_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_attr_creation_order (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_2get_attr_creation_order(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_2get_attr_creation_order(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self) {
  unsigned int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_attr_creation_order", 0);

  /* "h5py/h5p.pyx":1623
 *         """
 *         cdef unsigned int flags
 *         H5Pget_attr_creation_order(self.id, &flags)             # <<<<<<<<<<<<<<
 *         return flags
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_attr_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1623, __pyx_L1_error)

  /* "h5py/h5p.pyx":1624
 *         cdef unsigned int flags
 *         H5Pget_attr_creation_order(self.id, &flags)
 *         return flags             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1624, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1617
 * 
 *     @with_phil
 *     def get_attr_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropOCID.get_attr_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1627
 * 
 *     @with_phil
 *     def set_attr_phase_change(self, max_compact=8, min_dense=6):             # <<<<<<<<<<<<<<
 *         """ (UINT max_compact, UINT min_dense)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_5set_attr_phase_change(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropOCID_4set_attr_phase_change[] = " (UINT max_compact, UINT min_dense)\n\n        Set threshold value for attribute storage on an object\n\n        max_compact -- maximum number of attributes to be stored in compact storage(default:8)\n        must be greater than or equal to min_dense\n        min_dense  -- minmum number of attributes to be stored in dense storage(default:6)\n\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_5set_attr_phase_change(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_max_compact = 0;
  PyObject *__pyx_v_min_dense = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_attr_phase_change (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_max_compact,&__pyx_n_s_min_dense,0};
    PyObject* values[2] = {0,0};
    values[0] = ((PyObject *)__pyx_int_8);
    values[1] = ((PyObject *)__pyx_int_6);
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_compact);
          if (value) { values[0] = value; kw_args--; }
        }
        CYTHON_FALLTHROUGH;
        case  1:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_min_dense);
          if (value) { values[1] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_attr_phase_change") < 0)) __PYX_ERR(0, 1627, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_max_compact = values[0];
    __pyx_v_min_dense = values[1];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_attr_phase_change", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1627, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropOCID.set_attr_phase_change", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_4set_attr_phase_change(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self), __pyx_v_max_compact, __pyx_v_min_dense);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_4set_attr_phase_change(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v_max_compact, PyObject *__pyx_v_min_dense) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  unsigned int __pyx_t_1;
  unsigned int __pyx_t_2;
  herr_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_attr_phase_change", 0);

  /* "h5py/h5p.pyx":1637
 * 
 *         """
 *         H5Pset_attr_phase_change(self.id, max_compact, min_dense)             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __pyx_t_1 = __Pyx_PyInt_As_unsigned_int(__pyx_v_max_compact); if (unlikely((__pyx_t_1 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1637, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyInt_As_unsigned_int(__pyx_v_min_dense); if (unlikely((__pyx_t_2 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1637, __pyx_L1_error)
  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pset_attr_phase_change(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_t_1, __pyx_t_2); if (unlikely(__pyx_t_3 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1637, __pyx_L1_error)

  /* "h5py/h5p.pyx":1627
 * 
 *     @with_phil
 *     def set_attr_phase_change(self, max_compact=8, min_dense=6):             # <<<<<<<<<<<<<<
 *         """ (UINT max_compact, UINT min_dense)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropOCID.set_attr_phase_change", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1640
 * 
 *     @with_phil
 *     def get_attr_phase_change(self):             # <<<<<<<<<<<<<<
 *         """ () -> (max_compact, min_dense)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_7get_attr_phase_change(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropOCID_6get_attr_phase_change[] = " () -> (max_compact, min_dense)\n\n        Retrieves threshold values for attribute storage on an object.\n\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_7get_attr_phase_change(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_attr_phase_change (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_6get_attr_phase_change(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_6get_attr_phase_change(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self) {
  unsigned int __pyx_v_max_compact;
  unsigned int __pyx_v_min_dense;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_attr_phase_change", 0);

  /* "h5py/h5p.pyx":1648
 *         cdef unsigned int max_compact
 *         cdef unsigned int min_dense
 *         H5Pget_attr_phase_change(self.id, &max_compact, &min_dense)             # <<<<<<<<<<<<<<
 *         return (max_compact, min_dense)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_attr_phase_change(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_max_compact), (&__pyx_v_min_dense)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1648, __pyx_L1_error)

  /* "h5py/h5p.pyx":1649
 *         cdef unsigned int min_dense
 *         H5Pget_attr_phase_change(self.id, &max_compact, &min_dense)
 *         return (max_compact, min_dense)             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_max_compact); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_min_dense); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1640
 * 
 *     @with_phil
 *     def get_attr_phase_change(self):             # <<<<<<<<<<<<<<
 *         """ () -> (max_compact, min_dense)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropOCID.get_attr_phase_change", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1652
 * 
 *     @with_phil
 *     def set_obj_track_times(self,track_times):             # <<<<<<<<<<<<<<
 *         """Sets the recording of times associated with an object."""
 *         H5Pset_obj_track_times(self.id,track_times)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_9set_obj_track_times(PyObject *__pyx_v_self, PyObject *__pyx_v_track_times); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropOCID_8set_obj_track_times[] = "Sets the recording of times associated with an object.";
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_9set_obj_track_times(PyObject *__pyx_v_self, PyObject *__pyx_v_track_times) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_obj_track_times (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_8set_obj_track_times(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self), ((PyObject *)__pyx_v_track_times));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_8set_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v_track_times) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  hbool_t __pyx_t_1;
  herr_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_obj_track_times", 0);

  /* "h5py/h5p.pyx":1654
 *     def set_obj_track_times(self,track_times):
 *         """Sets the recording of times associated with an object."""
 *         H5Pset_obj_track_times(self.id,track_times)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __Pyx_PyInt_As_hbool_t(__pyx_v_track_times); if (unlikely((__pyx_t_1 == ((hbool_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1654, __pyx_L1_error)
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pset_obj_track_times(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_t_1); if (unlikely(__pyx_t_2 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1654, __pyx_L1_error)

  /* "h5py/h5p.pyx":1652
 * 
 *     @with_phil
 *     def set_obj_track_times(self,track_times):             # <<<<<<<<<<<<<<
 *         """Sets the recording of times associated with an object."""
 *         H5Pset_obj_track_times(self.id,track_times)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropOCID.set_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1658
 * 
 *     @with_phil
 *     def get_obj_track_times(self):             # <<<<<<<<<<<<<<
 *         """
 *         Determines whether times associated with an object are being recorded.
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_11get_obj_track_times(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropOCID_10get_obj_track_times[] = "\n        Determines whether times associated with an object are being recorded.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_11get_obj_track_times(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_obj_track_times (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_10get_obj_track_times(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_10get_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self) {
  hbool_t __pyx_v_track_times;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_obj_track_times", 0);

  /* "h5py/h5p.pyx":1665
 *         cdef hbool_t track_times
 * 
 *         H5Pget_obj_track_times(self.id,&track_times)             # <<<<<<<<<<<<<<
 * 
 *         return track_times
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_obj_track_times(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_track_times)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1665, __pyx_L1_error)

  /* "h5py/h5p.pyx":1667
 *         H5Pget_obj_track_times(self.id,&track_times)
 * 
 *         return track_times             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_hbool_t(__pyx_v_track_times); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1658
 * 
 *     @with_phil
 *     def get_obj_track_times(self):             # <<<<<<<<<<<<<<
 *         """
 *         Determines whether times associated with an object are being recorded.
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropOCID.get_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_13__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_12__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_12__reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropOCID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropOCID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropOCID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropOCID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropOCID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_15__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_14__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_14__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropOCID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropOCID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropOCID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropOCID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropOCID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1675
 *     """ Dataset access property list """
 * 
 *     def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 *         self._virtual_prefix_buf = NULL
 * 
 */

/* Python wrapper */
static int __pyx_pw_4h5py_3h5p_8PropDAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_4h5py_3h5p_8PropDAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
  __Pyx_INCREF(__pyx_args);
  __pyx_v_args = __pyx_args;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID___cinit__(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self), __pyx_v_args);

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

static int __pyx_pf_4h5py_3h5p_8PropDAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "h5py/h5p.pyx":1676
 * 
 *     def __cinit__(self, *args):
 *         self._virtual_prefix_buf = NULL             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
 */
  __pyx_v_self->_virtual_prefix_buf = NULL;

  /* "h5py/h5p.pyx":1675
 *     """ Dataset access property list """
 * 
 *     def __cinit__(self, *args):             # <<<<<<<<<<<<<<
 *         self._virtual_prefix_buf = NULL
 * 
 */

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

/* "h5py/h5p.pyx":1678
 *         self._virtual_prefix_buf = NULL
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         efree(self._virtual_prefix_buf)
 * 
 */

/* Python wrapper */
static void __pyx_pw_4h5py_3h5p_8PropDAID_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_4h5py_3h5p_8PropDAID_3__dealloc__(PyObject *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_pf_4h5py_3h5p_8PropDAID_2__dealloc__(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self));

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

static void __pyx_pf_4h5py_3h5p_8PropDAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "h5py/h5p.pyx":1679
 * 
 *     def __dealloc__(self):
 *         efree(self._virtual_prefix_buf)             # <<<<<<<<<<<<<<
 * 
 *     @with_phil
 */
  __pyx_f_4h5py_5utils_efree(__pyx_v_self->_virtual_prefix_buf);

  /* "h5py/h5p.pyx":1678
 *         self._virtual_prefix_buf = NULL
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         efree(self._virtual_prefix_buf)
 * 
 */

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

/* "h5py/h5p.pyx":1682
 * 
 *     @with_phil
 *     def set_chunk_cache(self, size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
 *         """(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_5set_chunk_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_4set_chunk_cache[] = "(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)\n\n        Sets the raw data chunk cache parameters.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_5set_chunk_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  size_t __pyx_v_rdcc_nslots;
  size_t __pyx_v_rdcc_nbytes;
  double __pyx_v_rdcc_w0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_chunk_cache (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rdcc_nslots,&__pyx_n_s_rdcc_nbytes,&__pyx_n_s_rdcc_w0,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rdcc_nslots)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rdcc_nbytes)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_chunk_cache", 1, 3, 3, 1); __PYX_ERR(0, 1682, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_rdcc_w0)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("set_chunk_cache", 1, 3, 3, 2); __PYX_ERR(0, 1682, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_chunk_cache") < 0)) __PYX_ERR(0, 1682, __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_rdcc_nslots = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_rdcc_nslots == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1682, __pyx_L3_error)
    __pyx_v_rdcc_nbytes = __Pyx_PyInt_As_size_t(values[1]); if (unlikely((__pyx_v_rdcc_nbytes == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1682, __pyx_L3_error)
    __pyx_v_rdcc_w0 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_rdcc_w0 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 1682, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_chunk_cache", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1682, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_4set_chunk_cache(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self), __pyx_v_rdcc_nslots, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_4set_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, size_t __pyx_v_rdcc_nslots, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_chunk_cache", 0);

  /* "h5py/h5p.pyx":1687
 *         Sets the raw data chunk cache parameters.
 *         """
 *         H5Pset_chunk_cache(self.id,rdcc_nslots,rdcc_nbytes,rdcc_w0)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_chunk_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rdcc_nslots, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1687, __pyx_L1_error)

  /* "h5py/h5p.pyx":1682
 * 
 *     @with_phil
 *     def set_chunk_cache(self, size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
 *         """(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1691
 * 
 *     @with_phil
 *     def get_chunk_cache(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE chunk cache info
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_7get_chunk_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_6get_chunk_cache[] = "() => TUPLE chunk cache info\n\n        Get the metadata and raw data chunk cache settings.  See the HDF5\n        docs for element definitions.  Return is a 3-tuple with entries:\n\n        0. size_t rdcc_nslots: Number of chunk slots in the raw data chunk cache hash table.\n        1. size_t rdcc_nbytes: Total size of the raw data chunk cache, in bytes.\n        2. DOUBLE rdcc_w0:     Preemption policy.\n        ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_7get_chunk_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_chunk_cache (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_6get_chunk_cache(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_6get_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self) {
  size_t __pyx_v_rdcc_nslots;
  size_t __pyx_v_rdcc_nbytes;
  double __pyx_v_rdcc_w0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_chunk_cache", 0);

  /* "h5py/h5p.pyx":1705
 *         cdef double rdcc_w0
 * 
 *         H5Pget_chunk_cache(self.id, &rdcc_nslots, &rdcc_nbytes, &rdcc_w0 )             # <<<<<<<<<<<<<<
 *         return (rdcc_nslots,rdcc_nbytes,rdcc_w0)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_rdcc_nslots), (&__pyx_v_rdcc_nbytes), (&__pyx_v_rdcc_w0)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1705, __pyx_L1_error)

  /* "h5py/h5p.pyx":1706
 * 
 *         H5Pget_chunk_cache(self.id, &rdcc_nslots, &rdcc_nbytes, &rdcc_w0 )
 *         return (rdcc_nslots,rdcc_nbytes,rdcc_w0)             # <<<<<<<<<<<<<<
 * 
 *     # === Virtual dataset functions ===========================================
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_rdcc_nslots); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_rdcc_nbytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_rdcc_w0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_4);
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1691
 * 
 *     @with_phil
 *     def get_chunk_cache(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE chunk cache info
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.PropDAID.get_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1712
 * 
 *         @with_phil
 *         def set_virtual_view(self, unsigned int view):             # <<<<<<<<<<<<<<
 *             """(UINT view)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_9set_virtual_view(PyObject *__pyx_v_self, PyObject *__pyx_arg_view); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_8set_virtual_view[] = "(UINT view)\n\n            Set the view of the virtual dataset (VDS) to include or exclude\n            missing mapped elements.\n\n            If view is set to h5d.VDS_FIRST_MISSING, the view includes all data\n            before the first missing mapped data. This setting provides a view\n            containing only the continuous data starting with the dataset\342\200\231s\n            first data element. Any break in continuity terminates the view.\n\n            If view is set to h5d.VDS_LAST_AVAILABLE, the view includes all\n            available mapped data.\n\n            Missing mapped data is filled with the fill value set in the\n            virtual dataset's creation property list.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_9set_virtual_view(PyObject *__pyx_v_self, PyObject *__pyx_arg_view) {
  unsigned int __pyx_v_view;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_virtual_view (wrapper)", 0);
  assert(__pyx_arg_view); {
    __pyx_v_view = __Pyx_PyInt_As_unsigned_int(__pyx_arg_view); if (unlikely((__pyx_v_view == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1712, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_virtual_view", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_8set_virtual_view(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self), ((unsigned int)__pyx_v_view));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_8set_virtual_view(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, unsigned int __pyx_v_view) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_virtual_view", 0);

  /* "h5py/h5p.pyx":1729
 *             virtual dataset's creation property list.
 *             """
 *             H5Pset_virtual_view(self.id, <H5D_vds_view_t>view)             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_virtual_view(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5D_vds_view_t)__pyx_v_view)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1729, __pyx_L1_error)

  /* "h5py/h5p.pyx":1712
 * 
 *         @with_phil
 *         def set_virtual_view(self, unsigned int view):             # <<<<<<<<<<<<<<
 *             """(UINT view)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_virtual_view", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1732
 * 
 *         @with_phil
 *         def get_virtual_view(self):             # <<<<<<<<<<<<<<
 *             """() => UINT view
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_11get_virtual_view(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_10get_virtual_view[] = "() => UINT view\n\n            Retrieve the view of the virtual dataset.\n\n            Valid values are:\n\n            - h5d.VDS_FIRST_MISSING\n            - h5d.VDS_LAST_AVAILABLE\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_11get_virtual_view(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_view (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_10get_virtual_view(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_10get_virtual_view(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self) {
  H5D_vds_view_t __pyx_v_view;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_view", 0);

  /* "h5py/h5p.pyx":1743
 *             """
 *             cdef H5D_vds_view_t view
 *             H5Pget_virtual_view(self.id, &view)             # <<<<<<<<<<<<<<
 *             return <unsigned int>view
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_view(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_view)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1743, __pyx_L1_error)

  /* "h5py/h5p.pyx":1744
 *             cdef H5D_vds_view_t view
 *             H5Pget_virtual_view(self.id, &view)
 *             return <unsigned int>view             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(((unsigned int)__pyx_v_view)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1744, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1732
 * 
 *         @with_phil
 *         def get_virtual_view(self):             # <<<<<<<<<<<<<<
 *             """() => UINT view
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDAID.get_virtual_view", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1747
 * 
 *         @with_phil
 *         def set_virtual_printf_gap(self, hsize_t gap_size=0):             # <<<<<<<<<<<<<<
 *             """(LONG gap_size=0)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_13set_virtual_printf_gap(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_12set_virtual_printf_gap[] = "(LONG gap_size=0)\n\n            Set the maximum number of missing source files and/or datasets\n            with the printf-style names when getting the extent of an unlimited\n            virtual dataset.\n\n            Instruct the library to stop looking for the mapped data stored in\n            the files and/or datasets with the printf-style names after not\n            finding gap_size files and/or datasets. The found source files and\n            datasets will determine the extent of the unlimited virtual dataset\n            with the printf-style mappings. Default value: 0.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_13set_virtual_printf_gap(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  hsize_t __pyx_v_gap_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_virtual_printf_gap (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gap_size,0};
    PyObject* values[1] = {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  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (kw_args > 0) {
          PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gap_size);
          if (value) { values[0] = value; kw_args--; }
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_virtual_printf_gap") < 0)) __PYX_ERR(0, 1747, __pyx_L3_error)
      }
    } else {
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    if (values[0]) {
      __pyx_v_gap_size = __Pyx_PyInt_As_hsize_t(values[0]); if (unlikely((__pyx_v_gap_size == ((hsize_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1747, __pyx_L3_error)
    } else {
      __pyx_v_gap_size = ((hsize_t)0);
    }
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("set_virtual_printf_gap", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1747, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_virtual_printf_gap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_12set_virtual_printf_gap(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self), __pyx_v_gap_size);

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_12set_virtual_printf_gap(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, hsize_t __pyx_v_gap_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_virtual_printf_gap", 0);

  /* "h5py/h5p.pyx":1760
 *             with the printf-style mappings. Default value: 0.
 *             """
 *             H5Pset_virtual_printf_gap(self.id, gap_size)             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_virtual_printf_gap(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_gap_size); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1760, __pyx_L1_error)

  /* "h5py/h5p.pyx":1747
 * 
 *         @with_phil
 *         def set_virtual_printf_gap(self, hsize_t gap_size=0):             # <<<<<<<<<<<<<<
 *             """(LONG gap_size=0)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_virtual_printf_gap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1763
 * 
 *         @with_phil
 *         def get_virtual_printf_gap(self):             # <<<<<<<<<<<<<<
 *             """() => LONG gap_size
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_15get_virtual_printf_gap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_14get_virtual_printf_gap[] = "() => LONG gap_size\n\n            Return the maximum number of missing source files and/or datasets\n            with the printf-style names when getting the extent for an\n            unlimited virtual dataset.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_15get_virtual_printf_gap(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_printf_gap (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_14get_virtual_printf_gap(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_14get_virtual_printf_gap(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self) {
  hsize_t __pyx_v_gap_size;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  herr_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_printf_gap", 0);

  /* "h5py/h5p.pyx":1771
 *             """
 *             cdef hsize_t gap_size
 *             H5Pget_virtual_printf_gap(self.id, &gap_size)             # <<<<<<<<<<<<<<
 *             return gap_size
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_printf_gap(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_gap_size)); if (unlikely(__pyx_t_1 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1771, __pyx_L1_error)

  /* "h5py/h5p.pyx":1772
 *             cdef hsize_t gap_size
 *             H5Pget_virtual_printf_gap(self.id, &gap_size)
 *             return gap_size             # <<<<<<<<<<<<<<
 * 
 *     if HDF5_VERSION >= (1, 10, 2):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyInt_From_hsize_t(__pyx_v_gap_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1763
 * 
 *         @with_phil
 *         def get_virtual_printf_gap(self):             # <<<<<<<<<<<<<<
 *             """() => LONG gap_size
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("h5py.h5p.PropDAID.get_virtual_printf_gap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1776
 *     if HDF5_VERSION >= (1, 10, 2):
 *         @with_phil
 *         def get_virtual_prefix(self):             # <<<<<<<<<<<<<<
 *             """() => STR
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_17get_virtual_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_16get_virtual_prefix[] = "() => STR\n\n            Get the filesystem path prefix configured for accessing virtual\n            datasets.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_17get_virtual_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_virtual_prefix (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_16get_virtual_prefix(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_16get_virtual_prefix(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self) {
  char *__pyx_v_cprefix;
  Py_ssize_t __pyx_v_size;
  PyObject *__pyx_v_prefix = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  void *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  char const *__pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_virtual_prefix", 0);

  /* "h5py/h5p.pyx":1782
 *             datasets.
 *             """
 *             cdef char* cprefix = NULL             # <<<<<<<<<<<<<<
 *             cdef ssize_t size
 * 
 */
  __pyx_v_cprefix = NULL;

  /* "h5py/h5p.pyx":1785
 *             cdef ssize_t size
 * 
 *             size = H5Pget_virtual_prefix(self.id, NULL, 0)             # <<<<<<<<<<<<<<
 *             cprefix = <char*>emalloc(size+1)
 *             try:
 */
  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, NULL, 0); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 1785, __pyx_L1_error)
  __pyx_v_size = __pyx_t_1;

  /* "h5py/h5p.pyx":1786
 * 
 *             size = H5Pget_virtual_prefix(self.id, NULL, 0)
 *             cprefix = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
 *             try:
 *                 # TODO check return size
 */
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_2 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 1786, __pyx_L1_error)
  __pyx_v_cprefix = ((char *)__pyx_t_2);

  /* "h5py/h5p.pyx":1787
 *             size = H5Pget_virtual_prefix(self.id, NULL, 0)
 *             cprefix = <char*>emalloc(size+1)
 *             try:             # <<<<<<<<<<<<<<
 *                 # TODO check return size
 *                 H5Pget_virtual_prefix(self.id, cprefix, <size_t>size+1)
 */
  /*try:*/ {

    /* "h5py/h5p.pyx":1789
 *             try:
 *                 # TODO check return size
 *                 H5Pget_virtual_prefix(self.id, cprefix, <size_t>size+1)             # <<<<<<<<<<<<<<
 *                 prefix = bytes(cprefix)
 *             finally:
 */
    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_virtual_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_cprefix, (((size_t)__pyx_v_size) + 1)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)((Py_ssize_t)-1L)))) __PYX_ERR(0, 1789, __pyx_L4_error)

    /* "h5py/h5p.pyx":1790
 *                 # TODO check return size
 *                 H5Pget_virtual_prefix(self.id, cprefix, <size_t>size+1)
 *                 prefix = bytes(cprefix)             # <<<<<<<<<<<<<<
 *             finally:
 *                 efree(cprefix)
 */
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_cprefix); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1790, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1790, __pyx_L4_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_prefix = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }

  /* "h5py/h5p.pyx":1792
 *                 prefix = bytes(cprefix)
 *             finally:
 *                 efree(cprefix)             # <<<<<<<<<<<<<<
 * 
 *             return prefix
 */
  /*finally:*/ {
    /*normal exit:*/{
      __pyx_f_4h5py_5utils_efree(__pyx_v_cprefix);
      goto __pyx_L5;
    }
    __pyx_L4_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0)) __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __Pyx_XGOTREF(__pyx_t_13);
      __pyx_t_5 = __pyx_lineno; __pyx_t_6 = __pyx_clineno; __pyx_t_7 = __pyx_filename;
      {
        __pyx_f_4h5py_5utils_efree(__pyx_v_cprefix);
      }
      if (PY_MAJOR_VERSION >= 3) {
        __Pyx_XGIVEREF(__pyx_t_11);
        __Pyx_XGIVEREF(__pyx_t_12);
        __Pyx_XGIVEREF(__pyx_t_13);
        __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
      }
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10);
      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0;
      __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_6; __pyx_filename = __pyx_t_7;
      goto __pyx_L1_error;
    }
    __pyx_L5:;
  }

  /* "h5py/h5p.pyx":1794
 *                 efree(cprefix)
 * 
 *             return prefix             # <<<<<<<<<<<<<<
 * 
 *         @with_phil
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_prefix);
  __pyx_r = __pyx_v_prefix;
  goto __pyx_L0;

  /* "h5py/h5p.pyx":1776
 *     if HDF5_VERSION >= (1, 10, 2):
 *         @with_phil
 *         def get_virtual_prefix(self):             # <<<<<<<<<<<<<<
 *             """() => STR
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("h5py.h5p.PropDAID.get_virtual_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_prefix);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "h5py/h5p.pyx":1797
 * 
 *         @with_phil
 *         def set_virtual_prefix(self, char* prefix):             # <<<<<<<<<<<<<<
 *             """(STR prefix)
 * 
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_19set_virtual_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix); /*proto*/
static char __pyx_doc_4h5py_3h5p_8PropDAID_18set_virtual_prefix[] = "(STR prefix)\n\n            Set a filesystem path prefix for looking up virtual datasets.\n            This is prepended to all filenames specified in the virtual dataset.\n            ";
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_19set_virtual_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix) {
  char *__pyx_v_prefix;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_virtual_prefix (wrapper)", 0);
  assert(__pyx_arg_prefix); {
    __pyx_v_prefix = __Pyx_PyObject_AsWritableString(__pyx_arg_prefix); if (unlikely((!__pyx_v_prefix) && PyErr_Occurred())) __PYX_ERR(0, 1797, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_virtual_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_18set_virtual_prefix(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self), ((char *)__pyx_v_prefix));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_18set_virtual_prefix(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, char *__pyx_v_prefix) {
  size_t __pyx_v_size;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  void *__pyx_t_1;
  herr_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("set_virtual_prefix", 0);

  /* "h5py/h5p.pyx":1806
 * 
 *             # HDF5 requires that we hang on to this buffer
 *             efree(self._virtual_prefix_buf)             # <<<<<<<<<<<<<<
 *             size = strlen(prefix)
 *             self._virtual_prefix_buf = <char*>emalloc(size+1)
 */
  __pyx_f_4h5py_5utils_efree(__pyx_v_self->_virtual_prefix_buf);

  /* "h5py/h5p.pyx":1807
 *             # HDF5 requires that we hang on to this buffer
 *             efree(self._virtual_prefix_buf)
 *             size = strlen(prefix)             # <<<<<<<<<<<<<<
 *             self._virtual_prefix_buf = <char*>emalloc(size+1)
 *             strcpy(self._virtual_prefix_buf, prefix)
 */
  __pyx_v_size = strlen(__pyx_v_prefix);

  /* "h5py/h5p.pyx":1808
 *             efree(self._virtual_prefix_buf)
 *             size = strlen(prefix)
 *             self._virtual_prefix_buf = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
 *             strcpy(self._virtual_prefix_buf, prefix)
 * 
 */
  __pyx_t_1 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_1 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 1808, __pyx_L1_error)
  __pyx_v_self->_virtual_prefix_buf = ((char *)__pyx_t_1);

  /* "h5py/h5p.pyx":1809
 *             size = strlen(prefix)
 *             self._virtual_prefix_buf = <char*>emalloc(size+1)
 *             strcpy(self._virtual_prefix_buf, prefix)             # <<<<<<<<<<<<<<
 * 
 *             H5Pset_virtual_prefix(self.id, self._virtual_prefix_buf)
 */
  (void)(strcpy(__pyx_v_self->_virtual_prefix_buf, __pyx_v_prefix));

  /* "h5py/h5p.pyx":1811
 *             strcpy(self._virtual_prefix_buf, prefix)
 * 
 *             H5Pset_virtual_prefix(self.id, self._virtual_prefix_buf)             # <<<<<<<<<<<<<<
 * 
 * cdef class PropDXID(PropInstanceID):
 */
  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pset_virtual_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_self->_virtual_prefix_buf); if (unlikely(__pyx_t_2 == ((herr_t)((herr_t)-1L)))) __PYX_ERR(0, 1811, __pyx_L1_error)

  /* "h5py/h5p.pyx":1797
 * 
 *         @with_phil
 *         def set_virtual_prefix(self, char* prefix):             # <<<<<<<<<<<<<<
 *             """(STR prefix)
 * 
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_virtual_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_21__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_21__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_20__reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_20__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(1, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropDAID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_23__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_23__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_22__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_22__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(1, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropDAID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDXID_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropDXID_1__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDXID___reduce_cython__(((struct __pyx_obj_4h5py_3h5p_PropDXID *)__pyx_v_self));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDXID___reduce_cython__(struct __pyx_obj_4h5py_3h5p_PropDXID *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 */
  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._pyid); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_GIVEREF(__pyx_t_1);
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_3);
  PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None:
 *         state += (_dict,)
 */
  __pyx_t_4 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v__dict = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
  __pyx_t_5 = (__pyx_v__dict != Py_None);
  __pyx_t_6 = (__pyx_t_5 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
 */
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v__dict);
    __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._hash is not None
 */
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._hash, self._pyid, self.id, self.locked)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
 */
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._hash is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, None), state
 */
  /*else*/ {
    __pyx_t_6 = (__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._hash != Py_None);
    __pyx_v_use_setstate = __pyx_t_6;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  __pyx_t_6 = (__pyx_v_use_setstate != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":13
 *         use_setstate = self._hash is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, state)
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pyx_unpickle_PropDXID); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    PyTuple_SET_ITEM(__pyx_t_4, 2, Py_None);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._hash is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, None), state
 *     else:
 */
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, None), state
 *     else:
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropDXID__set_state(self, __pyx_state)
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pyx_unpickle_PropDXID); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_INCREF(__pyx_int_115303368);
    __Pyx_GIVEREF(__pyx_int_115303368);
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_int_115303368);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state);
    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_2);
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_4);
    PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4);
    __pyx_t_2 = 0;
    __pyx_t_4 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
 */

  /* 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_AddTraceback("h5py.h5p.PropDXID.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropDXID__set_state(self, __pyx_state)
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_8PropDXID_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
static PyObject *__pyx_pw_4h5py_3h5p_8PropDXID_3__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDXID_2__setstate_cython__(((struct __pyx_obj_4h5py_3h5p_PropDXID *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));

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

static PyObject *__pyx_pf_4h5py_3h5p_8PropDXID_2__setstate_cython__(struct __pyx_obj_4h5py_3h5p_PropDXID *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PropDXID__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
 */
  if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  __pyx_t_1 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropDXID__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PropDXID, (type(self), 0x6df63c8, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PropDXID__set_state(self, __pyx_state)
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("h5py.h5p.PropDXID.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_3__pyx_unpickle_PropID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_3__pyx_unpickle_PropID = {"__pyx_unpickle_PropID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_3__pyx_unpickle_PropID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_3__pyx_unpickle_PropID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_2__pyx_unpickle_PropID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_2__pyx_unpickle_PropID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropID__set_state(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropID__set_state(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropClassID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_5__pyx_unpickle_PropClassID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_5__pyx_unpickle_PropClassID = {"__pyx_unpickle_PropClassID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_5__pyx_unpickle_PropClassID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_5__pyx_unpickle_PropClassID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropClassID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropClassID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropClassID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropClassID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropClassID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropClassID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_4__pyx_unpickle_PropClassID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_4__pyx_unpickle_PropClassID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropClassID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropClassID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropClassID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropClassID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropClassID__set_state(<PropClassID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropClassID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropClassID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropClassID__set_state(<PropClassID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropClassID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropClassID__set_state(<PropClassID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropClassID__set_state(PropClassID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropClassID__set_state(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropClassID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropClassID__set_state(<PropClassID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropClassID__set_state(<PropClassID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropClassID__set_state(PropClassID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropClassID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropClassID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropClassID__set_state(<PropClassID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropClassID__set_state(PropClassID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropClassID__set_state(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropClassID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropClassID__set_state(PropClassID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropClassID__set_state(PropClassID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropClassID__set_state(PropClassID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropClassID__set_state(<PropClassID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropClassID__set_state(PropClassID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropClassID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropInstanceID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_7__pyx_unpickle_PropInstanceID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_7__pyx_unpickle_PropInstanceID = {"__pyx_unpickle_PropInstanceID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_7__pyx_unpickle_PropInstanceID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_7__pyx_unpickle_PropInstanceID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropInstanceID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropInstanceID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropInstanceID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropInstanceID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropInstanceID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropInstanceID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_6__pyx_unpickle_PropInstanceID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_6__pyx_unpickle_PropInstanceID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropInstanceID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropInstanceID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropInstanceID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropInstanceID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropInstanceID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropInstanceID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropInstanceID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropInstanceID__set_state(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropInstanceID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropInstanceID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropInstanceID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropInstanceID__set_state(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropInstanceID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropInstanceID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropCreateID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_9__pyx_unpickle_PropCreateID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_9__pyx_unpickle_PropCreateID = {"__pyx_unpickle_PropCreateID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_9__pyx_unpickle_PropCreateID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_9__pyx_unpickle_PropCreateID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropCreateID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropCreateID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropCreateID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropCreateID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropCreateID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropCreateID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_8__pyx_unpickle_PropCreateID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_8__pyx_unpickle_PropCreateID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropCreateID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCreateID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropCreateID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCreateID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropCreateID__set_state(<PropCreateID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropCreateID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCreateID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropCreateID__set_state(<PropCreateID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropCreateID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropCreateID__set_state(<PropCreateID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCreateID__set_state(PropCreateID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropCreateID__set_state(((struct __pyx_obj_4h5py_3h5p_PropCreateID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCreateID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropCreateID__set_state(<PropCreateID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropCreateID__set_state(<PropCreateID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropCreateID__set_state(PropCreateID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropCreateID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropCreateID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropCreateID__set_state(<PropCreateID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCreateID__set_state(PropCreateID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropCreateID__set_state(struct __pyx_obj_4h5py_3h5p_PropCreateID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropCreateID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCreateID__set_state(PropCreateID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropCreateID__set_state(PropCreateID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropCreateID__set_state(PropCreateID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropCreateID__set_state(<PropCreateID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCreateID__set_state(PropCreateID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropCreateID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropCopyID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_11__pyx_unpickle_PropCopyID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_11__pyx_unpickle_PropCopyID = {"__pyx_unpickle_PropCopyID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_11__pyx_unpickle_PropCopyID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_11__pyx_unpickle_PropCopyID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropCopyID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropCopyID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropCopyID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropCopyID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropCopyID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropCopyID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_10__pyx_unpickle_PropCopyID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_10__pyx_unpickle_PropCopyID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropCopyID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCopyID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropCopyID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCopyID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropCopyID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCopyID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropCopyID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropCopyID__set_state(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropCopyID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropCopyID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropCopyID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropCopyID__set_state(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropCopyID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropCopyID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropFCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_13__pyx_unpickle_PropFCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_13__pyx_unpickle_PropFCID = {"__pyx_unpickle_PropFCID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_13__pyx_unpickle_PropFCID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_13__pyx_unpickle_PropFCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropFCID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropFCID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropFCID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropFCID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropFCID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropFCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_12__pyx_unpickle_PropFCID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_12__pyx_unpickle_PropFCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropFCID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFCID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropFCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFCID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropFCID__set_state(<PropFCID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropFCID__set_state(<PropFCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropFCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropFCID__set_state(<PropFCID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFCID__set_state(PropFCID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropFCID__set_state(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropFCID__set_state(<PropFCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropFCID__set_state(<PropFCID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropFCID__set_state(PropFCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropFCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropFCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropFCID__set_state(<PropFCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFCID__set_state(PropFCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropFCID__set_state(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropFCID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFCID__set_state(PropFCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropFCID__set_state(PropFCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropFCID__set_state(PropFCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropFCID__set_state(<PropFCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFCID__set_state(PropFCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropFCID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropDCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_15__pyx_unpickle_PropDCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_15__pyx_unpickle_PropDCID = {"__pyx_unpickle_PropDCID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_15__pyx_unpickle_PropDCID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_15__pyx_unpickle_PropDCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropDCID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropDCID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropDCID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropDCID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropDCID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropDCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_14__pyx_unpickle_PropDCID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_14__pyx_unpickle_PropDCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropDCID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDCID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropDCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDCID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropDCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropDCID__set_state(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropDCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropDCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropDCID__set_state(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropDCID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropDCID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropFAID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_17__pyx_unpickle_PropFAID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_17__pyx_unpickle_PropFAID = {"__pyx_unpickle_PropFAID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_17__pyx_unpickle_PropFAID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_17__pyx_unpickle_PropFAID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropFAID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropFAID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropFAID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropFAID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropFAID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropFAID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_16__pyx_unpickle_PropFAID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_16__pyx_unpickle_PropFAID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropFAID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFAID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropFAID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFAID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropFAID__set_state(<PropFAID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFAID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropFAID__set_state(<PropFAID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropFAID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropFAID__set_state(<PropFAID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFAID__set_state(PropFAID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropFAID__set_state(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropFAID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropFAID__set_state(<PropFAID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropFAID__set_state(<PropFAID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropFAID__set_state(PropFAID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropFAID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropFAID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropFAID__set_state(<PropFAID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFAID__set_state(PropFAID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropFAID__set_state(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropFAID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFAID__set_state(PropFAID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropFAID__set_state(PropFAID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropFAID__set_state(PropFAID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropFAID__set_state(<PropFAID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropFAID__set_state(PropFAID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropFAID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropLCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_19__pyx_unpickle_PropLCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_19__pyx_unpickle_PropLCID = {"__pyx_unpickle_PropLCID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_19__pyx_unpickle_PropLCID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_19__pyx_unpickle_PropLCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropLCID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropLCID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropLCID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropLCID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropLCID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropLCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_18__pyx_unpickle_PropLCID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_18__pyx_unpickle_PropLCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropLCID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropLCID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropLCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropLCID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropLCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropLCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropLCID__set_state(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropLCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropLCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropLCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropLCID__set_state(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropLCID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropLCID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropTCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_21__pyx_unpickle_PropTCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_21__pyx_unpickle_PropTCID = {"__pyx_unpickle_PropTCID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_21__pyx_unpickle_PropTCID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_21__pyx_unpickle_PropTCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropTCID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropTCID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropTCID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropTCID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropTCID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropTCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_20__pyx_unpickle_PropTCID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_20__pyx_unpickle_PropTCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropTCID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropTCID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropTCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropTCID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropTCID__set_state(<PropTCID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropTCID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropTCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropTCID__set_state(<PropTCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropTCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropTCID__set_state(<PropTCID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropTCID__set_state(PropTCID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropTCID__set_state(((struct __pyx_obj_4h5py_3h5p_PropTCID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropTCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropTCID__set_state(<PropTCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropTCID__set_state(<PropTCID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropTCID__set_state(PropTCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropTCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropTCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropTCID__set_state(<PropTCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropTCID__set_state(PropTCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropTCID__set_state(struct __pyx_obj_4h5py_3h5p_PropTCID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropTCID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropTCID__set_state(PropTCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropTCID__set_state(PropTCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropTCID__set_state(PropTCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropTCID__set_state(<PropTCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropTCID__set_state(PropTCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropTCID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropGCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_23__pyx_unpickle_PropGCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_23__pyx_unpickle_PropGCID = {"__pyx_unpickle_PropGCID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_23__pyx_unpickle_PropGCID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_23__pyx_unpickle_PropGCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropGCID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropGCID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropGCID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropGCID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropGCID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropGCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_22__pyx_unpickle_PropGCID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_22__pyx_unpickle_PropGCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropGCID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropGCID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropGCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropGCID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropGCID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropGCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropGCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropGCID__set_state(((struct __pyx_obj_4h5py_3h5p_PropGCID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropGCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropGCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropGCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropGCID__set_state(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropGCID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropGCID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropOCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_25__pyx_unpickle_PropOCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_25__pyx_unpickle_PropOCID = {"__pyx_unpickle_PropOCID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_25__pyx_unpickle_PropOCID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_25__pyx_unpickle_PropOCID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropOCID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropOCID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropOCID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropOCID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropOCID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropOCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_24__pyx_unpickle_PropOCID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_24__pyx_unpickle_PropOCID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropOCID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropOCID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropOCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropOCID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropOCID__set_state(<PropOCID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropOCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropOCID__set_state(<PropOCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropOCID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropOCID__set_state(<PropOCID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropOCID__set_state(PropOCID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropOCID__set_state(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropOCID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropOCID__set_state(<PropOCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropOCID__set_state(<PropOCID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropOCID__set_state(PropOCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropOCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropOCID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropOCID__set_state(<PropOCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropOCID__set_state(PropOCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropOCID__set_state(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropOCID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropOCID__set_state(PropOCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropOCID__set_state(PropOCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropOCID__set_state(PropOCID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropOCID__set_state(<PropOCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropOCID__set_state(PropOCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropOCID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __pyx_unpickle_PropDXID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

/* Python wrapper */
static PyObject *__pyx_pw_4h5py_3h5p_27__pyx_unpickle_PropDXID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4h5py_3h5p_27__pyx_unpickle_PropDXID = {"__pyx_unpickle_PropDXID", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_27__pyx_unpickle_PropDXID, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_4h5py_3h5p_27__pyx_unpickle_PropDXID(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropDXID (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,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);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropDXID", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropDXID", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_PropDXID") < 0)) __PYX_ERR(1, 1, __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___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
    __pyx_v___pyx_state = values[2];
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PropDXID", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropDXID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4h5py_3h5p_26__pyx_unpickle_PropDXID(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

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

static PyObject *__pyx_pf_4h5py_3h5p_26__pyx_unpickle_PropDXID(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_PickleError = 0;
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropDXID", 0);

  /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  __pyx_t_1 = ((__pyx_v___pyx_checksum != 0x6df63c8) != 0);
  if (__pyx_t_1) {

    /* "(tree fragment)":5
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError             # <<<<<<<<<<<<<<
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDXID.__new__(__pyx_type)
 */
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_n_s_PickleError);
    __Pyx_GIVEREF(__pyx_n_s_PickleError);
    PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);
    __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v___pyx_PickleError = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":6
 *     if __pyx_checksum != 0x6df63c8:
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)             # <<<<<<<<<<<<<<
 *     __pyx_result = PropDXID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 */
    __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_INCREF(__pyx_v___pyx_PickleError);
    __pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;
    if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      if (likely(__pyx_t_5)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_2, function);
      }
    }
    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(1, 6, __pyx_L1_error)

    /* "(tree fragment)":4
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 *     if __pyx_checksum != 0x6df63c8:             # <<<<<<<<<<<<<<
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 */
  }

  /* "(tree fragment)":7
 *         from pickle import PickleError as __pyx_PickleError
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDXID.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropDXID__set_state(<PropDXID> __pyx_result, __pyx_state)
 */
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_4h5py_3h5p_PropDXID), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(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_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v___pyx_result = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDXID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropDXID__set_state(<PropDXID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  __pyx_t_1 = (__pyx_v___pyx_state != Py_None);
  __pyx_t_6 = (__pyx_t_1 != 0);
  if (__pyx_t_6) {

    /* "(tree fragment)":9
 *     __pyx_result = PropDXID.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropDXID__set_state(<PropDXID> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDXID__set_state(PropDXID __pyx_result, tuple __pyx_state):
 */
    if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)
    __pyx_t_3 = __pyx_f_4h5py_3h5p___pyx_unpickle_PropDXID__set_state(((struct __pyx_obj_4h5py_3h5p_PropDXID *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "(tree fragment)":8
 *         raise __pyx_PickleError("Incompatible checksums (%s vs 0x6df63c8 = (_hash, _pyid, id, locked))" % __pyx_checksum)
 *     __pyx_result = PropDXID.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PropDXID__set_state(<PropDXID> __pyx_result, __pyx_state)
 *     return __pyx_result
 */
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PropDXID__set_state(<PropDXID> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PropDXID__set_state(PropDXID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropDXID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropDXID", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_PickleError);
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PropDXID__set_state(<PropDXID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDXID__set_state(PropDXID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

static PyObject *__pyx_f_4h5py_3h5p___pyx_unpickle_PropDXID__set_state(struct __pyx_obj_4h5py_3h5p_PropDXID *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  size_t __pyx_t_2;
  hid_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PropDXID__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDXID__set_state(PropDXID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash);
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._hash = __pyx_t_1;
  __pyx_t_1 = 0;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base._pyid = __pyx_t_2;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyInt_As_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == ((hid_t)-1)) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.id = __pyx_t_3;
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(1, 12, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->__pyx_base.__pyx_base.__pyx_base.locked = __pyx_t_4;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropDXID__set_state(PropDXID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  if (unlikely(__pyx_v___pyx_state == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(1, 13, __pyx_L1_error)
  }
  __pyx_t_6 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_7 = ((__pyx_t_6 > 4) != 0);
  if (__pyx_t_7) {
  } else {
    __pyx_t_5 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
  __pyx_t_8 = (__pyx_t_7 != 0);
  __pyx_t_5 = __pyx_t_8;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_5) {

    /* "(tree fragment)":14
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 *         __pyx_result.__dict__.update(__pyx_state[4])             # <<<<<<<<<<<<<<
 */
    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_update); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(1, 14, __pyx_L1_error)
    }
    __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = NULL;
    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
      if (likely(__pyx_t_11)) {
        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(function);
        __Pyx_DECREF_SET(__pyx_t_10, function);
      }
    }
    __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "(tree fragment)":13
 * cdef __pyx_unpickle_PropDXID__set_state(PropDXID __pyx_result, tuple __pyx_state):
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):             # <<<<<<<<<<<<<<
 *         __pyx_result.__dict__.update(__pyx_state[4])
 */
  }

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropDXID__set_state(<PropDXID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDXID__set_state(PropDXID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("h5py.h5p.__pyx_unpickle_PropDXID__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":735
 * ctypedef npy_cdouble     complex_t
 * 
 * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":736
 * 
 * cdef inline object PyArray_MultiIterNew1(a):
 *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":735
 * ctypedef npy_cdouble     complex_t
 * 
 * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":738
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":739
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":738
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":741
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":742
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":741
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":744
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":745
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":744
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":747
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":748
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":747
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 */

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":750
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":751
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
 *         return <tuple>d.subarray.shape
 *     else:
 */
  __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0);
  if (__pyx_t_1) {

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":752
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape             # <<<<<<<<<<<<<<
 *     else:
 *         return ()
 */
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
    __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
    goto __pyx_L0;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":751
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
 *         return <tuple>d.subarray.shape
 *     else:
 */
  }

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":754
 *         return <tuple>d.subarray.shape
 *     else:
 *         return ()             # <<<<<<<<<<<<<<
 * 
 * 
 */
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_empty_tuple);
    __pyx_r = __pyx_empty_tuple;
    goto __pyx_L0;
  }

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":750
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape
 */

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

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":929
 *     int _import_umath() except -1
 * 
 * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)
 */

static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("set_array_base", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":930
 * 
 * cdef inline void set_array_base(ndarray arr, object base):
 *     Py_INCREF(base) # important to do this before stealing the reference below!             # <<<<<<<<<<<<<<
 *     PyArray_SetBaseObject(arr, base)
 * 
 */
  Py_INCREF(__pyx_v_base);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":931
 * cdef inline void set_array_base(ndarray arr, object base):
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object get_array_base(ndarray arr):
 */
  (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":929
 *     int _import_umath() except -1
 * 
 * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)
 */

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

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":933
 *     PyArray_SetBaseObject(arr, base)
 * 
 * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
 */

static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
  PyObject *__pyx_v_base;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("get_array_base", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":934
 * 
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)             # <<<<<<<<<<<<<<
 *     if base is NULL:
 *         return None
 */
  __pyx_v_base = PyArray_BASE(__pyx_v_arr);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":935
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)
 *     if base is NULL:             # <<<<<<<<<<<<<<
 *         return None
 *     return <object>base
 */
  __pyx_t_1 = ((__pyx_v_base == NULL) != 0);
  if (__pyx_t_1) {

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":936
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
 *         return None             # <<<<<<<<<<<<<<
 *     return <object>base
 * 
 */
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":935
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)
 *     if base is NULL:             # <<<<<<<<<<<<<<
 *         return None
 *     return <object>base
 */
  }

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":937
 *     if base is NULL:
 *         return None
 *     return <object>base             # <<<<<<<<<<<<<<
 * 
 * # Versions of the import_* functions which are more suitable for
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_base));
  __pyx_r = ((PyObject *)__pyx_v_base);
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":933
 *     PyArray_SetBaseObject(arr, base)
 * 
 * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
 */

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

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":941
 * # Versions of the import_* functions which are more suitable for
 * # Cython code.
 * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         __pyx_import_array()
 */

static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_array", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":942
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":943
 * cdef inline int import_array() except -1:
 *     try:
 *         __pyx_import_array()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy.core.multiarray failed to import")
 */
      __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 943, __pyx_L3_error)

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":942
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":944
 *     try:
 *         __pyx_import_array()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy.core.multiarray failed to import")
 * 
 */
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 944, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":945
 *         __pyx_import_array()
 *     except Exception:
 *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_umath() except -1:
 */
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 945, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(2, 945, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":942
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
 */
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":941
 * # Versions of the import_* functions which are more suitable for
 * # Cython code.
 * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         __pyx_import_array()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":947
 *         raise ImportError("numpy.core.multiarray failed to import")
 * 
 * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_umath", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":948
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":949
 * cdef inline int import_umath() except -1:
 *     try:
 *         _import_umath()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy.core.umath failed to import")
 */
      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 949, __pyx_L3_error)

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":948
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":950
 *     try:
 *         _import_umath()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy.core.umath failed to import")
 * 
 */
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 950, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":951
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_ufunc() except -1:
 */
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 951, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(2, 951, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":948
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":947
 *         raise ImportError("numpy.core.multiarray failed to import")
 * 
 * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":953
 *         raise ImportError("numpy.core.umath failed to import")
 * 
 * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_ufunc", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":954
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":955
 * cdef inline int import_ufunc() except -1:
 *     try:
 *         _import_umath()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy.core.umath failed to import")
 */
      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 955, __pyx_L3_error)

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":954
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":956
 *     try:
 *         _import_umath()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy.core.umath failed to import")
 * 
 */
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 956, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);

      /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":957
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef extern from *:
 */
      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 957, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(2, 957, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;
    __pyx_L5_except_error:;

    /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":954
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
 */
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":953
 *         raise ImportError("numpy.core.umath failed to import")
 * 
 * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
 */

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":967
 * 
 * 
 * cdef inline bint is_timedelta64_object(object obj):             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.timedelta64)`
 */

static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_timedelta64_object", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":979
 *     bool
 *     """
 *     return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type));
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":967
 * 
 * 
 * cdef inline bint is_timedelta64_object(object obj):             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.timedelta64)`
 */

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

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":982
 * 
 * 
 * cdef inline bint is_datetime64_object(object obj):             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.datetime64)`
 */

static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_datetime64_object", 0);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":994
 *     bool
 *     """
 *     return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type)             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type));
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":982
 * 
 * 
 * cdef inline bint is_datetime64_object(object obj):             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.datetime64)`
 */

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

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":997
 * 
 * 
 * cdef inline npy_datetime get_datetime64_value(object obj) nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy datetime64 object
 */

static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) {
  npy_datetime __pyx_r;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1004
 *     also needed.  That can be found using `get_datetime64_unit`.
 *     """
 *     return (<PyDatetimeScalarObject*>obj).obval             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval;
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":997
 * 
 * 
 * cdef inline npy_datetime get_datetime64_value(object obj) nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy datetime64 object
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1007
 * 
 * 
 * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy timedelta64 object
 */

static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) {
  npy_timedelta __pyx_r;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1011
 *     returns the int64 value underlying scalar numpy timedelta64 object
 *     """
 *     return (<PyTimedeltaScalarObject*>obj).obval             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval;
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1007
 * 
 * 
 * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy timedelta64 object
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1014
 * 
 * 
 * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the unit part of the dtype for a numpy datetime64 object.
 */

static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) {
  NPY_DATETIMEUNIT __pyx_r;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1018
 *     returns the unit part of the dtype for a numpy datetime64 object.
 *     """
 *     return <NPY_DATETIMEUNIT>(<PyDatetimeScalarObject*>obj).obmeta.base             # <<<<<<<<<<<<<<
 */
  __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base);
  goto __pyx_L0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1014
 * 
 * 
 * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the unit part of the dtype for a numpy datetime64 object.
 */

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

static PyObject *__pyx_tp_new_4h5py_3h5p_PropID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_4h5py_3h5p_PropID(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  PyObject_GC_Track(o);
  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5p_PropID);
}

static int __pyx_tp_traverse_4h5py_3h5p_PropID(PyObject *o, visitproc v, void *a) {
  int e;
  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5p_PropID)); if (e) return e;
  return 0;
}

static int __pyx_tp_clear_4h5py_3h5p_PropID(PyObject *o) {
  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5p_PropID);
  return 0;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropID[] = {
  {"equal", (PyCFunction)__pyx_pw_4h5py_3h5p_6PropID_1equal, METH_O, __pyx_doc_4h5py_3h5p_6PropID_equal},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_6PropID_7__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_6PropID_9__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4h5py_3h5p_6PropID_5__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        Base class for all property lists and classes\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  __pyx_pw_4h5py_3h5p_6PropID_3__richcmp__, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropClassID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropClassID[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_11PropClassID_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_11PropClassID_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropClassID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropClassID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        An HDF5 property list class.\n\n        * Hashable: Yes, by identifier\n        * Equality: Logical H5P comparison\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  __pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropClassID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropClassID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropInstanceID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropInstanceID[] = {
  {"copy", (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy, METH_NOARGS, __pyx_doc_4h5py_3h5p_14PropInstanceID_copy},
  {"get_class", (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_3get_class, METH_NOARGS, __pyx_doc_4h5py_3h5p_14PropInstanceID_2get_class},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropInstanceID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropInstanceID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        Base class for property list instance objects.  Provides methods which\n        are common across all HDF5 property list classes.\n\n        * Hashable: No\n        * Equality: Logical H5P comparison\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropInstanceID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropInstanceID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropCreateID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropInstanceID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropCreateID[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_12PropCreateID_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_12PropCreateID_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropCreateID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropCreateID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        Generic object creation property list.\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropCreateID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropCreateID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropCopyID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropInstanceID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropCopyID[] = {
  {"set_copy_object", (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object, METH_O, __pyx_doc_4h5py_3h5p_10PropCopyID_set_copy_object},
  {"get_copy_object", (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object, METH_NOARGS, __pyx_doc_4h5py_3h5p_10PropCopyID_2get_copy_object},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropCopyID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropCopyID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        Generic object copy property list\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropCopyID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropCopyID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropOCID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropCreateID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropOCID[] = {
  {"set_attr_creation_order", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_1set_attr_creation_order, METH_O, __pyx_doc_4h5py_3h5p_8PropOCID_set_attr_creation_order},
  {"get_attr_creation_order", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_3get_attr_creation_order, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropOCID_2get_attr_creation_order},
  {"set_attr_phase_change", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropOCID_5set_attr_phase_change, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropOCID_4set_attr_phase_change},
  {"get_attr_phase_change", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_7get_attr_phase_change, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropOCID_6get_attr_phase_change},
  {"set_obj_track_times", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_9set_obj_track_times, METH_O, __pyx_doc_4h5py_3h5p_8PropOCID_8set_obj_track_times},
  {"get_obj_track_times", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_11get_obj_track_times, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropOCID_10get_obj_track_times},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_13__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_15__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropOCID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropOCID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  " Object creation property list\n\n    This seems to be a super class for dataset creation property list\n    and group creation property list.\n\n    The documentation is somewhat hazy\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropOCID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropOCID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropDCID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropOCID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropDCID[] = {
  {"set_layout", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_set_layout},
  {"get_layout", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_2get_layout},
  {"set_chunk", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_4set_chunk},
  {"get_chunk", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_6get_chunk},
  {"set_fill_value", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_8set_fill_value},
  {"get_fill_value", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_10get_fill_value},
  {"fill_value_defined", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_12fill_value_defined},
  {"set_fill_time", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_14set_fill_time},
  {"get_fill_time", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_16get_fill_time},
  {"set_alloc_time", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_18set_alloc_time},
  {"get_alloc_time", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_20get_alloc_time},
  {"set_filter", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_22set_filter},
  {"all_filters_avail", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_24all_filters_avail},
  {"get_nfilters", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_26get_nfilters},
  {"get_filter", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_28get_filter},
  {"_has_filter", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_30_has_filter},
  {"get_filter_by_id", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_33get_filter_by_id, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_32get_filter_by_id},
  {"remove_filter", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter, METH_O, __pyx_doc_4h5py_3h5p_8PropDCID_34remove_filter},
  {"set_deflate", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_36set_deflate},
  {"set_fletcher32", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_38set_fletcher32},
  {"set_shuffle", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_40set_shuffle},
  {"set_szip", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_42set_szip},
  {"set_scaleoffset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_45set_scaleoffset, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_44set_scaleoffset},
  {"set_external", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_47set_external, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_46set_external},
  {"get_external_count", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_49get_external_count, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_48get_external_count},
  {"get_external", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_51get_external, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_50get_external},
  {"set_virtual", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_53set_virtual, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_52set_virtual},
  {"get_virtual_count", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_55get_virtual_count, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDCID_54get_virtual_count},
  {"get_virtual_dsetname", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_57get_virtual_dsetname, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_56get_virtual_dsetname},
  {"get_virtual_filename", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_59get_virtual_filename, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_58get_virtual_filename},
  {"get_virtual_vspace", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_61get_virtual_vspace, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_60get_virtual_vspace},
  {"get_virtual_srcspace", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDCID_63get_virtual_srcspace, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDCID_62get_virtual_srcspace},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_65__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_67__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropDCID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropDCID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        Dataset creation property list.\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropDCID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropDCID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropFCID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropOCID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropFCID[] = {
  {"get_version", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_1get_version, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFCID_get_version},
  {"set_userblock", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock, METH_O, __pyx_doc_4h5py_3h5p_8PropFCID_2set_userblock},
  {"get_userblock", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFCID_4get_userblock},
  {"set_sizes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFCID_6set_sizes},
  {"get_sizes", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFCID_8get_sizes},
  {"set_link_creation_order", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_11set_link_creation_order, METH_O, __pyx_doc_4h5py_3h5p_8PropFCID_10set_link_creation_order},
  {"get_link_creation_order", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_13get_link_creation_order, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFCID_12get_link_creation_order},
  {"set_file_space_strategy", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFCID_15set_file_space_strategy, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFCID_14set_file_space_strategy},
  {"get_file_space_strategy", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_17get_file_space_strategy, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFCID_16get_file_space_strategy},
  {"set_file_space_page_size", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_19set_file_space_page_size, METH_O, __pyx_doc_4h5py_3h5p_8PropFCID_18set_file_space_page_size},
  {"get_file_space_page_size", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_21get_file_space_page_size, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFCID_20get_file_space_page_size},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_23__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_25__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropFCID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropFCID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        File creation property list.\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropFCID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropFCID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropFAID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropInstanceID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropFAID[] = {
  {"set_fclose_degree", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree, METH_O, __pyx_doc_4h5py_3h5p_8PropFAID_set_fclose_degree},
  {"get_fclose_degree", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_2get_fclose_degree},
  {"set_fapl_core", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_core},
  {"get_fapl_core", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_6get_fapl_core},
  {"set_fapl_family", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_family},
  {"get_fapl_family", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_10get_fapl_family},
  {"set_fapl_log", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_12set_fapl_log},
  {"set_fapl_sec2", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_14set_fapl_sec2},
  {"set_fapl_stdio", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_16set_fapl_stdio},
  {"set_fapl_split", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_19set_fapl_split, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_18set_fapl_split},
  {"set_driver", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_21set_driver, METH_O, __pyx_doc_4h5py_3h5p_8PropFAID_20set_driver},
  {"set_fileobj_driver", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_23set_fileobj_driver, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_22set_fileobj_driver},
  {"get_driver", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_25get_driver, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_24get_driver},
  {"set_cache", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_27set_cache, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_26set_cache},
  {"get_cache", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_29get_cache, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_28get_cache},
  {"set_sieve_buf_size", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_31set_sieve_buf_size, METH_O, __pyx_doc_4h5py_3h5p_8PropFAID_30set_sieve_buf_size},
  {"get_sieve_buf_size", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_33get_sieve_buf_size, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_32get_sieve_buf_size},
  {"set_libver_bounds", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_35set_libver_bounds, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_34set_libver_bounds},
  {"get_libver_bounds", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_37get_libver_bounds, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_36get_libver_bounds},
  {"get_mdc_config", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_39get_mdc_config, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_38get_mdc_config},
  {"set_mdc_config", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_41set_mdc_config, METH_O, __pyx_doc_4h5py_3h5p_8PropFAID_40set_mdc_config},
  {"get_alignment", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_43get_alignment, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_42get_alignment},
  {"set_alignment", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_45set_alignment, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_44set_alignment},
  {"set_file_image", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_47set_file_image, METH_O, __pyx_doc_4h5py_3h5p_8PropFAID_46set_file_image},
  {"set_page_buffer_size", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_49set_page_buffer_size, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_48set_page_buffer_size},
  {"get_page_buffer_size", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_51get_page_buffer_size, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_50get_page_buffer_size},
  {"get_file_locking", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_53get_file_locking, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropFAID_52get_file_locking},
  {"set_file_locking", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropFAID_55set_file_locking, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropFAID_54set_file_locking},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_57__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_59__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropFAID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropFAID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  "\n        File access property list\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropFAID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropFAID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropDXID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropInstanceID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropDXID[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDXID_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDXID_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropDXID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropDXID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  " Data transfer property list ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropDXID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropDXID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropDAID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropInstanceID(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4h5py_3h5p_8PropDAID_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4h5py_3h5p_PropDAID(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4h5py_3h5p_8PropDAID_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_4h5py_3h5p_PropID(o);
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropDAID[] = {
  {"set_chunk_cache", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDAID_5set_chunk_cache, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDAID_4set_chunk_cache},
  {"get_chunk_cache", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_7get_chunk_cache, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDAID_6get_chunk_cache},
  {"set_virtual_view", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_9set_virtual_view, METH_O, __pyx_doc_4h5py_3h5p_8PropDAID_8set_virtual_view},
  {"get_virtual_view", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_11get_virtual_view, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDAID_10get_virtual_view},
  {"set_virtual_printf_gap", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_4h5py_3h5p_8PropDAID_13set_virtual_printf_gap, METH_VARARGS|METH_KEYWORDS, __pyx_doc_4h5py_3h5p_8PropDAID_12set_virtual_printf_gap},
  {"get_virtual_printf_gap", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_15get_virtual_printf_gap, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDAID_14get_virtual_printf_gap},
  {"get_virtual_prefix", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_17get_virtual_prefix, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropDAID_16get_virtual_prefix},
  {"set_virtual_prefix", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_19set_virtual_prefix, METH_O, __pyx_doc_4h5py_3h5p_8PropDAID_18set_virtual_prefix},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_21__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_23__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropDAID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropDAID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropDAID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropDAID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  " Dataset access property list ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropDAID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropDAID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropLCID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropCreateID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropLCID[] = {
  {"set_char_encoding", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding, METH_O, __pyx_doc_4h5py_3h5p_8PropLCID_set_char_encoding},
  {"get_char_encoding", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropLCID_2get_char_encoding},
  {"set_create_intermediate_group", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group, METH_O, __pyx_doc_4h5py_3h5p_8PropLCID_4set_create_intermediate_group},
  {"get_create_intermediate_group", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropLCID_6get_create_intermediate_group},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_9__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_11__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropLCID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropLCID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  " Link creation property list ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropLCID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropLCID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropLAID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropInstanceID(t, a, k);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_4h5py_3h5p_PropLAID(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {
    if (PyObject_CallFinalizerFromDealloc(o)) return;
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_4h5py_3h5p_PropID(o);
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropLAID[] = {
  {"set_nlinks", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks, METH_O, __pyx_doc_4h5py_3h5p_8PropLAID_4set_nlinks},
  {"get_nlinks", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropLAID_6get_nlinks},
  {"set_elink_prefix", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix, METH_O, __pyx_doc_4h5py_3h5p_8PropLAID_8set_elink_prefix},
  {"get_elink_prefix", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropLAID_10get_elink_prefix},
  {"set_elink_fapl", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl, METH_O, __pyx_doc_4h5py_3h5p_8PropLAID_12set_elink_fapl},
  {"get_elink_fapl", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropLAID_14get_elink_fapl},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_17__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_19__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropLAID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropLAID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropLAID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  " Link access property list ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropLAID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropLAID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropGCID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropOCID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropGCID[] = {
  {"set_link_creation_order", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropGCID_1set_link_creation_order, METH_O, __pyx_doc_4h5py_3h5p_8PropGCID_set_link_creation_order},
  {"get_link_creation_order", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropGCID_3get_link_creation_order, METH_NOARGS, __pyx_doc_4h5py_3h5p_8PropGCID_2get_link_creation_order},
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropGCID_5__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropGCID_7__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropGCID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropGCID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  " Group creation property list ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropGCID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropGCID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyObject *__pyx_tp_new_4h5py_3h5p_PropTCID(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropOCID(t, a, k);
  if (unlikely(!o)) return 0;
  return o;
}

static PyMethodDef __pyx_methods_4h5py_3h5p_PropTCID[] = {
  {"__reduce_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropTCID_1__reduce_cython__, METH_NOARGS, 0},
  {"__setstate_cython__", (PyCFunction)__pyx_pw_4h5py_3h5p_8PropTCID_3__setstate_cython__, METH_O, 0},
  {0, 0, 0, 0}
};

static PyTypeObject __pyx_type_4h5py_3h5p_PropTCID = {
  PyVarObject_HEAD_INIT(0, 0)
  "h5py.h5p.PropTCID", /*tp_name*/
  sizeof(struct __pyx_obj_4h5py_3h5p_PropTCID), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
  #if PY_VERSION_HEX < 0x030800b4
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4
  0, /*tp_vectorcall_offset*/
  #endif
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  #if PY_MAJOR_VERSION < 3
  0, /*tp_compare*/
  #endif
  #if PY_MAJOR_VERSION >= 3
  0, /*tp_as_async*/
  #endif
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  " Datatype creation property list\n\n    No methods yet.\n    ", /*tp_doc*/
  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_4h5py_3h5p_PropTCID, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  0, /*tp_dictoffset*/
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_4h5py_3h5p_PropTCID, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if PY_VERSION_HEX >= 0x030400a1
  0, /*tp_finalize*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b1
  0, /*tp_vectorcall*/
  #endif
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030B00A2
  0, /*tp_inline_values_offset*/
  #endif
};

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};

#if PY_MAJOR_VERSION >= 3
#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_h5p(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_h5p},
  {0, NULL}
};
#endif

static struct PyModuleDef __pyx_moduledef = {
    PyModuleDef_HEAD_INIT,
    "h5p",
    __pyx_k_HDF5_property_list_interface, /* m_doc */
  #if CYTHON_PEP489_MULTI_PHASE_INIT
    0, /* m_size */
  #else
    -1, /* m_size */
  #endif
    __pyx_methods /* m_methods */,
  #if CYTHON_PEP489_MULTI_PHASE_INIT
    __pyx_moduledef_slots, /* m_slots */
  #else
    NULL, /* m_reload */
  #endif
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
    #define CYTHON_SMALL_CODE
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
    #define CYTHON_SMALL_CODE __attribute__((cold))
#else
    #define CYTHON_SMALL_CODE
#endif
#endif

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_n_s_CRT_ORDER_INDEXED, __pyx_k_CRT_ORDER_INDEXED, sizeof(__pyx_k_CRT_ORDER_INDEXED), 0, 0, 1, 1},
  {&__pyx_n_s_CRT_ORDER_TRACKED, __pyx_k_CRT_ORDER_TRACKED, sizeof(__pyx_k_CRT_ORDER_TRACKED), 0, 0, 1, 1},
  {&__pyx_n_s_DATASET_ACCESS, __pyx_k_DATASET_ACCESS, sizeof(__pyx_k_DATASET_ACCESS), 0, 0, 1, 1},
  {&__pyx_n_s_DATASET_CREATE, __pyx_k_DATASET_CREATE, sizeof(__pyx_k_DATASET_CREATE), 0, 0, 1, 1},
  {&__pyx_n_s_DATASET_XFER, __pyx_k_DATASET_XFER, sizeof(__pyx_k_DATASET_XFER), 0, 0, 1, 1},
  {&__pyx_n_s_DEFAULT, __pyx_k_DEFAULT, sizeof(__pyx_k_DEFAULT), 0, 0, 1, 1},
  {&__pyx_n_s_FILE_ACCESS, __pyx_k_FILE_ACCESS, sizeof(__pyx_k_FILE_ACCESS), 0, 0, 1, 1},
  {&__pyx_n_s_FILE_CREATE, __pyx_k_FILE_CREATE, sizeof(__pyx_k_FILE_CREATE), 0, 0, 1, 1},
  {&__pyx_kp_u_Filter_index_must_be_a_non_negat, __pyx_k_Filter_index_must_be_a_non_negat, sizeof(__pyx_k_Filter_index_must_be_a_non_negat), 0, 1, 0, 0},
  {&__pyx_n_s_GROUP_CREATE, __pyx_k_GROUP_CREATE, sizeof(__pyx_k_GROUP_CREATE), 0, 0, 1, 1},
  {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},
  {&__pyx_kp_s_Incompatible_checksums_s_vs_0x6d, __pyx_k_Incompatible_checksums_s_vs_0x6d, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x6d), 0, 0, 1, 0},
  {&__pyx_n_s_LINK_ACCESS, __pyx_k_LINK_ACCESS, sizeof(__pyx_k_LINK_ACCESS), 0, 0, 1, 1},
  {&__pyx_n_s_LINK_CREATE, __pyx_k_LINK_CREATE, sizeof(__pyx_k_LINK_CREATE), 0, 0, 1, 1},
  {&__pyx_n_s_NO_CLASS, __pyx_k_NO_CLASS, sizeof(__pyx_k_NO_CLASS), 0, 0, 1, 1},
  {&__pyx_kp_u_No_class_found_for_ID_d, __pyx_k_No_class_found_for_ID_d, sizeof(__pyx_k_No_class_found_for_ID_d), 0, 1, 0, 0},
  {&__pyx_n_s_NotImplemented, __pyx_k_NotImplemented, sizeof(__pyx_k_NotImplemented), 0, 0, 1, 1},
  {&__pyx_n_s_OBJECT_COPY, __pyx_k_OBJECT_COPY, sizeof(__pyx_k_OBJECT_COPY), 0, 0, 1, 1},
  {&__pyx_n_s_OBJECT_CREATE, __pyx_k_OBJECT_CREATE, sizeof(__pyx_k_OBJECT_CREATE), 0, 0, 1, 1},
  {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
  {&__pyx_n_s_PropClassID, __pyx_k_PropClassID, sizeof(__pyx_k_PropClassID), 0, 0, 1, 1},
  {&__pyx_n_s_PropCopyID, __pyx_k_PropCopyID, sizeof(__pyx_k_PropCopyID), 0, 0, 1, 1},
  {&__pyx_n_s_PropCreateID, __pyx_k_PropCreateID, sizeof(__pyx_k_PropCreateID), 0, 0, 1, 1},
  {&__pyx_n_s_PropDAID, __pyx_k_PropDAID, sizeof(__pyx_k_PropDAID), 0, 0, 1, 1},
  {&__pyx_n_s_PropDCID, __pyx_k_PropDCID, sizeof(__pyx_k_PropDCID), 0, 0, 1, 1},
  {&__pyx_n_s_PropDXID, __pyx_k_PropDXID, sizeof(__pyx_k_PropDXID), 0, 0, 1, 1},
  {&__pyx_n_s_PropFAID, __pyx_k_PropFAID, sizeof(__pyx_k_PropFAID), 0, 0, 1, 1},
  {&__pyx_n_s_PropFCID, __pyx_k_PropFCID, sizeof(__pyx_k_PropFCID), 0, 0, 1, 1},
  {&__pyx_n_s_PropGCID, __pyx_k_PropGCID, sizeof(__pyx_k_PropGCID), 0, 0, 1, 1},
  {&__pyx_n_s_PropID, __pyx_k_PropID, sizeof(__pyx_k_PropID), 0, 0, 1, 1},
  {&__pyx_n_s_PropInstanceID, __pyx_k_PropInstanceID, sizeof(__pyx_k_PropInstanceID), 0, 0, 1, 1},
  {&__pyx_n_s_PropLAID, __pyx_k_PropLAID, sizeof(__pyx_k_PropLAID), 0, 0, 1, 1},
  {&__pyx_n_s_PropLCID, __pyx_k_PropLCID, sizeof(__pyx_k_PropLCID), 0, 0, 1, 1},
  {&__pyx_n_s_PropOCID, __pyx_k_PropOCID, sizeof(__pyx_k_PropOCID), 0, 0, 1, 1},
  {&__pyx_n_s_PropTCID, __pyx_k_PropTCID, sizeof(__pyx_k_PropTCID), 0, 0, 1, 1},
  {&__pyx_kp_u_Property_lists_are_unhashable, __pyx_k_Property_lists_are_unhashable, sizeof(__pyx_k_Property_lists_are_unhashable), 0, 1, 0, 0},
  {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
  {&__pyx_n_s_addr, __pyx_k_addr, sizeof(__pyx_k_addr), 0, 0, 1, 1},
  {&__pyx_n_s_alignment, __pyx_k_alignment, sizeof(__pyx_k_alignment), 0, 0, 1, 1},
  {&__pyx_n_s_all_filters_avail, __pyx_k_all_filters_avail, sizeof(__pyx_k_all_filters_avail), 0, 0, 1, 1},
  {&__pyx_n_s_backing_store, __pyx_k_backing_store, sizeof(__pyx_k_backing_store), 0, 0, 1, 1},
  {&__pyx_n_s_block_size, __pyx_k_block_size, sizeof(__pyx_k_block_size), 0, 0, 1, 1},
  {&__pyx_n_s_buf_size, __pyx_k_buf_size, sizeof(__pyx_k_buf_size), 0, 0, 1, 1},
  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
  {&__pyx_n_s_cls, __pyx_k_cls, sizeof(__pyx_k_cls), 0, 0, 1, 1},
  {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1},
  {&__pyx_n_s_create, __pyx_k_create, sizeof(__pyx_k_create), 0, 0, 1, 1},
  {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
  {&__pyx_n_s_driver_id, __pyx_k_driver_id, sizeof(__pyx_k_driver_id), 0, 0, 1, 1},
  {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1},
  {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1},
  {&__pyx_n_s_equal, __pyx_k_equal, sizeof(__pyx_k_equal), 0, 0, 1, 1},
  {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1},
  {&__pyx_n_s_fileobj, __pyx_k_fileobj, sizeof(__pyx_k_fileobj), 0, 0, 1, 1},
  {&__pyx_n_s_fill_value_defined, __pyx_k_fill_value_defined, sizeof(__pyx_k_fill_value_defined), 0, 0, 1, 1},
  {&__pyx_n_s_filter_code, __pyx_k_filter_code, sizeof(__pyx_k_filter_code), 0, 0, 1, 1},
  {&__pyx_n_s_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 0, 0, 1, 1},
  {&__pyx_n_s_gap_size, __pyx_k_gap_size, sizeof(__pyx_k_gap_size), 0, 0, 1, 1},
  {&__pyx_n_s_get_alloc_time, __pyx_k_get_alloc_time, sizeof(__pyx_k_get_alloc_time), 0, 0, 1, 1},
  {&__pyx_n_s_get_attr_creation_order, __pyx_k_get_attr_creation_order, sizeof(__pyx_k_get_attr_creation_order), 0, 0, 1, 1},
  {&__pyx_n_s_get_attr_phase_change, __pyx_k_get_attr_phase_change, sizeof(__pyx_k_get_attr_phase_change), 0, 0, 1, 1},
  {&__pyx_n_s_get_cache, __pyx_k_get_cache, sizeof(__pyx_k_get_cache), 0, 0, 1, 1},
  {&__pyx_n_s_get_char_encoding, __pyx_k_get_char_encoding, sizeof(__pyx_k_get_char_encoding), 0, 0, 1, 1},
  {&__pyx_n_s_get_chunk, __pyx_k_get_chunk, sizeof(__pyx_k_get_chunk), 0, 0, 1, 1},
  {&__pyx_n_s_get_chunk_cache, __pyx_k_get_chunk_cache, sizeof(__pyx_k_get_chunk_cache), 0, 0, 1, 1},
  {&__pyx_n_s_get_copy_object, __pyx_k_get_copy_object, sizeof(__pyx_k_get_copy_object), 0, 0, 1, 1},
  {&__pyx_n_s_get_create_intermediate_group, __pyx_k_get_create_intermediate_group, sizeof(__pyx_k_get_create_intermediate_group), 0, 0, 1, 1},
  {&__pyx_n_s_get_driver, __pyx_k_get_driver, sizeof(__pyx_k_get_driver), 0, 0, 1, 1},
  {&__pyx_n_s_get_elink_fapl, __pyx_k_get_elink_fapl, sizeof(__pyx_k_get_elink_fapl), 0, 0, 1, 1},
  {&__pyx_n_s_get_elink_prefix, __pyx_k_get_elink_prefix, sizeof(__pyx_k_get_elink_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_get_external, __pyx_k_get_external, sizeof(__pyx_k_get_external), 0, 0, 1, 1},
  {&__pyx_n_s_get_external_count, __pyx_k_get_external_count, sizeof(__pyx_k_get_external_count), 0, 0, 1, 1},
  {&__pyx_n_s_get_fapl_core, __pyx_k_get_fapl_core, sizeof(__pyx_k_get_fapl_core), 0, 0, 1, 1},
  {&__pyx_n_s_get_fapl_family, __pyx_k_get_fapl_family, sizeof(__pyx_k_get_fapl_family), 0, 0, 1, 1},
  {&__pyx_n_s_get_fclose_degree, __pyx_k_get_fclose_degree, sizeof(__pyx_k_get_fclose_degree), 0, 0, 1, 1},
  {&__pyx_n_s_get_file_locking, __pyx_k_get_file_locking, sizeof(__pyx_k_get_file_locking), 0, 0, 1, 1},
  {&__pyx_n_s_get_file_space_page_size, __pyx_k_get_file_space_page_size, sizeof(__pyx_k_get_file_space_page_size), 0, 0, 1, 1},
  {&__pyx_n_s_get_file_space_strategy, __pyx_k_get_file_space_strategy, sizeof(__pyx_k_get_file_space_strategy), 0, 0, 1, 1},
  {&__pyx_n_s_get_fill_time, __pyx_k_get_fill_time, sizeof(__pyx_k_get_fill_time), 0, 0, 1, 1},
  {&__pyx_n_s_get_fill_value, __pyx_k_get_fill_value, sizeof(__pyx_k_get_fill_value), 0, 0, 1, 1},
  {&__pyx_n_s_get_filter, __pyx_k_get_filter, sizeof(__pyx_k_get_filter), 0, 0, 1, 1},
  {&__pyx_n_s_get_filter_by_id, __pyx_k_get_filter_by_id, sizeof(__pyx_k_get_filter_by_id), 0, 0, 1, 1},
  {&__pyx_n_s_get_layout, __pyx_k_get_layout, sizeof(__pyx_k_get_layout), 0, 0, 1, 1},
  {&__pyx_n_s_get_libver_bounds, __pyx_k_get_libver_bounds, sizeof(__pyx_k_get_libver_bounds), 0, 0, 1, 1},
  {&__pyx_n_s_get_link_creation_order, __pyx_k_get_link_creation_order, sizeof(__pyx_k_get_link_creation_order), 0, 0, 1, 1},
  {&__pyx_n_s_get_mdc_config, __pyx_k_get_mdc_config, sizeof(__pyx_k_get_mdc_config), 0, 0, 1, 1},
  {&__pyx_n_s_get_nfilters, __pyx_k_get_nfilters, sizeof(__pyx_k_get_nfilters), 0, 0, 1, 1},
  {&__pyx_n_s_get_nlinks, __pyx_k_get_nlinks, sizeof(__pyx_k_get_nlinks), 0, 0, 1, 1},
  {&__pyx_n_s_get_obj_track_times, __pyx_k_get_obj_track_times, sizeof(__pyx_k_get_obj_track_times), 0, 0, 1, 1},
  {&__pyx_n_s_get_page_buffer_size, __pyx_k_get_page_buffer_size, sizeof(__pyx_k_get_page_buffer_size), 0, 0, 1, 1},
  {&__pyx_n_s_get_sieve_buf_size, __pyx_k_get_sieve_buf_size, sizeof(__pyx_k_get_sieve_buf_size), 0, 0, 1, 1},
  {&__pyx_n_s_get_sizes, __pyx_k_get_sizes, sizeof(__pyx_k_get_sizes), 0, 0, 1, 1},
  {&__pyx_n_s_get_userblock, __pyx_k_get_userblock, sizeof(__pyx_k_get_userblock), 0, 0, 1, 1},
  {&__pyx_n_s_get_version, __pyx_k_get_version, sizeof(__pyx_k_get_version), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_count, __pyx_k_get_virtual_count, sizeof(__pyx_k_get_virtual_count), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_dsetname, __pyx_k_get_virtual_dsetname, sizeof(__pyx_k_get_virtual_dsetname), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_filename, __pyx_k_get_virtual_filename, sizeof(__pyx_k_get_virtual_filename), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_prefix, __pyx_k_get_virtual_prefix, sizeof(__pyx_k_get_virtual_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_printf_gap, __pyx_k_get_virtual_printf_gap, sizeof(__pyx_k_get_virtual_printf_gap), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_srcspace, __pyx_k_get_virtual_srcspace, sizeof(__pyx_k_get_virtual_srcspace), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_view, __pyx_k_get_virtual_view, sizeof(__pyx_k_get_virtual_view), 0, 0, 1, 1},
  {&__pyx_n_s_get_virtual_vspace, __pyx_k_get_virtual_vspace, sizeof(__pyx_k_get_virtual_vspace), 0, 0, 1, 1},
  {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
  {&__pyx_n_s_h5py_h5p, __pyx_k_h5py_h5p, sizeof(__pyx_k_h5py_h5p), 0, 0, 1, 1},
  {&__pyx_kp_s_h5py_h5p_pyx, __pyx_k_h5py_h5p_pyx, sizeof(__pyx_k_h5py_h5p_pyx), 0, 0, 1, 0},
  {&__pyx_n_s_has_filter, __pyx_k_has_filter, sizeof(__pyx_k_has_filter), 0, 0, 1, 1},
  {&__pyx_n_s_high, __pyx_k_high, sizeof(__pyx_k_high), 0, 0, 1, 1},
  {&__pyx_n_s_idx, __pyx_k_idx, sizeof(__pyx_k_idx), 0, 0, 1, 1},
  {&__pyx_n_s_ignore_when_disabled, __pyx_k_ignore_when_disabled, sizeof(__pyx_k_ignore_when_disabled), 0, 0, 1, 1},
  {&__pyx_kp_u_image_must_support_the_buffer_pr, __pyx_k_image_must_support_the_buffer_pr, sizeof(__pyx_k_image_must_support_the_buffer_pr), 0, 1, 0, 0},
  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
  {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
  {&__pyx_n_s_level, __pyx_k_level, sizeof(__pyx_k_level), 0, 0, 1, 1},
  {&__pyx_n_s_logfile, __pyx_k_logfile, sizeof(__pyx_k_logfile), 0, 0, 1, 1},
  {&__pyx_n_s_low, __pyx_k_low, sizeof(__pyx_k_low), 0, 0, 1, 1},
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
  {&__pyx_n_s_max_compact, __pyx_k_max_compact, sizeof(__pyx_k_max_compact), 0, 0, 1, 1},
  {&__pyx_n_s_mdc, __pyx_k_mdc, sizeof(__pyx_k_mdc), 0, 0, 1, 1},
  {&__pyx_n_s_memb_fapl, __pyx_k_memb_fapl, sizeof(__pyx_k_memb_fapl), 0, 0, 1, 1},
  {&__pyx_n_s_memb_size, __pyx_k_memb_size, sizeof(__pyx_k_memb_size), 0, 0, 1, 1},
  {&__pyx_n_s_meta_ext, __pyx_k_meta_ext, sizeof(__pyx_k_meta_ext), 0, 0, 1, 1},
  {&__pyx_n_s_meta_plist_id, __pyx_k_meta_plist_id, sizeof(__pyx_k_meta_plist_id), 0, 0, 1, 1},
  {&__pyx_n_s_min_dense, __pyx_k_min_dense, sizeof(__pyx_k_min_dense), 0, 0, 1, 1},
  {&__pyx_n_s_min_meta_per, __pyx_k_min_meta_per, sizeof(__pyx_k_min_meta_per), 0, 0, 1, 1},
  {&__pyx_n_s_min_raw_per, __pyx_k_min_raw_per, sizeof(__pyx_k_min_raw_per), 0, 0, 1, 1},
  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
  {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
  {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},
  {&__pyx_n_s_newid, __pyx_k_newid, sizeof(__pyx_k_newid), 0, 0, 1, 1},
  {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0},
  {&__pyx_kp_u_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 1, 0, 0},
  {&__pyx_kp_u_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 1, 0, 0},
  {&__pyx_n_s_objects, __pyx_k_objects, sizeof(__pyx_k_objects), 0, 0, 1, 1},
  {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1},
  {&__pyx_n_s_options, __pyx_k_options, sizeof(__pyx_k_options), 0, 0, 1, 1},
  {&__pyx_n_s_persist, __pyx_k_persist, sizeof(__pyx_k_persist), 0, 0, 1, 1},
  {&__pyx_n_s_phil, __pyx_k_phil, sizeof(__pyx_k_phil), 0, 0, 1, 1},
  {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},
  {&__pyx_n_s_pixels_per_block, __pyx_k_pixels_per_block, sizeof(__pyx_k_pixels_per_block), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropClassID, __pyx_k_pyx_unpickle_PropClassID, sizeof(__pyx_k_pyx_unpickle_PropClassID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropCopyID, __pyx_k_pyx_unpickle_PropCopyID, sizeof(__pyx_k_pyx_unpickle_PropCopyID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropCreateID, __pyx_k_pyx_unpickle_PropCreateID, sizeof(__pyx_k_pyx_unpickle_PropCreateID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropDCID, __pyx_k_pyx_unpickle_PropDCID, sizeof(__pyx_k_pyx_unpickle_PropDCID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropDXID, __pyx_k_pyx_unpickle_PropDXID, sizeof(__pyx_k_pyx_unpickle_PropDXID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropFAID, __pyx_k_pyx_unpickle_PropFAID, sizeof(__pyx_k_pyx_unpickle_PropFAID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropFCID, __pyx_k_pyx_unpickle_PropFCID, sizeof(__pyx_k_pyx_unpickle_PropFCID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropGCID, __pyx_k_pyx_unpickle_PropGCID, sizeof(__pyx_k_pyx_unpickle_PropGCID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropID, __pyx_k_pyx_unpickle_PropID, sizeof(__pyx_k_pyx_unpickle_PropID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropInstanceID, __pyx_k_pyx_unpickle_PropInstanceID, sizeof(__pyx_k_pyx_unpickle_PropInstanceID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropLCID, __pyx_k_pyx_unpickle_PropLCID, sizeof(__pyx_k_pyx_unpickle_PropLCID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropOCID, __pyx_k_pyx_unpickle_PropOCID, sizeof(__pyx_k_pyx_unpickle_PropOCID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_unpickle_PropTCID, __pyx_k_pyx_unpickle_PropTCID, sizeof(__pyx_k_pyx_unpickle_PropTCID), 0, 0, 1, 1},
  {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
  {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
  {&__pyx_n_s_raw_ext, __pyx_k_raw_ext, sizeof(__pyx_k_raw_ext), 0, 0, 1, 1},
  {&__pyx_n_s_raw_plist_id, __pyx_k_raw_plist_id, sizeof(__pyx_k_raw_plist_id), 0, 0, 1, 1},
  {&__pyx_n_s_rdcc, __pyx_k_rdcc, sizeof(__pyx_k_rdcc), 0, 0, 1, 1},
  {&__pyx_n_s_rdcc_nbytes, __pyx_k_rdcc_nbytes, sizeof(__pyx_k_rdcc_nbytes), 0, 0, 1, 1},
  {&__pyx_n_s_rdcc_nslots, __pyx_k_rdcc_nslots, sizeof(__pyx_k_rdcc_nslots), 0, 0, 1, 1},
  {&__pyx_n_s_rdcc_w0, __pyx_k_rdcc_w0, sizeof(__pyx_k_rdcc_w0), 0, 0, 1, 1},
  {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
  {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
  {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
  {&__pyx_n_s_remove_filter, __pyx_k_remove_filter, sizeof(__pyx_k_remove_filter), 0, 0, 1, 1},
  {&__pyx_n_s_richcmp, __pyx_k_richcmp, sizeof(__pyx_k_richcmp), 0, 0, 1, 1},
  {&__pyx_n_s_scale_factor, __pyx_k_scale_factor, sizeof(__pyx_k_scale_factor), 0, 0, 1, 1},
  {&__pyx_n_s_scale_type, __pyx_k_scale_type, sizeof(__pyx_k_scale_type), 0, 0, 1, 1},
  {&__pyx_n_s_set_alloc_time, __pyx_k_set_alloc_time, sizeof(__pyx_k_set_alloc_time), 0, 0, 1, 1},
  {&__pyx_n_s_set_attr_creation_order, __pyx_k_set_attr_creation_order, sizeof(__pyx_k_set_attr_creation_order), 0, 0, 1, 1},
  {&__pyx_n_s_set_attr_phase_change, __pyx_k_set_attr_phase_change, sizeof(__pyx_k_set_attr_phase_change), 0, 0, 1, 1},
  {&__pyx_n_s_set_cache, __pyx_k_set_cache, sizeof(__pyx_k_set_cache), 0, 0, 1, 1},
  {&__pyx_n_s_set_char_encoding, __pyx_k_set_char_encoding, sizeof(__pyx_k_set_char_encoding), 0, 0, 1, 1},
  {&__pyx_n_s_set_chunk, __pyx_k_set_chunk, sizeof(__pyx_k_set_chunk), 0, 0, 1, 1},
  {&__pyx_n_s_set_chunk_cache, __pyx_k_set_chunk_cache, sizeof(__pyx_k_set_chunk_cache), 0, 0, 1, 1},
  {&__pyx_n_s_set_copy_object, __pyx_k_set_copy_object, sizeof(__pyx_k_set_copy_object), 0, 0, 1, 1},
  {&__pyx_n_s_set_create_intermediate_group, __pyx_k_set_create_intermediate_group, sizeof(__pyx_k_set_create_intermediate_group), 0, 0, 1, 1},
  {&__pyx_n_s_set_deflate, __pyx_k_set_deflate, sizeof(__pyx_k_set_deflate), 0, 0, 1, 1},
  {&__pyx_n_s_set_driver, __pyx_k_set_driver, sizeof(__pyx_k_set_driver), 0, 0, 1, 1},
  {&__pyx_n_s_set_elink_fapl, __pyx_k_set_elink_fapl, sizeof(__pyx_k_set_elink_fapl), 0, 0, 1, 1},
  {&__pyx_n_s_set_elink_prefix, __pyx_k_set_elink_prefix, sizeof(__pyx_k_set_elink_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_set_external, __pyx_k_set_external, sizeof(__pyx_k_set_external), 0, 0, 1, 1},
  {&__pyx_n_s_set_fapl_core, __pyx_k_set_fapl_core, sizeof(__pyx_k_set_fapl_core), 0, 0, 1, 1},
  {&__pyx_n_s_set_fapl_family, __pyx_k_set_fapl_family, sizeof(__pyx_k_set_fapl_family), 0, 0, 1, 1},
  {&__pyx_n_s_set_fapl_log, __pyx_k_set_fapl_log, sizeof(__pyx_k_set_fapl_log), 0, 0, 1, 1},
  {&__pyx_n_s_set_fapl_sec2, __pyx_k_set_fapl_sec2, sizeof(__pyx_k_set_fapl_sec2), 0, 0, 1, 1},
  {&__pyx_n_s_set_fapl_split, __pyx_k_set_fapl_split, sizeof(__pyx_k_set_fapl_split), 0, 0, 1, 1},
  {&__pyx_n_s_set_fapl_stdio, __pyx_k_set_fapl_stdio, sizeof(__pyx_k_set_fapl_stdio), 0, 0, 1, 1},
  {&__pyx_n_s_set_fclose_degree, __pyx_k_set_fclose_degree, sizeof(__pyx_k_set_fclose_degree), 0, 0, 1, 1},
  {&__pyx_n_s_set_file_image, __pyx_k_set_file_image, sizeof(__pyx_k_set_file_image), 0, 0, 1, 1},
  {&__pyx_n_s_set_file_locking, __pyx_k_set_file_locking, sizeof(__pyx_k_set_file_locking), 0, 0, 1, 1},
  {&__pyx_n_s_set_file_space_page_size, __pyx_k_set_file_space_page_size, sizeof(__pyx_k_set_file_space_page_size), 0, 0, 1, 1},
  {&__pyx_n_s_set_file_space_strategy, __pyx_k_set_file_space_strategy, sizeof(__pyx_k_set_file_space_strategy), 0, 0, 1, 1},
  {&__pyx_n_s_set_fileobj_driver, __pyx_k_set_fileobj_driver, sizeof(__pyx_k_set_fileobj_driver), 0, 0, 1, 1},
  {&__pyx_n_s_set_fill_time, __pyx_k_set_fill_time, sizeof(__pyx_k_set_fill_time), 0, 0, 1, 1},
  {&__pyx_n_s_set_fill_value, __pyx_k_set_fill_value, sizeof(__pyx_k_set_fill_value), 0, 0, 1, 1},
  {&__pyx_n_s_set_filter, __pyx_k_set_filter, sizeof(__pyx_k_set_filter), 0, 0, 1, 1},
  {&__pyx_n_s_set_fletcher32, __pyx_k_set_fletcher32, sizeof(__pyx_k_set_fletcher32), 0, 0, 1, 1},
  {&__pyx_n_s_set_layout, __pyx_k_set_layout, sizeof(__pyx_k_set_layout), 0, 0, 1, 1},
  {&__pyx_n_s_set_libver_bounds, __pyx_k_set_libver_bounds, sizeof(__pyx_k_set_libver_bounds), 0, 0, 1, 1},
  {&__pyx_n_s_set_link_creation_order, __pyx_k_set_link_creation_order, sizeof(__pyx_k_set_link_creation_order), 0, 0, 1, 1},
  {&__pyx_n_s_set_mdc_config, __pyx_k_set_mdc_config, sizeof(__pyx_k_set_mdc_config), 0, 0, 1, 1},
  {&__pyx_n_s_set_nlinks, __pyx_k_set_nlinks, sizeof(__pyx_k_set_nlinks), 0, 0, 1, 1},
  {&__pyx_n_s_set_obj_track_times, __pyx_k_set_obj_track_times, sizeof(__pyx_k_set_obj_track_times), 0, 0, 1, 1},
  {&__pyx_n_s_set_page_buffer_size, __pyx_k_set_page_buffer_size, sizeof(__pyx_k_set_page_buffer_size), 0, 0, 1, 1},
  {&__pyx_n_s_set_scaleoffset, __pyx_k_set_scaleoffset, sizeof(__pyx_k_set_scaleoffset), 0, 0, 1, 1},
  {&__pyx_n_s_set_shuffle, __pyx_k_set_shuffle, sizeof(__pyx_k_set_shuffle), 0, 0, 1, 1},
  {&__pyx_n_s_set_sieve_buf_size, __pyx_k_set_sieve_buf_size, sizeof(__pyx_k_set_sieve_buf_size), 0, 0, 1, 1},
  {&__pyx_n_s_set_sizes, __pyx_k_set_sizes, sizeof(__pyx_k_set_sizes), 0, 0, 1, 1},
  {&__pyx_n_s_set_szip, __pyx_k_set_szip, sizeof(__pyx_k_set_szip), 0, 0, 1, 1},
  {&__pyx_n_s_set_userblock, __pyx_k_set_userblock, sizeof(__pyx_k_set_userblock), 0, 0, 1, 1},
  {&__pyx_n_s_set_virtual, __pyx_k_set_virtual, sizeof(__pyx_k_set_virtual), 0, 0, 1, 1},
  {&__pyx_n_s_set_virtual_prefix, __pyx_k_set_virtual_prefix, sizeof(__pyx_k_set_virtual_prefix), 0, 0, 1, 1},
  {&__pyx_n_s_set_virtual_printf_gap, __pyx_k_set_virtual_printf_gap, sizeof(__pyx_k_set_virtual_printf_gap), 0, 0, 1, 1},
  {&__pyx_n_s_set_virtual_view, __pyx_k_set_virtual_view, sizeof(__pyx_k_set_virtual_view), 0, 0, 1, 1},
  {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
  {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
  {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1},
  {&__pyx_n_s_src_dset_name, __pyx_k_src_dset_name, sizeof(__pyx_k_src_dset_name), 0, 0, 1, 1},
  {&__pyx_n_s_src_file_name, __pyx_k_src_file_name, sizeof(__pyx_k_src_file_name), 0, 0, 1, 1},
  {&__pyx_n_s_src_space, __pyx_k_src_space, sizeof(__pyx_k_src_space), 0, 0, 1, 1},
  {&__pyx_n_s_strategy, __pyx_k_strategy, sizeof(__pyx_k_strategy), 0, 0, 1, 1},
  {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
  {&__pyx_n_s_threshold, __pyx_k_threshold, sizeof(__pyx_k_threshold), 0, 0, 1, 1},
  {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
  {&__pyx_n_s_use_file_locking, __pyx_k_use_file_locking, sizeof(__pyx_k_use_file_locking), 0, 0, 1, 1},
  {&__pyx_n_s_values, __pyx_k_values, sizeof(__pyx_k_values), 0, 0, 1, 1},
  {&__pyx_n_s_vspace, __pyx_k_vspace, sizeof(__pyx_k_vspace), 0, 0, 1, 1},
  {&__pyx_n_s_with_phil, __pyx_k_with_phil, sizeof(__pyx_k_with_phil), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 79, __pyx_L1_error)
  __pyx_builtin_NotImplemented = __Pyx_GetBuiltinName(__pyx_n_s_NotImplemented); if (!__pyx_builtin_NotImplemented) __PYX_ERR(0, 167, __pyx_L1_error)
  __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 176, __pyx_L1_error)
  __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 631, __pyx_L1_error)
  __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 945, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "h5py/h5p.pyx":165
 *         cdef bint truthval = 0
 * 
 *         with phil:             # <<<<<<<<<<<<<<
 *             if how != 2 and how != 3:
 *                 return NotImplemented
 */
  __pyx_tuple_ = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple_);
  __Pyx_GIVEREF(__pyx_tuple_);

  /* "h5py/h5p.pyx":176
 * 
 *     def __hash__(self):
 *         raise TypeError("Property lists are unhashable")             # <<<<<<<<<<<<<<
 * 
 * cdef class PropClassID(PropID):
 */
  __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_Property_lists_are_unhashable); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__2);
  __Pyx_GIVEREF(__pyx_tuple__2);

  /* "h5py/h5p.pyx":680
 * 
 *         if filter_idx < 0:
 *             raise ValueError("Filter index must be a non-negative integer")             # <<<<<<<<<<<<<<
 * 
 *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,
 */
  __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_Filter_index_must_be_a_non_negat); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__3);
  __Pyx_GIVEREF(__pyx_tuple__3);

  /* "h5py/h5p.pyx":1355
 * 
 *             if not PyObject_CheckBuffer(image):
 *                 raise TypeError("image must support the buffer protocol")             # <<<<<<<<<<<<<<
 * 
 *             PyObject_GetBuffer(image, &buf, PyBUF_SIMPLE)
 */
  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_image_must_support_the_buffer_pr); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 1355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__4);
  __Pyx_GIVEREF(__pyx_tuple__4);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__5);
  __Pyx_GIVEREF(__pyx_tuple__5);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__6);
  __Pyx_GIVEREF(__pyx_tuple__6);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 */
  __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 2, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__7);
  __Pyx_GIVEREF(__pyx_tuple__7);

  /* "(tree fragment)":4
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError("no default __reduce__ due to non-trivial __cinit__")             # <<<<<<<<<<<<<<
 */
  __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__8);
  __Pyx_GIVEREF(__pyx_tuple__8);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":945
 *         __pyx_import_array()
 *     except Exception:
 *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_umath() except -1:
 */
  __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(2, 945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__9);
  __Pyx_GIVEREF(__pyx_tuple__9);

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":951
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_ufunc() except -1:
 */
  __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_u_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(2, 951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__10);
  __Pyx_GIVEREF(__pyx_tuple__10);

  /* "h5py/h5p.pyx":124
 * 
 * @with_phil
 * def create(PropClassID cls not None):             # <<<<<<<<<<<<<<
 *     """(PropClassID cls) => PropID
 * 
 */
  __pyx_tuple__11 = PyTuple_Pack(2, __pyx_n_s_cls, __pyx_n_s_newid); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__11);
  __Pyx_GIVEREF(__pyx_tuple__11);
  __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_h5py_h5p_pyx, __pyx_n_s_create, 124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 124, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_tuple__13 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__13);
  __Pyx_GIVEREF(__pyx_tuple__13);
  __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__15 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__15);
  __Pyx_GIVEREF(__pyx_tuple__15);
  __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropClassID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__17 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__17);
  __Pyx_GIVEREF(__pyx_tuple__17);
  __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropInstanceID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__19 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__19);
  __Pyx_GIVEREF(__pyx_tuple__19);
  __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropCreateID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__21 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__21);
  __Pyx_GIVEREF(__pyx_tuple__21);
  __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropCopyID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__23 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__23);
  __Pyx_GIVEREF(__pyx_tuple__23);
  __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropFCID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__25 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__25);
  __Pyx_GIVEREF(__pyx_tuple__25);
  __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropDCID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__27 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__27);
  __Pyx_GIVEREF(__pyx_tuple__27);
  __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropFAID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__29 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__29);
  __Pyx_GIVEREF(__pyx_tuple__29);
  __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropLCID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__31 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__31);
  __Pyx_GIVEREF(__pyx_tuple__31);
  __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropTCID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__33 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__33);
  __Pyx_GIVEREF(__pyx_tuple__33);
  __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropGCID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__35 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__35);
  __Pyx_GIVEREF(__pyx_tuple__35);
  __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropOCID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_tuple__37 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__37);
  __Pyx_GIVEREF(__pyx_tuple__37);
  __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_PropDXID, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_int_115303368 = PyInt_FromLong(115303368L); if (unlikely(!__pyx_int_115303368)) __PYX_ERR(0, 1, __pyx_L1_error)
  return 0;
  __pyx_L1_error:;
  return -1;
}

static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/

static int __Pyx_modinit_global_init_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(void) {
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  if (__Pyx_ExportFunction("pdefault", (void (*)(void))__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ExportFunction("propwrap", (void (*)(void))__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_init_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
  /*--- Type init code ---*/
  __pyx_t_1 = PyImport_ImportModule("h5py._objects"); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType(__pyx_t_1, "h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_8_objects_ObjectID) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_type_4h5py_3h5p_PropID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropID) < 0) __PYX_ERR(0, 147, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropID, (PyObject *)&__pyx_type_4h5py_3h5p_PropID) < 0) __PYX_ERR(0, 147, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropID, __pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropID) < 0) __PYX_ERR(0, 147, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropID = &__pyx_type_4h5py_3h5p_PropID;
  __pyx_type_4h5py_3h5p_PropClassID.tp_base = __pyx_ptype_4h5py_3h5p_PropID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropClassID) < 0) __PYX_ERR(0, 178, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropClassID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropClassID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropClassID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropClassID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  #if CYTHON_COMPILING_IN_CPYTHON
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5p_PropClassID, "__hash__"); if (unlikely(!wrapper)) __PYX_ERR(0, 178, __pyx_L1_error)
    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
      __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__.doc = __pyx_doc_4h5py_3h5p_11PropClassID_2__hash__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__;
    }
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropClassID, (PyObject *)&__pyx_type_4h5py_3h5p_PropClassID) < 0) __PYX_ERR(0, 178, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropClassID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropClassID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropClassID, __pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropClassID) < 0) __PYX_ERR(0, 178, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropClassID = &__pyx_type_4h5py_3h5p_PropClassID;
  __pyx_type_4h5py_3h5p_PropInstanceID.tp_base = __pyx_ptype_4h5py_3h5p_PropID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropInstanceID) < 0) __PYX_ERR(0, 196, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropInstanceID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropInstanceID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropInstanceID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropInstanceID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropInstanceID, (PyObject *)&__pyx_type_4h5py_3h5p_PropInstanceID) < 0) __PYX_ERR(0, 196, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropInstanceID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropInstanceID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropInstanceID, __pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropInstanceID) < 0) __PYX_ERR(0, 196, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropInstanceID = &__pyx_type_4h5py_3h5p_PropInstanceID;
  __pyx_type_4h5py_3h5p_PropCreateID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropCreateID) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropCreateID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropCreateID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropCreateID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropCreateID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropCreateID, (PyObject *)&__pyx_type_4h5py_3h5p_PropCreateID) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropCreateID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropCreateID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropCreateID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropCreateID) < 0) __PYX_ERR(0, 224, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropCreateID = &__pyx_type_4h5py_3h5p_PropCreateID;
  __pyx_type_4h5py_3h5p_PropCopyID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropCopyID) < 0) __PYX_ERR(0, 232, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropCopyID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropCopyID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropCopyID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropCopyID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropCopyID, (PyObject *)&__pyx_type_4h5py_3h5p_PropCopyID) < 0) __PYX_ERR(0, 232, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropCopyID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropCopyID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropCopyID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropCopyID) < 0) __PYX_ERR(0, 232, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropCopyID = &__pyx_type_4h5py_3h5p_PropCopyID;
  __pyx_type_4h5py_3h5p_PropOCID.tp_base = __pyx_ptype_4h5py_3h5p_PropCreateID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropOCID) < 0) __PYX_ERR(0, 1596, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropOCID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropOCID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropOCID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropOCID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropOCID, (PyObject *)&__pyx_type_4h5py_3h5p_PropOCID) < 0) __PYX_ERR(0, 1596, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropOCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropOCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropOCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropOCID) < 0) __PYX_ERR(0, 1596, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropOCID = &__pyx_type_4h5py_3h5p_PropOCID;
  __pyx_type_4h5py_3h5p_PropDCID.tp_base = __pyx_ptype_4h5py_3h5p_PropOCID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropDCID) < 0) __PYX_ERR(0, 423, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropDCID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropDCID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropDCID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropDCID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropDCID, (PyObject *)&__pyx_type_4h5py_3h5p_PropDCID) < 0) __PYX_ERR(0, 423, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropDCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropDCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropDCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropDCID) < 0) __PYX_ERR(0, 423, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropDCID = &__pyx_type_4h5py_3h5p_PropDCID;
  __pyx_type_4h5py_3h5p_PropFCID.tp_base = __pyx_ptype_4h5py_3h5p_PropOCID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropFCID) < 0) __PYX_ERR(0, 279, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropFCID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropFCID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropFCID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropFCID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropFCID, (PyObject *)&__pyx_type_4h5py_3h5p_PropFCID) < 0) __PYX_ERR(0, 279, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropFCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropFCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropFCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropFCID) < 0) __PYX_ERR(0, 279, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropFCID = &__pyx_type_4h5py_3h5p_PropFCID;
  __pyx_type_4h5py_3h5p_PropFAID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropFAID) < 0) __PYX_ERR(0, 943, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropFAID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropFAID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropFAID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropFAID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropFAID, (PyObject *)&__pyx_type_4h5py_3h5p_PropFAID) < 0) __PYX_ERR(0, 943, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropFAID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropFAID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropFAID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropFAID) < 0) __PYX_ERR(0, 943, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropFAID = &__pyx_type_4h5py_3h5p_PropFAID;
  __pyx_type_4h5py_3h5p_PropDXID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropDXID) < 0) __PYX_ERR(0, 1813, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropDXID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropDXID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropDXID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropDXID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropDXID, (PyObject *)&__pyx_type_4h5py_3h5p_PropDXID) < 0) __PYX_ERR(0, 1813, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropDXID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropDXID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropDXID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropDXID) < 0) __PYX_ERR(0, 1813, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropDXID = &__pyx_type_4h5py_3h5p_PropDXID;
  __pyx_type_4h5py_3h5p_PropDAID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropDAID) < 0) __PYX_ERR(0, 1671, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropDAID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropDAID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropDAID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropDAID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropDAID, (PyObject *)&__pyx_type_4h5py_3h5p_PropDAID) < 0) __PYX_ERR(0, 1671, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropDAID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropDAID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropDAID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropDAID) < 0) __PYX_ERR(0, 1671, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropDAID = &__pyx_type_4h5py_3h5p_PropDAID;
  __pyx_type_4h5py_3h5p_PropLCID.tp_base = __pyx_ptype_4h5py_3h5p_PropCreateID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropLCID) < 0) __PYX_ERR(0, 1421, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropLCID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropLCID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropLCID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropLCID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropLCID, (PyObject *)&__pyx_type_4h5py_3h5p_PropLCID) < 0) __PYX_ERR(0, 1421, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropLCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropLCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropLCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropLCID) < 0) __PYX_ERR(0, 1421, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropLCID = &__pyx_type_4h5py_3h5p_PropLCID;
  __pyx_type_4h5py_3h5p_PropLAID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropLAID) < 0) __PYX_ERR(0, 1471, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropLAID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropLAID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropLAID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropLAID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropLAID, (PyObject *)&__pyx_type_4h5py_3h5p_PropLAID) < 0) __PYX_ERR(0, 1471, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropLAID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropLAID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropLAID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropLAID) < 0) __PYX_ERR(0, 1471, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropLAID = &__pyx_type_4h5py_3h5p_PropLAID;
  __pyx_type_4h5py_3h5p_PropGCID.tp_base = __pyx_ptype_4h5py_3h5p_PropOCID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropGCID) < 0) __PYX_ERR(0, 1570, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropGCID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropGCID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropGCID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropGCID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropGCID, (PyObject *)&__pyx_type_4h5py_3h5p_PropGCID) < 0) __PYX_ERR(0, 1570, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropGCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropGCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropGCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropGCID) < 0) __PYX_ERR(0, 1570, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropGCID = &__pyx_type_4h5py_3h5p_PropGCID;
  __pyx_type_4h5py_3h5p_PropTCID.tp_base = __pyx_ptype_4h5py_3h5p_PropOCID;
  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropTCID) < 0) __PYX_ERR(0, 1561, __pyx_L1_error)
  #if PY_VERSION_HEX < 0x030800B1
  __pyx_type_4h5py_3h5p_PropTCID.tp_print = 0;
  #endif
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_4h5py_3h5p_PropTCID.tp_dictoffset && __pyx_type_4h5py_3h5p_PropTCID.tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_type_4h5py_3h5p_PropTCID.tp_getattro = __Pyx_PyObject_GenericGetAttr;
  }
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_PropTCID, (PyObject *)&__pyx_type_4h5py_3h5p_PropTCID) < 0) __PYX_ERR(0, 1561, __pyx_L1_error)
  if (__pyx_type_4h5py_3h5p_PropTCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropTCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropTCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
  if (__Pyx_setup_reduce((PyObject*)&__pyx_type_4h5py_3h5p_PropTCID) < 0) __PYX_ERR(0, 1561, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5p_PropTCID = &__pyx_type_4h5py_3h5p_PropTCID;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", 
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyTypeObject),
  #else
  sizeof(PyHeapTypeObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore);
   if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 200, __pyx_L1_error)
  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Ignore);
   if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 223, __pyx_L1_error)
  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Ignore);
   if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 227, __pyx_L1_error)
  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore);
   if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 239, __pyx_L1_error)
  __pyx_ptype_5numpy_generic = __Pyx_ImportType(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_generic) __PYX_ERR(2, 771, __pyx_L1_error)
  __pyx_ptype_5numpy_number = __Pyx_ImportType(__pyx_t_1, "numpy", "number", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_number) __PYX_ERR(2, 773, __pyx_L1_error)
  __pyx_ptype_5numpy_integer = __Pyx_ImportType(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_integer) __PYX_ERR(2, 775, __pyx_L1_error)
  __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 777, __pyx_L1_error)
  __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 779, __pyx_L1_error)
  __pyx_ptype_5numpy_inexact = __Pyx_ImportType(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 781, __pyx_L1_error)
  __pyx_ptype_5numpy_floating = __Pyx_ImportType(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_floating) __PYX_ERR(2, 783, __pyx_L1_error)
  __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 785, __pyx_L1_error)
  __pyx_ptype_5numpy_flexible = __Pyx_ImportType(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 787, __pyx_L1_error)
  __pyx_ptype_5numpy_character = __Pyx_ImportType(__pyx_t_1, "numpy", "character", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_5numpy_character) __PYX_ERR(2, 789, __pyx_L1_error)
  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Ignore);
   if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("h5py.h5t"); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4h5py_3h5t_TypeID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeID) __PYX_ERR(4, 15, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeID)) __PYX_ERR(4, 15, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeArrayID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeArrayID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeArrayID) __PYX_ERR(4, 21, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeArrayID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeArrayID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeArrayID)) __PYX_ERR(4, 21, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeOpaqueID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeOpaqueID) __PYX_ERR(4, 24, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeOpaqueID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID)) __PYX_ERR(4, 24, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeStringID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeStringID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeStringID) __PYX_ERR(4, 27, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeStringID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeStringID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeStringID)) __PYX_ERR(4, 27, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeVlenID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeVlenID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeVlenID) __PYX_ERR(4, 31, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeVlenID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeVlenID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeVlenID)) __PYX_ERR(4, 31, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeTimeID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeTimeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeTimeID) __PYX_ERR(4, 35, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeTimeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeTimeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeTimeID)) __PYX_ERR(4, 35, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeBitfieldID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeBitfieldID) __PYX_ERR(4, 38, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeBitfieldID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID)) __PYX_ERR(4, 38, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeReferenceID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeReferenceID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeReferenceID) __PYX_ERR(4, 41, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeReferenceID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeReferenceID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeReferenceID)) __PYX_ERR(4, 41, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeAtomicID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeAtomicID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeAtomicID) __PYX_ERR(4, 46, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeAtomicID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeAtomicID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeAtomicID)) __PYX_ERR(4, 46, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeIntegerID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeIntegerID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeIntegerID) __PYX_ERR(4, 49, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeIntegerID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeIntegerID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeIntegerID)) __PYX_ERR(4, 49, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeFloatID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeFloatID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeFloatID) __PYX_ERR(4, 52, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeFloatID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeFloatID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeFloatID)) __PYX_ERR(4, 52, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeCompositeID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeCompositeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeCompositeID) __PYX_ERR(4, 57, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeCompositeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompositeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompositeID)) __PYX_ERR(4, 57, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeEnumID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeEnumID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeEnumID) __PYX_ERR(4, 60, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeEnumID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeEnumID)) __PYX_ERR(4, 60, __pyx_L1_error)
  __pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType(__pyx_t_1, "h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5t_TypeCompoundID) __PYX_ERR(4, 64, __pyx_L1_error)
  __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompoundID)) __PYX_ERR(4, 64, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("h5py.h5s"); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4h5py_3h5s_SpaceID = __Pyx_ImportType(__pyx_t_1, "h5py.h5s", "SpaceID", sizeof(struct __pyx_obj_4h5py_3h5s_SpaceID), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_3h5s_SpaceID) __PYX_ERR(5, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("h5py.h5ac"); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 13, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_ptype_4h5py_4h5ac_CacheConfig = __Pyx_ImportType(__pyx_t_1, "h5py.h5ac", "CacheConfig", sizeof(struct __pyx_obj_4h5py_4h5ac_CacheConfig), __Pyx_ImportType_CheckSize_Warn);
   if (!__pyx_ptype_4h5py_4h5ac_CacheConfig) __PYX_ERR(6, 13, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_variable_import_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  __pyx_t_1 = PyImport_ImportModule("h5py.h5t"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "H5PY_OBJ", (void **)&__pyx_vp_4h5py_3h5t_H5PY_OBJ, "hid_t") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "H5PY_PYTHON_OPAQUE_TAG", (void **)&__pyx_vp_4h5py_3h5t_H5PY_PYTHON_OPAQUE_TAG, "char *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_function_import_code(void) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __pyx_t_1 = PyImport_ImportModule("h5py.defs"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "hid_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_file_space_strategy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_file_space_strategy, "herr_t (hid_t, enum H5F_fspace_strategy_t, hbool_t, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_file_space_strategy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_file_space_strategy, "herr_t (hid_t, enum H5F_fspace_strategy_t *, hbool_t *, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_file_space_page_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_file_space_page_size, "herr_t (hid_t, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_file_space_page_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_file_space_page_size, "herr_t (hid_t, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, size_t *, size_t *, double *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_split", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_split, "herr_t (hid_t, char const *, hid_t, char const *, hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_driver, "herr_t (hid_t, hid_t, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_mdc_config", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_mdc_config", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_file_image", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_file_image, "herr_t (hid_t, void *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_page_buffer_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_page_buffer_size, "herr_t (hid_t, size_t, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_page_buffer_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_page_buffer_size, "herr_t (hid_t, size_t *, unsigned int *, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_file_locking", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_file_locking, "herr_t (hid_t, hbool_t *, hbool_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_file_locking", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_file_locking, "herr_t (hid_t, hbool_t, hbool_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_scaleoffset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_scaleoffset, "herr_t (hid_t, enum H5Z_SO_scale_type_t, int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_external, "herr_t (hid_t, char const *, off_t, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_external_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_external_count, "int (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_external, "herr_t (hid_t, unsigned int, size_t, char *, off_t *, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_dsetname", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_dsetname, "Py_ssize_t (hid_t, size_t, char *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_filename", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_filename, "Py_ssize_t (hid_t, size_t, char *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_count, "herr_t (hid_t, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_virtual", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_virtual, "herr_t (hid_t, hid_t, char const *, char const *, hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_vspace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_vspace, "hid_t (hid_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_srcspace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_srcspace, "hid_t (hid_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk_cache, "herr_t (hid_t, size_t, size_t, double)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk_cache, "herr_t (hid_t, size_t *, size_t *, double *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_virtual_view", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_virtual_view, "herr_t (hid_t, H5D_vds_view_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_view", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_view, "herr_t (hid_t, H5D_vds_view_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_virtual_printf_gap", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_virtual_printf_gap, "herr_t (hid_t, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_printf_gap", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_printf_gap, "herr_t (hid_t, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_virtual_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_virtual_prefix, "Py_ssize_t (hid_t, char *, Py_ssize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_virtual_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_virtual_prefix, "herr_t (hid_t, char *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_attr_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_attr_creation_order, "herr_t (hid_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_attr_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_attr_creation_order, "herr_t (hid_t, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_obj_track_times", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_obj_track_times, "herr_t (hid_t, hbool_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_obj_track_times", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_obj_track_times, "herr_t (hid_t, hbool_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_attr_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_attr_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_attr_phase_change", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_attr_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alignment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alignment, "herr_t (hid_t, hsize_t, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alignment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alignment, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("h5py.utils"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_ImportFunction(__pyx_t_1, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_ImportFunction(__pyx_t_1, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("h5py.h5t"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_ImportFunction(__pyx_t_1, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}


#ifndef CYTHON_NO_PYINIT_EXPORT
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
#else
#define __Pyx_PyMODINIT_FUNC PyObject *
#endif
#elif PY_MAJOR_VERSION < 3
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" void
#else
#define __Pyx_PyMODINIT_FUNC void
#endif
#else
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
#else
#define __Pyx_PyMODINIT_FUNC PyObject *
#endif
#endif


#if PY_MAJOR_VERSION < 3
__Pyx_PyMODINIT_FUNC inith5p(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC inith5p(void)
#else
__Pyx_PyMODINIT_FUNC PyInit_h5p(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_h5p(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
    #if PY_VERSION_HEX >= 0x030700A1
    static PY_INT64_T main_interpreter_id = -1;
    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
    if (main_interpreter_id == -1) {
        main_interpreter_id = current_id;
        return (unlikely(current_id == -1)) ? -1 : 0;
    } else if (unlikely(main_interpreter_id != current_id))
    #else
    static PyInterpreterState *main_interpreter = NULL;
    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
    if (!main_interpreter) {
        main_interpreter = current_interpreter;
    } else if (unlikely(main_interpreter != current_interpreter))
    #endif
    {
        PyErr_SetString(
            PyExc_ImportError,
            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
        return -1;
    }
    return 0;
}
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        if (allow_none || value != Py_None) {
            result = PyDict_SetItemString(moddict, to_name, value);
        }
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    if (__Pyx_check_single_interpreter())
        return NULL;
    if (__pyx_m)
        return __Pyx_NewRef(__pyx_m);
    modname = PyObject_GetAttrString(spec, "name");
    if (unlikely(!modname)) goto bad;
    module = PyModule_NewObject(modname);
    Py_DECREF(modname);
    if (unlikely(!module)) goto bad;
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static CYTHON_SMALL_CODE int __pyx_pymod_exec_h5p(PyObject *__pyx_pyinit_module)
#endif
#endif
{
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module 'h5p' has already been imported. Re-initialisation is not supported.");
    return -1;
  }
  #elif PY_MAJOR_VERSION >= 3
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  #if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
if (!__Pyx_RefNanny) {
  PyErr_Clear();
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
  if (!__Pyx_RefNanny)
      Py_FatalError("failed to import 'refnanny' module");
}
#endif
  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_h5p(void)", 0);
  if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #ifdef __Pxy_PyFrame_Initialize_Offsets
  __Pxy_PyFrame_Initialize_Offsets();
  #endif
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
  #ifdef __Pyx_CyFunction_USED
  if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Coroutine_USED
  if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_AsyncGen_USED
  if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #ifdef __Pyx_StopAsyncIteration_USED
  if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  PyEval_InitThreads();
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_m = __pyx_pyinit_module;
  Py_INCREF(__pyx_m);
  #else
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4("h5p", __pyx_methods, __pyx_k_HDF5_property_list_interface, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_d);
  __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_b);
  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_cython_runtime);
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  if (__pyx_module_is_main_h5py__h5p) {
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_2, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  }
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "h5py.h5p")) {
      if (unlikely(PyDict_SetItemString(modules, "h5py.h5p", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  #endif
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code();
  (void)__Pyx_modinit_variable_export_code();
  if (unlikely(__Pyx_modinit_function_export_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely(__Pyx_modinit_variable_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely(__Pyx_modinit_function_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Execution code ---*/
  #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
  if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif

  /* "h5py/h5p.pyx":32
 * 
 * # Python level imports
 * from ._objects import phil, with_phil             # <<<<<<<<<<<<<<
 * 
 * if MPI:
 */
  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_n_s_phil);
  __Pyx_GIVEREF(__pyx_n_s_phil);
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_phil);
  __Pyx_INCREF(__pyx_n_s_with_phil);
  __Pyx_GIVEREF(__pyx_n_s_with_phil);
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_with_phil);
  __pyx_t_2 = __Pyx_Import(__pyx_n_s_objects, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_phil, __pyx_t_1) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_with_phil, __pyx_t_1) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":41
 * 
 * # Initialization
 * import_array()             # <<<<<<<<<<<<<<
 * 
 * # === C API ===================================================================
 */
  __pyx_t_3 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 41, __pyx_L1_error)

  /* "h5py/h5p.pyx":98
 * 
 * 
 * NO_CLASS       = lockcls(H5P_NO_CLASS)             # <<<<<<<<<<<<<<
 * FILE_CREATE    = lockcls(H5P_FILE_CREATE)
 * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_NO_CLASS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_NO_CLASS, __pyx_t_2) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":99
 * 
 * NO_CLASS       = lockcls(H5P_NO_CLASS)
 * FILE_CREATE    = lockcls(H5P_FILE_CREATE)             # <<<<<<<<<<<<<<
 * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
 * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_FILE_CREATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_FILE_CREATE, __pyx_t_2) < 0) __PYX_ERR(0, 99, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":100
 * NO_CLASS       = lockcls(H5P_NO_CLASS)
 * FILE_CREATE    = lockcls(H5P_FILE_CREATE)
 * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)             # <<<<<<<<<<<<<<
 * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
 * DATASET_XFER   = lockcls(H5P_DATASET_XFER)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_FILE_ACCESS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_FILE_ACCESS, __pyx_t_2) < 0) __PYX_ERR(0, 100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":101
 * FILE_CREATE    = lockcls(H5P_FILE_CREATE)
 * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
 * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)             # <<<<<<<<<<<<<<
 * DATASET_XFER   = lockcls(H5P_DATASET_XFER)
 * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_DATASET_CREATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATASET_CREATE, __pyx_t_2) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":102
 * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
 * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
 * DATASET_XFER   = lockcls(H5P_DATASET_XFER)             # <<<<<<<<<<<<<<
 * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)
 * 
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_DATASET_XFER); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATASET_XFER, __pyx_t_2) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":103
 * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
 * DATASET_XFER   = lockcls(H5P_DATASET_XFER)
 * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)             # <<<<<<<<<<<<<<
 * 
 * OBJECT_COPY = lockcls(H5P_OBJECT_COPY)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_DATASET_ACCESS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATASET_ACCESS, __pyx_t_2) < 0) __PYX_ERR(0, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":105
 * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)
 * 
 * OBJECT_COPY = lockcls(H5P_OBJECT_COPY)             # <<<<<<<<<<<<<<
 * 
 * LINK_CREATE = lockcls(H5P_LINK_CREATE)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_OBJECT_COPY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_OBJECT_COPY, __pyx_t_2) < 0) __PYX_ERR(0, 105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":107
 * OBJECT_COPY = lockcls(H5P_OBJECT_COPY)
 * 
 * LINK_CREATE = lockcls(H5P_LINK_CREATE)             # <<<<<<<<<<<<<<
 * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)
 * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_LINK_CREATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LINK_CREATE, __pyx_t_2) < 0) __PYX_ERR(0, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":108
 * 
 * LINK_CREATE = lockcls(H5P_LINK_CREATE)
 * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)             # <<<<<<<<<<<<<<
 * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)
 * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_LINK_ACCESS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_LINK_ACCESS, __pyx_t_2) < 0) __PYX_ERR(0, 108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":109
 * LINK_CREATE = lockcls(H5P_LINK_CREATE)
 * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)
 * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)             # <<<<<<<<<<<<<<
 * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)
 * 
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_GROUP_CREATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_GROUP_CREATE, __pyx_t_2) < 0) __PYX_ERR(0, 109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":110
 * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)
 * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)
 * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)             # <<<<<<<<<<<<<<
 * 
 * CRT_ORDER_TRACKED = H5P_CRT_ORDER_TRACKED
 */
  __pyx_t_2 = __pyx_f_4h5py_3h5p_lockcls(H5P_OBJECT_CREATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_OBJECT_CREATE, __pyx_t_2) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":112
 * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)
 * 
 * CRT_ORDER_TRACKED = H5P_CRT_ORDER_TRACKED             # <<<<<<<<<<<<<<
 * CRT_ORDER_INDEXED = H5P_CRT_ORDER_INDEXED
 * 
 */
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(H5P_CRT_ORDER_TRACKED); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CRT_ORDER_TRACKED, __pyx_t_2) < 0) __PYX_ERR(0, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":113
 * 
 * CRT_ORDER_TRACKED = H5P_CRT_ORDER_TRACKED
 * CRT_ORDER_INDEXED = H5P_CRT_ORDER_INDEXED             # <<<<<<<<<<<<<<
 * 
 * DEFAULT = None   # In the HDF5 header files this is actually 0, which is an
 */
  __pyx_t_2 = __Pyx_PyInt_From_hid_t(H5P_CRT_ORDER_INDEXED); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_CRT_ORDER_INDEXED, __pyx_t_2) < 0) __PYX_ERR(0, 113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "h5py/h5p.pyx":115
 * CRT_ORDER_INDEXED = H5P_CRT_ORDER_INDEXED
 * 
 * DEFAULT = None   # In the HDF5 header files this is actually 0, which is an             # <<<<<<<<<<<<<<
 *                  # invalid identifier.  The new strategy for default options
 *                  # is to make them all None, to better match the Python style
 */
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT, Py_None) < 0) __PYX_ERR(0, 115, __pyx_L1_error)

  /* "h5py/h5p.pyx":123
 * # === Property list functional API ============================================
 * 
 * @with_phil             # <<<<<<<<<<<<<<
 * def create(PropClassID cls not None):
 *     """(PropClassID cls) => PropID
 */
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "h5py/h5p.pyx":124
 * 
 * @with_phil
 * def create(PropClassID cls not None):             # <<<<<<<<<<<<<<
 *     """(PropClassID cls) => PropID
 * 
 */
  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_1create, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":123
 * # === Property list functional API ============================================
 * 
 * @with_phil             # <<<<<<<<<<<<<<
 * def create(PropClassID cls not None):
 *     """(PropClassID cls) => PropID
 */
  __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_create, __pyx_t_4) < 0) __PYX_ERR(0, 124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5p.pyx":154
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def equal(self, PropID plist not None):
 *         """(PropID plist) => BOOL
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":155
 * 
 *     @with_phil
 *     def equal(self, PropID plist not None):             # <<<<<<<<<<<<<<
 *         """(PropID plist) => BOOL
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropID, __pyx_n_s_equal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropID->tp_dict, __pyx_n_s_equal, __pyx_t_4) < 0) __PYX_ERR(0, 155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropID);

  /* "h5py/h5p.pyx":207
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def copy(self):
 *         """() => PropList newid
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":208
 * 
 *     @with_phil
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         """() => PropList newid
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropInstanceID, __pyx_n_s_copy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropInstanceID->tp_dict, __pyx_n_s_copy, __pyx_t_4) < 0) __PYX_ERR(0, 208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropInstanceID);

  /* "h5py/h5p.pyx":239
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_copy_object(self, unsigned int flags):
 *         """(UINT flags)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":240
 * 
 *     @with_phil
 *     def set_copy_object(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """(UINT flags)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropCopyID, __pyx_n_s_set_copy_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropCopyID->tp_dict, __pyx_n_s_set_copy_object, __pyx_t_4) < 0) __PYX_ERR(0, 240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropCopyID);

  /* "h5py/h5p.pyx":264
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_copy_object(self):
 *         """() => UINT flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":265
 * 
 *     @with_phil
 *     def get_copy_object(self):             # <<<<<<<<<<<<<<
 *         """() => UINT flags
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropCopyID, __pyx_n_s_get_copy_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropCopyID->tp_dict, __pyx_n_s_get_copy_object, __pyx_t_4) < 0) __PYX_ERR(0, 265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropCopyID);

  /* "h5py/h5p.pyx":286
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_version(self):
 *         """() => TUPLE version_info
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":287
 * 
 *     @with_phil
 *     def get_version(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE version_info
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_get_version); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_get_version, __pyx_t_4) < 0) __PYX_ERR(0, 287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":309
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_userblock(self, hsize_t size):
 *         """(INT/LONG size)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":310
 * 
 *     @with_phil
 *     def set_userblock(self, hsize_t size):             # <<<<<<<<<<<<<<
 *         """(INT/LONG size)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_set_userblock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_set_userblock, __pyx_t_4) < 0) __PYX_ERR(0, 310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":319
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_userblock(self):
 *         """() => LONG size
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":320
 * 
 *     @with_phil
 *     def get_userblock(self):             # <<<<<<<<<<<<<<
 *         """() => LONG size
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_get_userblock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_get_userblock, __pyx_t_4) < 0) __PYX_ERR(0, 320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":330
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_sizes(self, size_t addr, size_t size):
 *         """(UINT addr, UINT size)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":331
 * 
 *     @with_phil
 *     def set_sizes(self, size_t addr, size_t size):             # <<<<<<<<<<<<<<
 *         """(UINT addr, UINT size)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_set_sizes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_set_sizes, __pyx_t_4) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":340
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_sizes(self):
 *         """() => TUPLE sizes
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":341
 * 
 *     @with_phil
 *     def get_sizes(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE sizes
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_get_sizes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_get_sizes, __pyx_t_4) < 0) __PYX_ERR(0, 341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":356
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_link_creation_order(self, unsigned int flags):
 *         """ (UINT flags)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":357
 * 
 *     @with_phil
 *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_set_link_creation_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_set_link_creation_order, __pyx_t_4) < 0) __PYX_ERR(0, 357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":367
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_link_creation_order(self):
 *         """ () -> UINT flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":368
 * 
 *     @with_phil
 *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_get_link_creation_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_get_link_creation_order, __pyx_t_4) < 0) __PYX_ERR(0, 368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":378
 * 
 *     if HDF5_VERSION >= (1, 10, 1):
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_file_space_strategy(self, unsigned int strategy, bint persist,
 *                 unsigned long long threshold):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":379
 *     if HDF5_VERSION >= (1, 10, 1):
 *         @with_phil
 *         def set_file_space_strategy(self, unsigned int strategy, bint persist,             # <<<<<<<<<<<<<<
 *                 unsigned long long threshold):
 *             """ (UINT strategy, BOOL persist, ULONGLONG threshold)
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_set_file_space_strategy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_set_file_space_strategy, __pyx_t_4) < 0) __PYX_ERR(0, 379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":388
 *                     <hbool_t>persist, <hsize_t>threshold)
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_file_space_strategy(self):
 *             """ () => TUPLE(UINT strategy, BOOL persist, ULONGLONG threshold)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":389
 * 
 *         @with_phil
 *         def get_file_space_strategy(self):             # <<<<<<<<<<<<<<
 *             """ () => TUPLE(UINT strategy, BOOL persist, ULONGLONG threshold)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_get_file_space_strategy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_get_file_space_strategy, __pyx_t_4) < 0) __PYX_ERR(0, 389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":402
 *             return (strategy, persist, threshold)
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_file_space_page_size(self, hsize_t fsp_size):
 *             """ (LONG fsp_size)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":403
 * 
 *         @with_phil
 *         def set_file_space_page_size(self, hsize_t fsp_size):             # <<<<<<<<<<<<<<
 *             """ (LONG fsp_size)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_set_file_space_page_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_set_file_space_page_size, __pyx_t_4) < 0) __PYX_ERR(0, 403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":412
 *             H5Pset_file_space_page_size(self.id, <hsize_t>fsp_size)
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_file_space_page_size(self):
 *             """ () -> LONG fsp_size
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":413
 * 
 *         @with_phil
 *         def get_file_space_page_size(self):             # <<<<<<<<<<<<<<
 *             """ () -> LONG fsp_size
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID, __pyx_n_s_get_file_space_page_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFCID->tp_dict, __pyx_n_s_get_file_space_page_size, __pyx_t_4) < 0) __PYX_ERR(0, 413, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFCID);

  /* "h5py/h5p.pyx":429
 *     """
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_layout(self, int layout_code):
 *         """(INT layout_code)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":430
 * 
 *     @with_phil
 *     def set_layout(self, int layout_code):             # <<<<<<<<<<<<<<
 *         """(INT layout_code)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_layout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_layout, __pyx_t_4) < 0) __PYX_ERR(0, 430, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":443
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_layout(self):
 *         """() => INT layout_code
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":444
 * 
 *     @with_phil
 *     def get_layout(self):             # <<<<<<<<<<<<<<
 *         """() => INT layout_code
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_layout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_layout, __pyx_t_4) < 0) __PYX_ERR(0, 444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":456
 *         return <int>H5Pget_layout(self.id)
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_chunk(self, object chunksize):
 *         """(TUPLE chunksize)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":457
 * 
 *     @with_phil
 *     def set_chunk(self, object chunksize):             # <<<<<<<<<<<<<<
 *         """(TUPLE chunksize)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_chunk); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_chunk, __pyx_t_4) < 0) __PYX_ERR(0, 457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":478
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_chunk(self):
 *         """() => TUPLE chunk_dimensions
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":479
 * 
 *     @with_phil
 *     def get_chunk(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE chunk_dimensions
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_chunk); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_chunk, __pyx_t_4) < 0) __PYX_ERR(0, 479, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":499
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fill_value(self, ndarray value not None):
 *         """(NDARRAY value)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":500
 * 
 *     @with_phil
 *     def set_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
 *         """(NDARRAY value)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_fill_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_fill_value, __pyx_t_4) < 0) __PYX_ERR(0, 500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":514
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_fill_value(self, ndarray value not None):
 *         """(NDARRAY value)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":515
 * 
 *     @with_phil
 *     def get_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
 *         """(NDARRAY value)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_fill_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 515, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_fill_value, __pyx_t_4) < 0) __PYX_ERR(0, 515, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":529
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def fill_value_defined(self):
 *         """() => INT fill_status
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":530
 * 
 *     @with_phil
 *     def fill_value_defined(self):             # <<<<<<<<<<<<<<
 *         """() => INT fill_status
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_fill_value_defined); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_fill_value_defined, __pyx_t_4) < 0) __PYX_ERR(0, 530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":544
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fill_time(self, int fill_time):
 *         """(INT fill_time)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":545
 * 
 *     @with_phil
 *     def set_fill_time(self, int fill_time):             # <<<<<<<<<<<<<<
 *         """(INT fill_time)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_fill_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 544, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_fill_time, __pyx_t_4) < 0) __PYX_ERR(0, 545, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":558
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_fill_time(self):
 *         """ () => INT
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":559
 * 
 *     @with_phil
 *     def get_fill_time(self):             # <<<<<<<<<<<<<<
 *         """ () => INT
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_fill_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_fill_time, __pyx_t_4) < 0) __PYX_ERR(0, 559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":574
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_alloc_time(self, int alloc_time):
 *         """(INT alloc_time)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":575
 * 
 *     @with_phil
 *     def set_alloc_time(self, int alloc_time):             # <<<<<<<<<<<<<<
 *         """(INT alloc_time)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_alloc_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_alloc_time, __pyx_t_4) < 0) __PYX_ERR(0, 575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":583
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_alloc_time(self):
 *         """() => INT alloc_time
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":584
 * 
 *     @with_phil
 *     def get_alloc_time(self):             # <<<<<<<<<<<<<<
 *         """() => INT alloc_time
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_alloc_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_alloc_time, __pyx_t_4) < 0) __PYX_ERR(0, 584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":596
 *     # === Filter functions ====================================================
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_filter(self, int filter_code, unsigned int flags=0, object values=None):
 *         """(INT filter_code, UINT flags=0, TUPLE values=None)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":597
 * 
 *     @with_phil
 *     def set_filter(self, int filter_code, unsigned int flags=0, object values=None):             # <<<<<<<<<<<<<<
 *         """(INT filter_code, UINT flags=0, TUPLE values=None)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_filter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_filter, __pyx_t_4) < 0) __PYX_ERR(0, 597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":639
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def all_filters_avail(self):
 *         """() => BOOL
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":640
 * 
 *     @with_phil
 *     def all_filters_avail(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_all_filters_avail); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_all_filters_avail, __pyx_t_4) < 0) __PYX_ERR(0, 640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":649
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_nfilters(self):
 *         """() => INT
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":650
 * 
 *     @with_phil
 *     def get_nfilters(self):             # <<<<<<<<<<<<<<
 *         """() => INT
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_nfilters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_nfilters, __pyx_t_4) < 0) __PYX_ERR(0, 650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":658
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_filter(self, int filter_idx):
 *         """(UINT filter_idx) => TUPLE filter_info
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":659
 * 
 *     @with_phil
 *     def get_filter(self, int filter_idx):             # <<<<<<<<<<<<<<
 *         """(UINT filter_idx) => TUPLE filter_info
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_filter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_filter, __pyx_t_4) < 0) __PYX_ERR(0, 659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":693
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def _has_filter(self, int filter_code):
 *         """(INT filter_code)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":694
 * 
 *     @with_phil
 *     def _has_filter(self, int filter_code):             # <<<<<<<<<<<<<<
 *         """(INT filter_code)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_has_filter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_has_filter, __pyx_t_4) < 0) __PYX_ERR(0, 694, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":709
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_filter_by_id(self, int filter_code):
 *         """(INT filter_code) => TUPLE filter_info or None
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":710
 * 
 *     @with_phil
 *     def get_filter_by_id(self, int filter_code):             # <<<<<<<<<<<<<<
 *         """(INT filter_code) => TUPLE filter_info or None
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_filter_by_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_filter_by_id, __pyx_t_4) < 0) __PYX_ERR(0, 710, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":747
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def remove_filter(self, int filter_class):
 *         """(INT filter_class)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":748
 * 
 *     @with_phil
 *     def remove_filter(self, int filter_class):             # <<<<<<<<<<<<<<
 *         """(INT filter_class)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_remove_filter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_remove_filter, __pyx_t_4) < 0) __PYX_ERR(0, 748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":757
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_deflate(self, unsigned int level=5):
 *         """(UINT level=5)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":758
 * 
 *     @with_phil
 *     def set_deflate(self, unsigned int level=5):             # <<<<<<<<<<<<<<
 *         """(UINT level=5)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_deflate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_deflate, __pyx_t_4) < 0) __PYX_ERR(0, 758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":767
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fletcher32(self):
 *         """()
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":768
 * 
 *     @with_phil
 *     def set_fletcher32(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_fletcher32); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 768, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_fletcher32, __pyx_t_4) < 0) __PYX_ERR(0, 768, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":776
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_shuffle(self):
 *         """()
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":777
 * 
 *     @with_phil
 *     def set_shuffle(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_shuffle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_shuffle, __pyx_t_4) < 0) __PYX_ERR(0, 777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":786
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_szip(self, unsigned int options, unsigned int pixels_per_block):
 *         """(UINT options, UINT pixels_per_block)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":787
 * 
 *     @with_phil
 *     def set_szip(self, unsigned int options, unsigned int pixels_per_block):             # <<<<<<<<<<<<<<
 *         """(UINT options, UINT pixels_per_block)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_szip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_szip, __pyx_t_4) < 0) __PYX_ERR(0, 787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":796
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_scaleoffset(self, H5Z_SO_scale_type_t scale_type, int scale_factor):
 *         '''(H5Z_SO_scale_type_t scale_type, INT scale_factor)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":797
 * 
 *     @with_phil
 *     def set_scaleoffset(self, H5Z_SO_scale_type_t scale_type, int scale_factor):             # <<<<<<<<<<<<<<
 *         '''(H5Z_SO_scale_type_t scale_type, INT scale_factor)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_scaleoffset); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_scaleoffset, __pyx_t_4) < 0) __PYX_ERR(0, 797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":811
 *     # === External dataset functions ===========================================
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_external(self, name, offset, size):
 *         '''(STR name, UINT offset, UINT size)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":812
 * 
 *     @with_phil
 *     def set_external(self, name, offset, size):             # <<<<<<<<<<<<<<
 *         '''(STR name, UINT offset, UINT size)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_external); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_external, __pyx_t_4) < 0) __PYX_ERR(0, 812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":822
 *         H5Pset_external(self.id, name, offset, size)
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_external_count(self):
 *         """() => INT
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":823
 * 
 *     @with_phil
 *     def get_external_count(self):             # <<<<<<<<<<<<<<
 *         """() => INT
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_external_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_external_count, __pyx_t_4) < 0) __PYX_ERR(0, 823, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":830
 *         return <int>(H5Pget_external_count(self.id))
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_external(self, idx=0):
 *         """(UINT idx=0) => TUPLE external_file_info
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":831
 * 
 *     @with_phil
 *     def get_external(self, idx=0):             # <<<<<<<<<<<<<<
 *         """(UINT idx=0) => TUPLE external_file_info
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_external); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_external, __pyx_t_4) < 0) __PYX_ERR(0, 831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":858
 *     IF HDF5_VERSION >= VDS_MIN_HDF5_VERSION:
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_virtual(self, SpaceID vspace not None, char* src_file_name,
 *                         char* src_dset_name, SpaceID src_space not None):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":859
 * 
 *         @with_phil
 *         def set_virtual(self, SpaceID vspace not None, char* src_file_name,             # <<<<<<<<<<<<<<
 *                         char* src_dset_name, SpaceID src_space not None):
 *             """(SpaceID vspace, STR src_file_name, STR src_dset_name, SpaceID src_space)
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_set_virtual); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_set_virtual, __pyx_t_4) < 0) __PYX_ERR(0, 859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":872
 *             H5Pset_virtual(self.id, vspace.id, src_file_name, src_dset_name, src_space.id)
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_count(self):
 *             """() => UINT
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":873
 * 
 *         @with_phil
 *         def get_virtual_count(self):             # <<<<<<<<<<<<<<
 *             """() => UINT
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_virtual_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_virtual_count, __pyx_t_4) < 0) __PYX_ERR(0, 873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":882
 *             return count
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_dsetname(self, size_t index=0):
 *             """(UINT index=0) => STR
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":883
 * 
 *         @with_phil
 *         def get_virtual_dsetname(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => STR
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_virtual_dsetname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_virtual_dsetname, __pyx_t_4) < 0) __PYX_ERR(0, 883, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":903
 *             return src_dset_name
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_filename(self, size_t index=0):
 *             """(UINT index=0) => STR
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":904
 * 
 *         @with_phil
 *         def get_virtual_filename(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => STR
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_virtual_filename); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 903, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_virtual_filename, __pyx_t_4) < 0) __PYX_ERR(0, 904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":924
 *             return src_fname
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_vspace(self, size_t index=0):
 *             """(UINT index=0) => SpaceID
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":925
 * 
 *         @with_phil
 *         def get_virtual_vspace(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => SpaceID
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_virtual_vspace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_virtual_vspace, __pyx_t_4) < 0) __PYX_ERR(0, 925, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":933
 *             return SpaceID(H5Pget_virtual_vspace(self.id, index))
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_srcspace(self, size_t index=0):
 *             """(UINT index=0) => SpaceID
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":934
 * 
 *         @with_phil
 *         def get_virtual_srcspace(self, size_t index=0):             # <<<<<<<<<<<<<<
 *             """(UINT index=0) => SpaceID
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID, __pyx_n_s_get_virtual_srcspace); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDCID->tp_dict, __pyx_n_s_get_virtual_srcspace, __pyx_t_4) < 0) __PYX_ERR(0, 934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDCID);

  /* "h5py/h5p.pyx":950
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fclose_degree(self, int close_degree):
 *         """(INT close_degree)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":951
 * 
 *     @with_phil
 *     def set_fclose_degree(self, int close_degree):             # <<<<<<<<<<<<<<
 *         """(INT close_degree)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fclose_degree); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fclose_degree, __pyx_t_4) < 0) __PYX_ERR(0, 951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":965
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_fclose_degree(self):
 *         """() => INT close_degree
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":966
 * 
 *     @with_phil
 *     def get_fclose_degree(self):             # <<<<<<<<<<<<<<
 *         """() => INT close_degree
 *         - h5fd.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_fclose_degree); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 966, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_fclose_degree, __pyx_t_4) < 0) __PYX_ERR(0, 966, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":982
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1):
 *         """(UINT increment=64k, BOOL backing_store=True)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":983
 * 
 *     @with_phil
 *     def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1):             # <<<<<<<<<<<<<<
 *         """(UINT increment=64k, BOOL backing_store=True)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fapl_core); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 982, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fapl_core, __pyx_t_4) < 0) __PYX_ERR(0, 983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":999
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_fapl_core(self):
 *         """() => TUPLE core_settings
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1000
 * 
 *     @with_phil
 *     def get_fapl_core(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE core_settings
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_fapl_core); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_fapl_core, __pyx_t_4) < 0) __PYX_ERR(0, 1000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1016
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fapl_family(self, hsize_t memb_size=2147483647, PropID memb_fapl=None):
 *         """(UINT memb_size=2**31-1, PropFAID memb_fapl=None)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1017
 * 
 *     @with_phil
 *     def set_fapl_family(self, hsize_t memb_size=2147483647, PropID memb_fapl=None):             # <<<<<<<<<<<<<<
 *         """(UINT memb_size=2**31-1, PropFAID memb_fapl=None)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fapl_family); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1017, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1016, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fapl_family, __pyx_t_4) < 0) __PYX_ERR(0, 1017, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1033
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_fapl_family(self):
 *         """() => TUPLE info
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1034
 * 
 *     @with_phil
 *     def get_fapl_family(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE info
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_fapl_family); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1034, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1033, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_fapl_family, __pyx_t_4) < 0) __PYX_ERR(0, 1034, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1087
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size):
 *         """(STRING logfile, UINT flags, UINT buf_size)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1088
 * 
 *     @with_phil
 *     def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size):             # <<<<<<<<<<<<<<
 *         """(STRING logfile, UINT flags, UINT buf_size)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fapl_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fapl_log, __pyx_t_4) < 0) __PYX_ERR(0, 1088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1097
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fapl_sec2(self):
 *         """()
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1098
 * 
 *     @with_phil
 *     def set_fapl_sec2(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fapl_sec2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fapl_sec2, __pyx_t_4) < 0) __PYX_ERR(0, 1098, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1106
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fapl_stdio(self):
 *         """()
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1107
 * 
 *     @with_phil
 *     def set_fapl_stdio(self):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fapl_stdio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fapl_stdio, __pyx_t_4) < 0) __PYX_ERR(0, 1107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1114
 *         H5Pset_fapl_stdio(self.id)
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fapl_split(self, const char* meta_ext="-m.h5", PropID meta_plist_id=None, const char* raw_ext="-r.h5", PropID raw_plist_id=None):
 *         """()
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1115
 * 
 *     @with_phil
 *     def set_fapl_split(self, const char* meta_ext="-m.h5", PropID meta_plist_id=None, const char* raw_ext="-r.h5", PropID raw_plist_id=None):             # <<<<<<<<<<<<<<
 *         """()
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fapl_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fapl_split, __pyx_t_4) < 0) __PYX_ERR(0, 1115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1123
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_driver(self, hid_t driver_id):
 *         """(INT driver_id)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1124
 * 
 *     @with_phil
 *     def set_driver(self, hid_t driver_id):             # <<<<<<<<<<<<<<
 *         """(INT driver_id)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_driver); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_driver, __pyx_t_4) < 0) __PYX_ERR(0, 1124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1133
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_fileobj_driver(self, hid_t driver_id, object fileobj):
 *         """(INT driver_id, OBJECT fileobj)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1134
 * 
 *     @with_phil
 *     def set_fileobj_driver(self, hid_t driver_id, object fileobj):             # <<<<<<<<<<<<<<
 *         """(INT driver_id, OBJECT fileobj)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_fileobj_driver); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_fileobj_driver, __pyx_t_4) < 0) __PYX_ERR(0, 1134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1142
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_driver(self):
 *         """() => INT driver code
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1143
 * 
 *     @with_phil
 *     def get_driver(self):             # <<<<<<<<<<<<<<
 *         """() => INT driver code
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_driver); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_driver, __pyx_t_4) < 0) __PYX_ERR(0, 1143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1162
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0):
 *         """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1163
 * 
 *     @with_phil
 *     def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
 *         """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_cache, __pyx_t_4) < 0) __PYX_ERR(0, 1163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1172
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_cache(self):
 *         """() => TUPLE cache info
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1173
 * 
 *     @with_phil
 *     def get_cache(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE cache info
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_cache, __pyx_t_4) < 0) __PYX_ERR(0, 1173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1192
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_sieve_buf_size(self, size_t size):
 *         """ (UINT size)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1193
 * 
 *     @with_phil
 *     def set_sieve_buf_size(self, size_t size):             # <<<<<<<<<<<<<<
 *         """ (UINT size)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_sieve_buf_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_sieve_buf_size, __pyx_t_4) < 0) __PYX_ERR(0, 1193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1203
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_sieve_buf_size(self):
 *         """ () => UINT size
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1204
 * 
 *     @with_phil
 *     def get_sieve_buf_size(self):             # <<<<<<<<<<<<<<
 *         """ () => UINT size
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_sieve_buf_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_sieve_buf_size, __pyx_t_4) < 0) __PYX_ERR(0, 1204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1214
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_libver_bounds(self, int low, int high):
 *         """ (INT low, INT high)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1215
 * 
 *     @with_phil
 *     def set_libver_bounds(self, int low, int high):             # <<<<<<<<<<<<<<
 *         """ (INT low, INT high)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_libver_bounds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_libver_bounds, __pyx_t_4) < 0) __PYX_ERR(0, 1215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1230
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_libver_bounds(self):
 *         """ () => (INT low, INT high)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1231
 * 
 *     @with_phil
 *     def get_libver_bounds(self):             # <<<<<<<<<<<<<<
 *         """ () => (INT low, INT high)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_libver_bounds); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_libver_bounds, __pyx_t_4) < 0) __PYX_ERR(0, 1231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1301
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_mdc_config(self):
 *         """() => CacheConfig
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1302
 * 
 *     @with_phil
 *     def get_mdc_config(self):             # <<<<<<<<<<<<<<
 *         """() => CacheConfig
 *         Returns an object that stores all the information about the meta-data cache
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_mdc_config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_mdc_config, __pyx_t_4) < 0) __PYX_ERR(0, 1302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1315
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_mdc_config(self, CacheConfig config not None):
 *         """(CacheConfig) => None
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1316
 * 
 *     @with_phil
 *     def set_mdc_config(self, CacheConfig config not None):             # <<<<<<<<<<<<<<
 *         """(CacheConfig) => None
 *         Returns an object that stores all the information about the meta-data cache
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_mdc_config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_mdc_config, __pyx_t_4) < 0) __PYX_ERR(0, 1316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1340
 *     IF HDF5_VERSION >= (1, 8, 9):
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_file_image(self, image):
 *             """
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1341
 * 
 *         @with_phil
 *         def set_file_image(self, image):             # <<<<<<<<<<<<<<
 *             """
 *             Copy a file image into the property list. Passing None releases
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_file_image); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_file_image, __pyx_t_4) < 0) __PYX_ERR(0, 1341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1366
 *     IF HDF5_VERSION >= (1, 10, 1):
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_page_buffer_size(self, size_t buf_size, unsigned int min_meta_per=0,
 *                                  unsigned int min_raw_per=0):
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1367
 * 
 *         @with_phil
 *         def set_page_buffer_size(self, size_t buf_size, unsigned int min_meta_per=0,             # <<<<<<<<<<<<<<
 *                                  unsigned int min_raw_per=0):
 *             """ (LONG buf_size, UINT min_meta_per, UINT min_raw_per)
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_page_buffer_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_page_buffer_size, __pyx_t_4) < 0) __PYX_ERR(0, 1367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1382
 *             H5Pset_page_buffer_size(self.id, buf_size, min_meta_per, min_raw_per)
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_page_buffer_size(self):
 *             """ () -> (LONG buf_size, UINT min_meta_per, UINT min_raw_per)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1383
 * 
 *         @with_phil
 *         def get_page_buffer_size(self):             # <<<<<<<<<<<<<<
 *             """ () -> (LONG buf_size, UINT min_meta_per, UINT min_raw_per)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_page_buffer_size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_page_buffer_size, __pyx_t_4) < 0) __PYX_ERR(0, 1383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1396
 *     IF HDF5_VERSION >= (1, 12, 1) or (HDF5_VERSION[:2] == (1, 10) and HDF5_VERSION[2] >= 7):
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_file_locking(self):
 *             """ () => (BOOL, BOOL)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1397
 * 
 *         @with_phil
 *         def get_file_locking(self):             # <<<<<<<<<<<<<<
 *             """ () => (BOOL, BOOL)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_get_file_locking); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_get_file_locking, __pyx_t_4) < 0) __PYX_ERR(0, 1397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1409
 *             return use_file_locking, ignore_when_disabled
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_file_locking(self, bint use_file_locking, bint ignore_when_disabled):
 *             """ (BOOL use_file_locking, BOOL ignore_when_disabled)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1410
 * 
 *         @with_phil
 *         def set_file_locking(self, bint use_file_locking, bint ignore_when_disabled):             # <<<<<<<<<<<<<<
 *             """ (BOOL use_file_locking, BOOL ignore_when_disabled)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID, __pyx_n_s_set_file_locking); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropFAID->tp_dict, __pyx_n_s_set_file_locking, __pyx_t_4) < 0) __PYX_ERR(0, 1410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropFAID);

  /* "h5py/h5p.pyx":1425
 *     """ Link creation property list """
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_char_encoding(self, int encoding):
 *         """ (INT encoding)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1426
 * 
 *     @with_phil
 *     def set_char_encoding(self, int encoding):             # <<<<<<<<<<<<<<
 *         """ (INT encoding)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID, __pyx_n_s_set_char_encoding); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID->tp_dict, __pyx_n_s_set_char_encoding, __pyx_t_4) < 0) __PYX_ERR(0, 1426, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLCID);

  /* "h5py/h5p.pyx":1437
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_char_encoding(self):
 *         """ () => INT encoding
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1438
 * 
 *     @with_phil
 *     def get_char_encoding(self):             # <<<<<<<<<<<<<<
 *         """ () => INT encoding
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID, __pyx_n_s_get_char_encoding); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID->tp_dict, __pyx_n_s_get_char_encoding, __pyx_t_4) < 0) __PYX_ERR(0, 1438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLCID);

  /* "h5py/h5p.pyx":1451
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_create_intermediate_group(self, bint create):
 *         """(BOOL create)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1452
 * 
 *     @with_phil
 *     def set_create_intermediate_group(self, bint create):             # <<<<<<<<<<<<<<
 *         """(BOOL create)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID, __pyx_n_s_set_create_intermediate_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID->tp_dict, __pyx_n_s_set_create_intermediate_group, __pyx_t_4) < 0) __PYX_ERR(0, 1452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLCID);

  /* "h5py/h5p.pyx":1460
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_create_intermediate_group(self):
 *         """() => BOOL
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1461
 * 
 *     @with_phil
 *     def get_create_intermediate_group(self):             # <<<<<<<<<<<<<<
 *         """() => BOOL
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID, __pyx_n_s_get_create_intermediate_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLCID->tp_dict, __pyx_n_s_get_create_intermediate_group, __pyx_t_4) < 0) __PYX_ERR(0, 1461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLCID);

  /* "h5py/h5p.pyx":1482
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_nlinks(self, size_t nlinks):
 *         """(UINT nlinks)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1483
 * 
 *     @with_phil
 *     def set_nlinks(self, size_t nlinks):             # <<<<<<<<<<<<<<
 *         """(UINT nlinks)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID, __pyx_n_s_set_nlinks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID->tp_dict, __pyx_n_s_set_nlinks, __pyx_t_4) < 0) __PYX_ERR(0, 1483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLAID);

  /* "h5py/h5p.pyx":1491
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_nlinks(self):
 *         """() => UINT
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1492
 * 
 *     @with_phil
 *     def get_nlinks(self):             # <<<<<<<<<<<<<<
 *         """() => UINT
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID, __pyx_n_s_get_nlinks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID->tp_dict, __pyx_n_s_get_nlinks, __pyx_t_4) < 0) __PYX_ERR(0, 1492, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLAID);

  /* "h5py/h5p.pyx":1502
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_elink_prefix(self, char* prefix):
 *         """(STRING prefix)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1503
 * 
 *     @with_phil
 *     def set_elink_prefix(self, char* prefix):             # <<<<<<<<<<<<<<
 *         """(STRING prefix)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID, __pyx_n_s_set_elink_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID->tp_dict, __pyx_n_s_set_elink_prefix, __pyx_t_4) < 0) __PYX_ERR(0, 1503, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLAID);

  /* "h5py/h5p.pyx":1519
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_elink_prefix(self):
 *         """() => STRING prefix
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1520
 * 
 *     @with_phil
 *     def get_elink_prefix(self):             # <<<<<<<<<<<<<<
 *         """() => STRING prefix
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID, __pyx_n_s_get_elink_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID->tp_dict, __pyx_n_s_get_elink_prefix, __pyx_t_4) < 0) __PYX_ERR(0, 1520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLAID);

  /* "h5py/h5p.pyx":1539
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_elink_fapl(self, PropID fapl not None):
 *         """ (PropFAID fapl)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1540
 * 
 *     @with_phil
 *     def set_elink_fapl(self, PropID fapl not None):             # <<<<<<<<<<<<<<
 *         """ (PropFAID fapl)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID, __pyx_n_s_set_elink_fapl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID->tp_dict, __pyx_n_s_set_elink_fapl, __pyx_t_4) < 0) __PYX_ERR(0, 1540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLAID);

  /* "h5py/h5p.pyx":1548
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_elink_fapl(self):
 *         """ () => PropFAID fapl
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1549
 * 
 *     @with_phil
 *     def get_elink_fapl(self):             # <<<<<<<<<<<<<<
 *         """ () => PropFAID fapl
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID, __pyx_n_s_get_elink_fapl); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropLAID->tp_dict, __pyx_n_s_get_elink_fapl, __pyx_t_4) < 0) __PYX_ERR(0, 1549, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropLAID);

  /* "h5py/h5p.pyx":1573
 *     """ Group creation property list """
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_link_creation_order(self, unsigned int flags):
 *         """ (UINT flags)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1574
 * 
 *     @with_phil
 *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropGCID, __pyx_n_s_set_link_creation_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropGCID->tp_dict, __pyx_n_s_set_link_creation_order, __pyx_t_4) < 0) __PYX_ERR(0, 1574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropGCID);

  /* "h5py/h5p.pyx":1584
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_link_creation_order(self):
 *         """ () -> UINT flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1585
 * 
 *     @with_phil
 *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropGCID, __pyx_n_s_get_link_creation_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropGCID->tp_dict, __pyx_n_s_get_link_creation_order, __pyx_t_4) < 0) __PYX_ERR(0, 1585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropGCID);

  /* "h5py/h5p.pyx":1605
 *     """
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_attr_creation_order(self, unsigned int flags):
 *         """ (UINT flags)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1606
 * 
 *     @with_phil
 *     def set_attr_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
 *         """ (UINT flags)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID, __pyx_n_s_set_attr_creation_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID->tp_dict, __pyx_n_s_set_attr_creation_order, __pyx_t_4) < 0) __PYX_ERR(0, 1606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropOCID);

  /* "h5py/h5p.pyx":1616
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_attr_creation_order(self):
 *         """ () -> UINT flags
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1617
 * 
 *     @with_phil
 *     def get_attr_creation_order(self):             # <<<<<<<<<<<<<<
 *         """ () -> UINT flags
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID, __pyx_n_s_get_attr_creation_order); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID->tp_dict, __pyx_n_s_get_attr_creation_order, __pyx_t_4) < 0) __PYX_ERR(0, 1617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropOCID);

  /* "h5py/h5p.pyx":1626
 *         return flags
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_attr_phase_change(self, max_compact=8, min_dense=6):
 *         """ (UINT max_compact, UINT min_dense)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1627
 * 
 *     @with_phil
 *     def set_attr_phase_change(self, max_compact=8, min_dense=6):             # <<<<<<<<<<<<<<
 *         """ (UINT max_compact, UINT min_dense)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID, __pyx_n_s_set_attr_phase_change); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID->tp_dict, __pyx_n_s_set_attr_phase_change, __pyx_t_4) < 0) __PYX_ERR(0, 1627, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropOCID);

  /* "h5py/h5p.pyx":1639
 *         H5Pset_attr_phase_change(self.id, max_compact, min_dense)
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_attr_phase_change(self):
 *         """ () -> (max_compact, min_dense)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1640
 * 
 *     @with_phil
 *     def get_attr_phase_change(self):             # <<<<<<<<<<<<<<
 *         """ () -> (max_compact, min_dense)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID, __pyx_n_s_get_attr_phase_change); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID->tp_dict, __pyx_n_s_get_attr_phase_change, __pyx_t_4) < 0) __PYX_ERR(0, 1640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropOCID);

  /* "h5py/h5p.pyx":1651
 *         return (max_compact, min_dense)
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_obj_track_times(self,track_times):
 *         """Sets the recording of times associated with an object."""
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1652
 * 
 *     @with_phil
 *     def set_obj_track_times(self,track_times):             # <<<<<<<<<<<<<<
 *         """Sets the recording of times associated with an object."""
 *         H5Pset_obj_track_times(self.id,track_times)
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID, __pyx_n_s_set_obj_track_times); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID->tp_dict, __pyx_n_s_set_obj_track_times, __pyx_t_4) < 0) __PYX_ERR(0, 1652, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropOCID);

  /* "h5py/h5p.pyx":1657
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_obj_track_times(self):
 *         """
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1658
 * 
 *     @with_phil
 *     def get_obj_track_times(self):             # <<<<<<<<<<<<<<
 *         """
 *         Determines whether times associated with an object are being recorded.
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID, __pyx_n_s_get_obj_track_times); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropOCID->tp_dict, __pyx_n_s_get_obj_track_times, __pyx_t_4) < 0) __PYX_ERR(0, 1658, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropOCID);

  /* "h5py/h5p.pyx":1681
 *         efree(self._virtual_prefix_buf)
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def set_chunk_cache(self, size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0):
 *         """(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1682
 * 
 *     @with_phil
 *     def set_chunk_cache(self, size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
 *         """(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_set_chunk_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_set_chunk_cache, __pyx_t_4) < 0) __PYX_ERR(0, 1682, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "h5py/h5p.pyx":1690
 * 
 * 
 *     @with_phil             # <<<<<<<<<<<<<<
 *     def get_chunk_cache(self):
 *         """() => TUPLE chunk cache info
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1691
 * 
 *     @with_phil
 *     def get_chunk_cache(self):             # <<<<<<<<<<<<<<
 *         """() => TUPLE chunk cache info
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_get_chunk_cache); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_get_chunk_cache, __pyx_t_4) < 0) __PYX_ERR(0, 1691, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "h5py/h5p.pyx":1711
 *     IF HDF5_VERSION >= VDS_MIN_HDF5_VERSION:
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_virtual_view(self, unsigned int view):
 *             """(UINT view)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1712
 * 
 *         @with_phil
 *         def set_virtual_view(self, unsigned int view):             # <<<<<<<<<<<<<<
 *             """(UINT view)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_set_virtual_view); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_set_virtual_view, __pyx_t_4) < 0) __PYX_ERR(0, 1712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "h5py/h5p.pyx":1731
 *             H5Pset_virtual_view(self.id, <H5D_vds_view_t>view)
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_view(self):
 *             """() => UINT view
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1732
 * 
 *         @with_phil
 *         def get_virtual_view(self):             # <<<<<<<<<<<<<<
 *             """() => UINT view
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_get_virtual_view); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_get_virtual_view, __pyx_t_4) < 0) __PYX_ERR(0, 1732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "h5py/h5p.pyx":1746
 *             return <unsigned int>view
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_virtual_printf_gap(self, hsize_t gap_size=0):
 *             """(LONG gap_size=0)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1747
 * 
 *         @with_phil
 *         def set_virtual_printf_gap(self, hsize_t gap_size=0):             # <<<<<<<<<<<<<<
 *             """(LONG gap_size=0)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_set_virtual_printf_gap); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_set_virtual_printf_gap, __pyx_t_4) < 0) __PYX_ERR(0, 1747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "h5py/h5p.pyx":1762
 *             H5Pset_virtual_printf_gap(self.id, gap_size)
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_printf_gap(self):
 *             """() => LONG gap_size
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1763
 * 
 *         @with_phil
 *         def get_virtual_printf_gap(self):             # <<<<<<<<<<<<<<
 *             """() => LONG gap_size
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_get_virtual_printf_gap); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_get_virtual_printf_gap, __pyx_t_4) < 0) __PYX_ERR(0, 1763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "h5py/h5p.pyx":1775
 * 
 *     if HDF5_VERSION >= (1, 10, 2):
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def get_virtual_prefix(self):
 *             """() => STR
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1776
 *     if HDF5_VERSION >= (1, 10, 2):
 *         @with_phil
 *         def get_virtual_prefix(self):             # <<<<<<<<<<<<<<
 *             """() => STR
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_get_virtual_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_get_virtual_prefix, __pyx_t_4) < 0) __PYX_ERR(0, 1776, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "h5py/h5p.pyx":1796
 *             return prefix
 * 
 *         @with_phil             # <<<<<<<<<<<<<<
 *         def set_virtual_prefix(self, char* prefix):
 *             """(STR prefix)
 */
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_with_phil); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);

  /* "h5py/h5p.pyx":1797
 * 
 *         @with_phil
 *         def set_virtual_prefix(self, char* prefix):             # <<<<<<<<<<<<<<
 *             """(STR prefix)
 * 
 */
  __Pyx_GetNameInClass(__pyx_t_2, (PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID, __pyx_n_s_set_virtual_prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_1, function);
    }
  }
  __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5p_PropDAID->tp_dict, __pyx_n_s_set_virtual_prefix, __pyx_t_4) < 0) __PYX_ERR(0, 1797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  PyType_Modified(__pyx_ptype_4h5py_3h5p_PropDAID);

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_3__pyx_unpickle_PropID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropID__set_state(<PropID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropID__set_state(PropID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_5__pyx_unpickle_PropClassID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropClassID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropInstanceID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_7__pyx_unpickle_PropInstanceID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropInstanceID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropInstanceID__set_state(<PropInstanceID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropInstanceID__set_state(PropInstanceID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_9__pyx_unpickle_PropCreateID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropCreateID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropCopyID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_11__pyx_unpickle_PropCopyID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropCopyID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropCopyID__set_state(<PropCopyID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropCopyID__set_state(PropCopyID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_13__pyx_unpickle_PropFCID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropFCID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropDCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_15__pyx_unpickle_PropDCID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropDCID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropDCID__set_state(<PropDCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropDCID__set_state(PropDCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_17__pyx_unpickle_PropFAID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropFAID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropLCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_19__pyx_unpickle_PropLCID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropLCID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropLCID__set_state(<PropLCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropLCID__set_state(PropLCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_21__pyx_unpickle_PropTCID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropTCID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropGCID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_23__pyx_unpickle_PropGCID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropGCID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":11
 *         __pyx_unpickle_PropGCID__set_state(<PropGCID> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PropGCID__set_state(PropGCID __pyx_result, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_result._hash = __pyx_state[0]; __pyx_result._pyid = __pyx_state[1]; __pyx_result.id = __pyx_state[2]; __pyx_result.locked = __pyx_state[3]
 *     if len(__pyx_state) > 4 and hasattr(__pyx_result, '__dict__'):
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_25__pyx_unpickle_PropOCID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropOCID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __pyx_unpickle_PropDXID(__pyx_type, long __pyx_checksum, __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_PickleError
 *     cdef object __pyx_result
 */
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_27__pyx_unpickle_PropDXID, NULL, __pyx_n_s_h5py_h5p); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_PropDXID, __pyx_t_4) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "h5py/h5p.pyx":1
 * # cython: language_level=3             # <<<<<<<<<<<<<<
 * # This file is part of h5py, a Python interface to the HDF5 library.
 * #
 */
  __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_4) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "../../../../../../usr/lib/python3.7/site-packages/numpy/__init__.pxd":1014
 * 
 * 
 * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the unit part of the dtype for a numpy datetime64 object.
 */

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  if (__pyx_m) {
    if (__pyx_d) {
      __Pyx_AddTraceback("init h5py.h5p", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    Py_CLEAR(__pyx_m);
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init h5py.h5p");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #elif PY_MAJOR_VERSION >= 3
  return __pyx_m;
  #else
  return;
  #endif
}

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule(modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, "RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* PyObjectGetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_getattr))
        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
    if (unlikely(!result)) {
        PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
            "name '%U' is not defined", name);
#else
            "name '%.200s' is not defined", PyString_AS_STRING(name));
#endif
    }
    return result;
}

/* PyCFunctionFastCall */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
    PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
    PyObject *self = PyCFunction_GET_SELF(func);
    int flags = PyCFunction_GET_FLAGS(func);
    assert(PyCFunction_Check(func));
    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
    assert(nargs >= 0);
    assert(nargs == 0 || args != NULL);
    /* _PyCFunction_FastCallDict() must not be called with an exception set,
       because it may clear it (directly or indirectly) and so the
       caller loses its exception */
    assert(!PyErr_Occurred());
    if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
        return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
    } else {
        return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
    }
}
#endif

/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL
static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
                                               PyObject *globals) {
    PyFrameObject *f;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject **fastlocals;
    Py_ssize_t i;
    PyObject *result;
    assert(globals != NULL);
    /* XXX Perhaps we should create a specialized
       PyFrame_New() that doesn't take locals, but does
       take builtins without sanity checking them.
       */
    assert(tstate != NULL);
    f = PyFrame_New(tstate, co, globals, NULL);
    if (f == NULL) {
        return NULL;
    }
    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
    for (i = 0; i < na; i++) {
        Py_INCREF(*args);
        fastlocals[i] = *args++;
    }
    result = PyEval_EvalFrameEx(f,0);
    ++tstate->recursion_depth;
    Py_DECREF(f);
    --tstate->recursion_depth;
    return result;
}
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
    PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
    PyObject *globals = PyFunction_GET_GLOBALS(func);
    PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
    PyObject *closure;
#if PY_MAJOR_VERSION >= 3
    PyObject *kwdefs;
#endif
    PyObject *kwtuple, **k;
    PyObject **d;
    Py_ssize_t nd;
    Py_ssize_t nk;
    PyObject *result;
    assert(kwargs == NULL || PyDict_Check(kwargs));
    nk = kwargs ? PyDict_Size(kwargs) : 0;
    if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
        return NULL;
    }
    if (
#if PY_MAJOR_VERSION >= 3
            co->co_kwonlyargcount == 0 &&
#endif
            likely(kwargs == NULL || nk == 0) &&
            co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
        if (argdefs == NULL && co->co_argcount == nargs) {
            result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
            goto done;
        }
        else if (nargs == 0 && argdefs != NULL
                 && co->co_argcount == Py_SIZE(argdefs)) {
            /* function called with no arguments, but all parameters have
               a default value: use default values as arguments .*/
            args = &PyTuple_GET_ITEM(argdefs, 0);
            result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
            goto done;
        }
    }
    if (kwargs != NULL) {
        Py_ssize_t pos, i;
        kwtuple = PyTuple_New(2 * nk);
        if (kwtuple == NULL) {
            result = NULL;
            goto done;
        }
        k = &PyTuple_GET_ITEM(kwtuple, 0);
        pos = i = 0;
        while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
            Py_INCREF(k[i]);
            Py_INCREF(k[i+1]);
            i += 2;
        }
        nk = i / 2;
    }
    else {
        kwtuple = NULL;
        k = NULL;
    }
    closure = PyFunction_GET_CLOSURE(func);
#if PY_MAJOR_VERSION >= 3
    kwdefs = PyFunction_GET_KW_DEFAULTS(func);
#endif
    if (argdefs != NULL) {
        d = &PyTuple_GET_ITEM(argdefs, 0);
        nd = Py_SIZE(argdefs);
    }
    else {
        d = NULL;
        nd = 0;
    }
#if PY_MAJOR_VERSION >= 3
    result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
                               args, (int)nargs,
                               k, (int)nk,
                               d, (int)nd, kwdefs, closure);
#else
    result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
                               args, (int)nargs,
                               k, (int)nk,
                               d, (int)nd, closure);
#endif
    Py_XDECREF(kwtuple);
done:
    Py_LeaveRecursiveCall();
    return result;
}
#endif
#endif

/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = PyCFunction_GET_FUNCTION(func);
    self = PyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
        return NULL;
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallOneArg */
#if CYTHON_COMPILING_IN_CPYTHON
static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_New(1);
    if (unlikely(!args)) return NULL;
    Py_INCREF(arg);
    PyTuple_SET_ITEM(args, 0, arg);
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, &arg, 1);
    }
#endif
    if (likely(PyCFunction_Check(func))) {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
            return __Pyx_PyObject_CallMethO(func, arg);
#if CYTHON_FAST_PYCCALL
        } else if (__Pyx_PyFastCFunction_Check(func)) {
            return __Pyx_PyCFunction_FastCall(func, &arg, 1);
#endif
        }
    }
    return __Pyx__PyObject_CallOneArg(func, arg);
}
#else
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *result;
    PyObject *args = PyTuple_Pack(1, arg);
    if (unlikely(!args)) return NULL;
    result = __Pyx_PyObject_Call(func, args, NULL);
    Py_DECREF(args);
    return result;
}
#endif

/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
}
#endif

/* RaiseException */
#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                        CYTHON_UNUSED PyObject *cause) {
    __Pyx_PyThreadState_declare
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    if (PyType_Check(type)) {
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        value = type;
        type = (PyObject*) Py_TYPE(type);
        Py_INCREF(type);
        if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: exception class must be a subclass of BaseException");
            goto raise_error;
        }
    }
    __Pyx_PyThreadState_assign
    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}
#else
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *instance_class = NULL;
        if (value && PyExceptionInstance_Check(value)) {
            instance_class = (PyObject*) Py_TYPE(value);
            if (instance_class != type) {
                int is_subclass = PyObject_IsSubclass(instance_class, type);
                if (!is_subclass) {
                    instance_class = NULL;
                } else if (unlikely(is_subclass == -1)) {
                    goto bad;
                } else {
                    type = instance_class;
                }
            }
        }
        if (!instance_class) {
            PyObject *args;
            if (!value)
                args = PyTuple_New(0);
            else if (PyTuple_Check(value)) {
                Py_INCREF(value);
                args = value;
            } else
                args = PyTuple_Pack(1, value);
            if (!args)
                goto bad;
            owned_instance = PyObject_Call(type, args, NULL);
            Py_DECREF(args);
            if (!owned_instance)
                goto bad;
            value = owned_instance;
            if (!PyExceptionInstance_Check(value)) {
                PyErr_Format(PyExc_TypeError,
                             "calling %R should have returned an instance of "
                             "BaseException, not %R",
                             type, Py_TYPE(value));
                goto bad;
            }
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause) {
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
#if CYTHON_COMPILING_IN_PYPY
        PyObject *tmp_type, *tmp_value, *tmp_tb;
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
        Py_INCREF(tb);
        PyErr_Restore(tmp_type, tmp_value, tb);
        Py_XDECREF(tmp_tb);
#else
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}
#endif

/* GetException */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
#endif
{
    PyObject *local_type, *local_value, *local_tb;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    #if PY_MAJOR_VERSION >= 3
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
    #endif
    Py_XINCREF(local_tb);
    Py_XINCREF(local_type);
    Py_XINCREF(local_value);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
    #if CYTHON_USE_EXC_INFO_STACK
    {
        _PyErr_StackItem *exc_info = tstate->exc_info;
        tmp_type = exc_info->exc_type;
        tmp_value = exc_info->exc_value;
        tmp_tb = exc_info->exc_traceback;
        exc_info->exc_type = local_type;
        exc_info->exc_value = local_value;
        exc_info->exc_traceback = local_tb;
    }
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
}

/* SwapException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = *type;
    exc_info->exc_value = *value;
    exc_info->exc_traceback = *tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = *type;
    tstate->exc_value = *value;
    tstate->exc_traceback = *tb;
    #endif
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
    PyErr_SetExcInfo(*type, *value, *tb);
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#endif

/* GetTopmostException */
#if CYTHON_USE_EXC_INFO_STACK
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
           exc_info->previous_item != NULL)
    {
        exc_info = exc_info->previous_item;
    }
    return exc_info;
}
#endif

/* SaveResetException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    #endif
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = type;
    exc_info->exc_value = value;
    exc_info->exc_traceback = tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
}
#endif

/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (exact) {
        #if PY_MAJOR_VERSION == 2
        if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
        #endif
    }
    else {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    }
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
        name, type->tp_name, Py_TYPE(obj)->tp_name);
    return 0;
}

/* PyDictVersioning */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
    PyObject **dictptr = NULL;
    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
    if (offset) {
#if CYTHON_COMPILING_IN_CPYTHON
        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
#else
        dictptr = _PyObject_GetDictPtr(obj);
#endif
    }
    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
}
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
        return 0;
    return obj_dict_version == __Pyx_get_object_dict_version(obj);
}
#endif

/* GetModuleGlobalName */
#if CYTHON_USE_DICT_VERSIONS
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
#else
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
#endif
{
    PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
    result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    } else if (unlikely(PyErr_Occurred())) {
        return NULL;
    }
#else
    result = PyDict_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
#endif
#else
    result = PyObject_GetItem(__pyx_d, name);
    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
    PyErr_Clear();
#endif
    return __Pyx_GetBuiltinName(name);
}

/* PyObjectCallNoArg */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
#if CYTHON_FAST_PYCALL
    if (PyFunction_Check(func)) {
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
    }
#endif
#ifdef __Pyx_CyFunction_USED
    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
#else
    if (likely(PyCFunction_Check(func)))
#endif
    {
        if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
            return __Pyx_PyObject_CallMethO(func, NULL);
        }
    }
    return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
#endif

/* PyObjectCall2Args */
static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args, *result = NULL;
    #if CYTHON_FAST_PYCALL
    if (PyFunction_Check(function)) {
        PyObject *args[2] = {arg1, arg2};
        return __Pyx_PyFunction_FastCall(function, args, 2);
    }
    #endif
    #if CYTHON_FAST_PYCCALL
    if (__Pyx_PyFastCFunction_Check(function)) {
        PyObject *args[2] = {arg1, arg2};
        return __Pyx_PyCFunction_FastCall(function, args, 2);
    }
    #endif
    args = PyTuple_New(2);
    if (unlikely(!args)) goto done;
    Py_INCREF(arg1);
    PyTuple_SET_ITEM(args, 0, arg1);
    Py_INCREF(arg2);
    PyTuple_SET_ITEM(args, 1, arg2);
    Py_INCREF(function);
    result = __Pyx_PyObject_Call(function, args, NULL);
    Py_DECREF(args);
    Py_DECREF(function);
done:
    return result;
}

/* PyErrExceptionMatches */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    PyObject *exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
    if (unlikely(PyTuple_Check(err)))
        return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
}
#endif

/* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
#if PY_MAJOR_VERSION >= 3
    if (likely(PyUnicode_Check(n)))
#else
    if (likely(PyString_Check(n)))
#endif
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* GetAttr3 */
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    Py_INCREF(d);
    return d;
}
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r = __Pyx_GetAttr(o, n);
    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
}

/* RaiseArgTupleInvalid */
static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

/* RaiseDoubleKeywords */
static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

/* ParseKeywords */
static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
            continue;
        }
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (**name == key) ? 0 :
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key);
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    goto bad;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    return -1;
}

/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (!j) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              CYTHON_NCP_UNUSED int wraparound,
                                                              CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyTuple_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     CYTHON_NCP_UNUSED int wraparound,
                                                     CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (is_list || PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

/* decode_c_bytes */
static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
         const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
    if (unlikely((start < 0) | (stop < 0))) {
        if (start < 0) {
            start += length;
            if (start < 0)
                start = 0;
        }
        if (stop < 0)
            stop += length;
    }
    if (stop > length)
        stop = length;
    if (unlikely(stop <= start))
        return __Pyx_NewRef(__pyx_empty_unicode);
    length = stop - start;
    cstring += start;
    if (decode_func) {
        return decode_func(cstring, length, errors);
    } else {
        return PyUnicode_Decode(cstring, length, encoding, errors);
    }
}

/* KeywordStringCheck */
static int __Pyx_CheckKeywordStrings(
    PyObject *kwdict,
    const char* function_name,
    int kw_allowed)
{
    PyObject* key = 0;
    Py_ssize_t pos = 0;
#if CYTHON_COMPILING_IN_PYPY
    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
        goto invalid_keyword;
    return 1;
#else
    while (PyDict_Next(kwdict, &pos, &key, 0)) {
        #if PY_MAJOR_VERSION < 3
        if (unlikely(!PyString_Check(key)))
        #endif
            if (unlikely(!PyUnicode_Check(key)))
                goto invalid_keyword_type;
    }
    if ((!kw_allowed) && unlikely(key))
        goto invalid_keyword;
    return 1;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    return 0;
#endif
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%.200s() got an unexpected keyword argument '%.200s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
    return 0;
}

/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
    PyObject *empty_list = 0;
    PyObject *module = 0;
    PyObject *global_dict = 0;
    PyObject *empty_dict = 0;
    PyObject *list;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_import;
    py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
    if (!py_import)
        goto bad;
    #endif
    if (from_list)
        list = from_list;
    else {
        empty_list = PyList_New(0);
        if (!empty_list)
            goto bad;
        list = empty_list;
    }
    global_dict = PyModule_GetDict(__pyx_m);
    if (!global_dict)
        goto bad;
    empty_dict = PyDict_New();
    if (!empty_dict)
        goto bad;
    {
        #if PY_MAJOR_VERSION >= 3
        if (level == -1) {
            if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
                module = PyImport_ImportModuleLevelObject(
                    name, global_dict, empty_dict, list, 1);
                if (!module) {
                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
                        goto bad;
                    PyErr_Clear();
                }
            }
            level = 0;
        }
        #endif
        if (!module) {
            #if PY_MAJOR_VERSION < 3
            PyObject *py_level = PyInt_FromLong(level);
            if (!py_level)
                goto bad;
            module = PyObject_CallFunctionObjArgs(py_import,
                name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
            Py_DECREF(py_level);
            #else
            module = PyImport_ImportModuleLevelObject(
                name, global_dict, empty_dict, list, level);
            #endif
        }
    }
bad:
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_import);
    #endif
    Py_XDECREF(empty_list);
    Py_XDECREF(empty_dict);
    return module;
}

/* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Format(PyExc_ImportError,
        #if PY_MAJOR_VERSION < 3
            "cannot import name %.230s", PyString_AS_STRING(name));
        #else
            "cannot import name %S", name);
        #endif
    }
    return value;
}

/* HasAttr */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
    PyObject *r;
    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
        PyErr_SetString(PyExc_TypeError,
                        "hasattr(): attribute name must be string");
        return -1;
    }
    r = __Pyx_GetAttr(o, n);
    if (unlikely(!r)) {
        PyErr_Clear();
        return 0;
    } else {
        Py_DECREF(r);
        return 1;
    }
}

/* CallNextTpDealloc */
static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_dealloc != current_tp_dealloc)
        type = type->tp_base;
    while (type && type->tp_dealloc == current_tp_dealloc)
        type = type->tp_base;
    if (type)
        type->tp_dealloc(obj);
}

/* CallNextTpTraverse */
static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_traverse != current_tp_traverse)
        type = type->tp_base;
    while (type && type->tp_traverse == current_tp_traverse)
        type = type->tp_base;
    if (type && type->tp_traverse)
        return type->tp_traverse(obj, v, a);
    return 0;
}

/* CallNextTpClear */
static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
    PyTypeObject* type = Py_TYPE(obj);
    while (type && type->tp_clear != current_tp_clear)
        type = type->tp_base;
    while (type && type->tp_clear == current_tp_clear)
        type = type->tp_base;
    if (type && type->tp_clear)
        type->tp_clear(obj);
}

/* TypeImport */
#ifndef __PYX_HAVE_RT_ImportType
#define __PYX_HAVE_RT_ImportType
static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
    size_t size, enum __Pyx_ImportType_CheckSize check_size)
{
    PyObject *result = 0;
    char warning[200];
    Py_ssize_t basicsize;
#ifdef Py_LIMITED_API
    PyObject *py_basicsize;
#endif
    result = PyObject_GetAttrString(module, class_name);
    if (!result)
        goto bad;
    if (!PyType_Check(result)) {
        PyErr_Format(PyExc_TypeError,
            "%.200s.%.200s is not a type object",
            module_name, class_name);
        goto bad;
    }
#ifndef Py_LIMITED_API
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
#else
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
    if (!py_basicsize)
        goto bad;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = 0;
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
        goto bad;
#endif
    if ((size_t)basicsize < size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize);
        goto bad;
    }
    if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
        PyErr_Format(PyExc_ValueError,
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize);
        goto bad;
    }
    else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
        PyOS_snprintf(warning, sizeof(warning),
            "%s.%s size changed, may indicate binary incompatibility. "
            "Expected %zd from C header, got %zd from PyObject",
            module_name, class_name, size, basicsize);
        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
    }
    return (PyTypeObject *)result;
bad:
    Py_XDECREF(result);
    return NULL;
}
#endif

/* PyObject_GenericGetAttrNoDict */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
    PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
                 "'%.50s' object has no attribute '%U'",
                 tp->tp_name, attr_name);
#else
                 "'%.50s' object has no attribute '%.400s'",
                 tp->tp_name, PyString_AS_STRING(attr_name));
#endif
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
    PyObject *descr;
    PyTypeObject *tp = Py_TYPE(obj);
    if (unlikely(!PyString_Check(attr_name))) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    assert(!tp->tp_dictoffset);
    descr = _PyType_Lookup(tp, attr_name);
    if (unlikely(!descr)) {
        return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
    }
    Py_INCREF(descr);
    #if PY_MAJOR_VERSION < 3
    if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
    #endif
    {
        descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
        if (unlikely(f)) {
            PyObject *res = f(descr, obj, (PyObject *)tp);
            Py_DECREF(descr);
            return res;
        }
    }
    return descr;
}
#endif

/* PyObject_GenericGetAttr */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
    if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
        return PyObject_GenericGetAttr(obj, attr_name);
    }
    return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
}
#endif

/* PyObjectGetAttrStrNoError */
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        __Pyx_PyErr_Clear();
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
    PyObject *result;
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
        return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
    }
#endif
    result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
    if (unlikely(!result)) {
        __Pyx_PyObject_GetAttrStr_ClearAttributeError();
    }
    return result;
}

/* SetupReduce */
static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
  int ret;
  PyObject *name_attr;
  name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name_2);
  if (likely(name_attr)) {
      ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
  } else {
      ret = -1;
  }
  if (unlikely(ret < 0)) {
      PyErr_Clear();
      ret = 0;
  }
  Py_XDECREF(name_attr);
  return ret;
}
static int __Pyx_setup_reduce(PyObject* type_obj) {
    int ret = 0;
    PyObject *object_reduce = NULL;
    PyObject *object_reduce_ex = NULL;
    PyObject *reduce = NULL;
    PyObject *reduce_ex = NULL;
    PyObject *reduce_cython = NULL;
    PyObject *setstate = NULL;
    PyObject *setstate_cython = NULL;
#if CYTHON_USE_PYTYPE_LOOKUP
    if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;
#else
    if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;
#endif
#if CYTHON_USE_PYTYPE_LOOKUP
    object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#else
    object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
#endif
    reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
    if (reduce_ex == object_reduce_ex) {
#if CYTHON_USE_PYTYPE_LOOKUP
        object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
#else
        object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
#endif
        reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD;
        if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
            reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython);
            if (likely(reduce_cython)) {
                ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
            } else if (reduce == object_reduce || PyErr_Occurred()) {
                goto __PYX_BAD;
            }
            setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate);
            if (!setstate) PyErr_Clear();
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
                setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython);
                if (likely(setstate_cython)) {
                    ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                    ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                } else if (!setstate || PyErr_Occurred()) {
                    goto __PYX_BAD;
                }
            }
            PyType_Modified((PyTypeObject*)type_obj);
        }
    }
    goto __PYX_GOOD;
__PYX_BAD:
    if (!PyErr_Occurred())
        PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);
    ret = -1;
__PYX_GOOD:
#if !CYTHON_USE_PYTYPE_LOOKUP
    Py_XDECREF(object_reduce);
    Py_XDECREF(object_reduce_ex);
#endif
    Py_XDECREF(reduce);
    Py_XDECREF(reduce_ex);
    Py_XDECREF(reduce_cython);
    Py_XDECREF(setstate);
    Py_XDECREF(setstate_cython);
    return ret;
}

/* GetVTable */
static void* __Pyx_GetVtable(PyObject *dict) {
    void* ptr;
    PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable);
    if (!ob)
        goto bad;
#if PY_VERSION_HEX >= 0x02070000
    ptr = PyCapsule_GetPointer(ob, 0);
#else
    ptr = PyCObject_AsVoidPtr(ob);
#endif
    if (!ptr && !PyErr_Occurred())
        PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
    Py_DECREF(ob);
    return ptr;
bad:
    Py_XDECREF(ob);
    return NULL;
}

/* GetNameInClass */
static PyObject *__Pyx_GetGlobalNameAfterAttributeLookup(PyObject *name) {
    PyObject *result;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    __Pyx_GetModuleGlobalNameUncached(result, name);
    return result;
}
static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name) {
    PyObject *result;
    result = __Pyx_PyObject_GetAttrStr(nmspace, name);
    if (!result) {
        result = __Pyx_GetGlobalNameAfterAttributeLookup(name);
    }
    return result;
}

/* CLineInTraceback */
#ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
    PyObject *use_cline;
    PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
    PyObject **cython_runtime_dict;
#endif
    if (unlikely(!__pyx_cython_runtime)) {
        return c_line;
    }
    __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
#if CYTHON_COMPILING_IN_CPYTHON
    cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
    if (likely(cython_runtime_dict)) {
        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
            use_cline, *cython_runtime_dict,
            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
    } else
#endif
    {
      PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
      if (use_cline_obj) {
        use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
        Py_DECREF(use_cline_obj);
      } else {
        PyErr_Clear();
        use_cline = NULL;
      }
    }
    if (!use_cline) {
        c_line = 0;
        (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
    }
    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
        c_line = 0;
    }
    __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
    return c_line;
}
#endif

/* CodeObjectCache */
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = start + (end - start) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_code_cache.count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}

/* AddTraceback */
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = NULL;
    PyObject *py_funcname = NULL;
    #if PY_MAJOR_VERSION < 3
    PyObject *py_srcfile = NULL;
    py_srcfile = PyString_FromString(filename);
    if (!py_srcfile) goto bad;
    #endif
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        if (!py_funcname) goto bad;
        funcname = PyUnicode_AsUTF8(py_funcname);
        if (!funcname) goto bad;
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        if (!py_funcname) goto bad;
        #endif
    }
    #if PY_MAJOR_VERSION < 3
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    #else
    py_code = PyCode_NewEmpty(filename, funcname, py_line);
    #endif
    Py_XDECREF(py_funcname);  // XDECREF since it's only set on Py3 if cline
    return py_code;
bad:
    Py_XDECREF(py_funcname);
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_srcfile);
    #endif
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(tstate, c_line);
    }
    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!py_code) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __pyx_d,    /*PyObject *globals,*/
        0                  /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}

/* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
    {\
        func_type value = func_value;\
        if (sizeof(target_type) < sizeof(func_type)) {\
            if (unlikely(value != (func_type) (target_type) value)) {\
                func_type zero = 0;\
                if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                    return (target_type) -1;\
                if (is_unsigned && unlikely(value < zero))\
                    goto raise_neg_overflow;\
                else\
                    goto raise_overflow;\
            }\
        }\
        return (target_type) value;\
    }

/* Declarations */
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
      return ::std::complex< float >(x, y);
    }
  #else
    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
      return x + y*(__pyx_t_float_complex)_Complex_I;
    }
  #endif
#else
    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
      __pyx_t_float_complex z;
      z.real = x;
      z.imag = y;
      return z;
    }
#endif

/* Arithmetic */
#if CYTHON_CCOMPLEX
#else
    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
       return (a.real == b.real) && (a.imag == b.imag);
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        __pyx_t_float_complex z;
        z.real = a.real + b.real;
        z.imag = a.imag + b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        __pyx_t_float_complex z;
        z.real = a.real - b.real;
        z.imag = a.imag - b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        __pyx_t_float_complex z;
        z.real = a.real * b.real - a.imag * b.imag;
        z.imag = a.real * b.imag + a.imag * b.real;
        return z;
    }
    #if 1
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        if (b.imag == 0) {
            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else if (fabsf(b.real) >= fabsf(b.imag)) {
            if (b.real == 0 && b.imag == 0) {
                return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);
            } else {
                float r = b.imag / b.real;
                float s = (float)(1.0) / (b.real + b.imag * r);
                return __pyx_t_float_complex_from_parts(
                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
            }
        } else {
            float r = b.real / b.imag;
            float s = (float)(1.0) / (b.imag + b.real * r);
            return __pyx_t_float_complex_from_parts(
                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
        }
    }
    #else
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        if (b.imag == 0) {
            return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else {
            float denom = b.real * b.real + b.imag * b.imag;
            return __pyx_t_float_complex_from_parts(
                (a.real * b.real + a.imag * b.imag) / denom,
                (a.imag * b.real - a.real * b.imag) / denom);
        }
    }
    #endif
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {
        __pyx_t_float_complex z;
        z.real = -a.real;
        z.imag = -a.imag;
        return z;
    }
    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {
       return (a.real == 0) && (a.imag == 0);
    }
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {
        __pyx_t_float_complex z;
        z.real =  a.real;
        z.imag = -a.imag;
        return z;
    }
    #if 1
        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {
          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
            return sqrtf(z.real*z.real + z.imag*z.imag);
          #else
            return hypotf(z.real, z.imag);
          #endif
        }
        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
            __pyx_t_float_complex z;
            float r, lnr, theta, z_r, z_theta;
            if (b.imag == 0 && b.real == (int)b.real) {
                if (b.real < 0) {
                    float denom = a.real * a.real + a.imag * a.imag;
                    a.real = a.real / denom;
                    a.imag = -a.imag / denom;
                    b.real = -b.real;
                }
                switch ((int)b.real) {
                    case 0:
                        z.real = 1;
                        z.imag = 0;
                        return z;
                    case 1:
                        return a;
                    case 2:
                        return __Pyx_c_prod_float(a, a);
                    case 3:
                        z = __Pyx_c_prod_float(a, a);
                        return __Pyx_c_prod_float(z, a);
                    case 4:
                        z = __Pyx_c_prod_float(a, a);
                        return __Pyx_c_prod_float(z, z);
                }
            }
            if (a.imag == 0) {
                if (a.real == 0) {
                    return a;
                } else if (b.imag == 0) {
                    z.real = powf(a.real, b.real);
                    z.imag = 0;
                    return z;
                } else if (a.real > 0) {
                    r = a.real;
                    theta = 0;
                } else {
                    r = -a.real;
                    theta = atan2f(0.0, -1.0);
                }
            } else {
                r = __Pyx_c_abs_float(a);
                theta = atan2f(a.imag, a.real);
            }
            lnr = logf(r);
            z_r = expf(lnr * b.real - theta * b.imag);
            z_theta = theta * b.real + lnr * b.imag;
            z.real = z_r * cosf(z_theta);
            z.imag = z_r * sinf(z_theta);
            return z;
        }
    #endif
#endif

/* Declarations */
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
      return ::std::complex< double >(x, y);
    }
  #else
    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
      return x + y*(__pyx_t_double_complex)_Complex_I;
    }
  #endif
#else
    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
      __pyx_t_double_complex z;
      z.real = x;
      z.imag = y;
      return z;
    }
#endif

/* Arithmetic */
#if CYTHON_CCOMPLEX
#else
    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
       return (a.real == b.real) && (a.imag == b.imag);
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        __pyx_t_double_complex z;
        z.real = a.real + b.real;
        z.imag = a.imag + b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        __pyx_t_double_complex z;
        z.real = a.real - b.real;
        z.imag = a.imag - b.imag;
        return z;
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        __pyx_t_double_complex z;
        z.real = a.real * b.real - a.imag * b.imag;
        z.imag = a.real * b.imag + a.imag * b.real;
        return z;
    }
    #if 1
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        if (b.imag == 0) {
            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else if (fabs(b.real) >= fabs(b.imag)) {
            if (b.real == 0 && b.imag == 0) {
                return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
            } else {
                double r = b.imag / b.real;
                double s = (double)(1.0) / (b.real + b.imag * r);
                return __pyx_t_double_complex_from_parts(
                    (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
            }
        } else {
            double r = b.real / b.imag;
            double s = (double)(1.0) / (b.imag + b.real * r);
            return __pyx_t_double_complex_from_parts(
                (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
        }
    }
    #else
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        if (b.imag == 0) {
            return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
        } else {
            double denom = b.real * b.real + b.imag * b.imag;
            return __pyx_t_double_complex_from_parts(
                (a.real * b.real + a.imag * b.imag) / denom,
                (a.imag * b.real - a.real * b.imag) / denom);
        }
    }
    #endif
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {
        __pyx_t_double_complex z;
        z.real = -a.real;
        z.imag = -a.imag;
        return z;
    }
    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {
       return (a.real == 0) && (a.imag == 0);
    }
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {
        __pyx_t_double_complex z;
        z.real =  a.real;
        z.imag = -a.imag;
        return z;
    }
    #if 1
        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {
          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
            return sqrt(z.real*z.real + z.imag*z.imag);
          #else
            return hypot(z.real, z.imag);
          #endif
        }
        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
            __pyx_t_double_complex z;
            double r, lnr, theta, z_r, z_theta;
            if (b.imag == 0 && b.real == (int)b.real) {
                if (b.real < 0) {
                    double denom = a.real * a.real + a.imag * a.imag;
                    a.real = a.real / denom;
                    a.imag = -a.imag / denom;
                    b.real = -b.real;
                }
                switch ((int)b.real) {
                    case 0:
                        z.real = 1;
                        z.imag = 0;
                        return z;
                    case 1:
                        return a;
                    case 2:
                        return __Pyx_c_prod_double(a, a);
                    case 3:
                        z = __Pyx_c_prod_double(a, a);
                        return __Pyx_c_prod_double(z, a);
                    case 4:
                        z = __Pyx_c_prod_double(a, a);
                        return __Pyx_c_prod_double(z, z);
                }
            }
            if (a.imag == 0) {
                if (a.real == 0) {
                    return a;
                } else if (b.imag == 0) {
                    z.real = pow(a.real, b.real);
                    z.imag = 0;
                    return z;
                } else if (a.real > 0) {
                    r = a.real;
                    theta = 0;
                } else {
                    r = -a.real;
                    theta = atan2(0.0, -1.0);
                }
            } else {
                r = __Pyx_c_abs_double(a);
                theta = atan2(a.imag, a.real);
            }
            lnr = log(r);
            z_r = exp(lnr * b.real - theta * b.imag);
            z_theta = theta * b.real + lnr * b.imag;
            z.real = z_r * cos(z_theta);
            z.imag = z_r * sin(z_theta);
            return z;
        }
    #endif
#endif

/* CIntFromPy */
static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(size_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (size_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) {
                            return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) {
                            return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) {
                            return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (size_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(size_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (size_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(size_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
                            return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
                            return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
                            return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
                            return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) {
                            return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) {
                            return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(size_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            size_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (size_t) -1;
        }
    } else {
        size_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (size_t) -1;
        val = __Pyx_PyInt_As_size_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to size_t");
    return (size_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to size_t");
    return (size_t) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_hid_t(hid_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const hid_t neg_one = (hid_t) -1, const_zero = (hid_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(hid_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(hid_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(hid_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(hid_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(hid_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
static CYTHON_INLINE hid_t __Pyx_PyInt_As_hid_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const hid_t neg_one = (hid_t) -1, const_zero = (hid_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(hid_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(hid_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (hid_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (hid_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(hid_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(hid_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) >= 2 * PyLong_SHIFT) {
                            return (hid_t) (((((hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(hid_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) >= 3 * PyLong_SHIFT) {
                            return (hid_t) (((((((hid_t)digits[2]) << PyLong_SHIFT) | (hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(hid_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) >= 4 * PyLong_SHIFT) {
                            return (hid_t) (((((((((hid_t)digits[3]) << PyLong_SHIFT) | (hid_t)digits[2]) << PyLong_SHIFT) | (hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (hid_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(hid_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(hid_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(hid_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(hid_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (hid_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(hid_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(hid_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(hid_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) - 1 > 2 * PyLong_SHIFT) {
                            return (hid_t) (((hid_t)-1)*(((((hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(hid_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) - 1 > 2 * PyLong_SHIFT) {
                            return (hid_t) ((((((hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(hid_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) - 1 > 3 * PyLong_SHIFT) {
                            return (hid_t) (((hid_t)-1)*(((((((hid_t)digits[2]) << PyLong_SHIFT) | (hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(hid_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) - 1 > 3 * PyLong_SHIFT) {
                            return (hid_t) ((((((((hid_t)digits[2]) << PyLong_SHIFT) | (hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(hid_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) - 1 > 4 * PyLong_SHIFT) {
                            return (hid_t) (((hid_t)-1)*(((((((((hid_t)digits[3]) << PyLong_SHIFT) | (hid_t)digits[2]) << PyLong_SHIFT) | (hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(hid_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hid_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hid_t) - 1 > 4 * PyLong_SHIFT) {
                            return (hid_t) ((((((((((hid_t)digits[3]) << PyLong_SHIFT) | (hid_t)digits[2]) << PyLong_SHIFT) | (hid_t)digits[1]) << PyLong_SHIFT) | (hid_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(hid_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(hid_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(hid_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(hid_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            hid_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (hid_t) -1;
        }
    } else {
        hid_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (hid_t) -1;
        val = __Pyx_PyInt_As_hid_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to hid_t");
    return (hid_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to hid_t");
    return (hid_t) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(int),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(int) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
                case 2:
                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {
                            return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {
                            return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {
                            return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (int) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(int) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(int,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                            return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                            return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
                            return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {
                            return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(int) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (int) -1;
        }
    } else {
        int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (int) -1;
        val = __Pyx_PyInt_As_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to int");
    return (int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to int");
    return (int) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(unsigned int) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned int) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned int) 0;
                case  1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, digits[0])
                case 2:
                    if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT) {
                            return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT) {
                            return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT) {
                            return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned int) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(unsigned int) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned int) 0;
                case -1: __PYX_VERIFY_RETURN_INT(unsigned int, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(unsigned int,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(unsigned int) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            unsigned int val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (unsigned int) -1;
        }
    } else {
        unsigned int val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned int) -1;
        val = __Pyx_PyInt_As_unsigned_int(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned int");
    return (unsigned int) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned int");
    return (unsigned int) -1;
}

/* CIntFromPy */
static CYTHON_INLINE hsize_t __Pyx_PyInt_As_hsize_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const hsize_t neg_one = (hsize_t) -1, const_zero = (hsize_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(hsize_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(hsize_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (hsize_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (hsize_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(hsize_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(hsize_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) >= 2 * PyLong_SHIFT) {
                            return (hsize_t) (((((hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(hsize_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) >= 3 * PyLong_SHIFT) {
                            return (hsize_t) (((((((hsize_t)digits[2]) << PyLong_SHIFT) | (hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(hsize_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) >= 4 * PyLong_SHIFT) {
                            return (hsize_t) (((((((((hsize_t)digits[3]) << PyLong_SHIFT) | (hsize_t)digits[2]) << PyLong_SHIFT) | (hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (hsize_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(hsize_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(hsize_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(hsize_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(hsize_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (hsize_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(hsize_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(hsize_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(hsize_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) - 1 > 2 * PyLong_SHIFT) {
                            return (hsize_t) (((hsize_t)-1)*(((((hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(hsize_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) - 1 > 2 * PyLong_SHIFT) {
                            return (hsize_t) ((((((hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(hsize_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) - 1 > 3 * PyLong_SHIFT) {
                            return (hsize_t) (((hsize_t)-1)*(((((((hsize_t)digits[2]) << PyLong_SHIFT) | (hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(hsize_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) - 1 > 3 * PyLong_SHIFT) {
                            return (hsize_t) ((((((((hsize_t)digits[2]) << PyLong_SHIFT) | (hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(hsize_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) - 1 > 4 * PyLong_SHIFT) {
                            return (hsize_t) (((hsize_t)-1)*(((((((((hsize_t)digits[3]) << PyLong_SHIFT) | (hsize_t)digits[2]) << PyLong_SHIFT) | (hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(hsize_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hsize_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hsize_t) - 1 > 4 * PyLong_SHIFT) {
                            return (hsize_t) ((((((((((hsize_t)digits[3]) << PyLong_SHIFT) | (hsize_t)digits[2]) << PyLong_SHIFT) | (hsize_t)digits[1]) << PyLong_SHIFT) | (hsize_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(hsize_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(hsize_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(hsize_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(hsize_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            hsize_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (hsize_t) -1;
        }
    } else {
        hsize_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (hsize_t) -1;
        val = __Pyx_PyInt_As_hsize_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to hsize_t");
    return (hsize_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to hsize_t");
    return (hsize_t) -1;
}

/* CIntFromPy */
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_As_unsigned_PY_LONG_LONG(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG) -1, const_zero = (unsigned PY_LONG_LONG) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(unsigned PY_LONG_LONG) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (unsigned PY_LONG_LONG) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned PY_LONG_LONG) 0;
                case  1: __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, digit, digits[0])
                case 2:
                    if (8 * sizeof(unsigned PY_LONG_LONG) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) >= 2 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned PY_LONG_LONG) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) >= 3 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned PY_LONG_LONG) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) >= 4 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (unsigned PY_LONG_LONG) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (unsigned PY_LONG_LONG) 0;
                case -1: __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(unsigned PY_LONG_LONG) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) ((((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(unsigned PY_LONG_LONG) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) ((((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) (((unsigned PY_LONG_LONG)-1)*(((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(unsigned PY_LONG_LONG) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(unsigned PY_LONG_LONG, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(unsigned PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                            return (unsigned PY_LONG_LONG) ((((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(unsigned PY_LONG_LONG) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(unsigned PY_LONG_LONG) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(unsigned PY_LONG_LONG, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            unsigned PY_LONG_LONG val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (unsigned PY_LONG_LONG) -1;
        }
    } else {
        unsigned PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (unsigned PY_LONG_LONG) -1;
        val = __Pyx_PyInt_As_unsigned_PY_LONG_LONG(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to unsigned PY_LONG_LONG");
    return (unsigned PY_LONG_LONG) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to unsigned PY_LONG_LONG");
    return (unsigned PY_LONG_LONG) -1;
}

/* CIntFromPy */
static CYTHON_INLINE enum H5Z_SO_scale_type_t __Pyx_PyInt_As_enum__H5Z_SO_scale_type_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum H5Z_SO_scale_type_t neg_one = (enum H5Z_SO_scale_type_t) -1, const_zero = (enum H5Z_SO_scale_type_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(enum H5Z_SO_scale_type_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (enum H5Z_SO_scale_type_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum H5Z_SO_scale_type_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) >= 2 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) (((((enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) >= 3 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) (((((((enum H5Z_SO_scale_type_t)digits[2]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) >= 4 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) (((((((((enum H5Z_SO_scale_type_t)digits[3]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[2]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (enum H5Z_SO_scale_type_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(enum H5Z_SO_scale_type_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum H5Z_SO_scale_type_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum H5Z_SO_scale_type_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum H5Z_SO_scale_type_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (enum H5Z_SO_scale_type_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 2 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) (((enum H5Z_SO_scale_type_t)-1)*(((((enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 2 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) ((((((enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 3 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) (((enum H5Z_SO_scale_type_t)-1)*(((((((enum H5Z_SO_scale_type_t)digits[2]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 3 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) ((((((((enum H5Z_SO_scale_type_t)digits[2]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 4 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) (((enum H5Z_SO_scale_type_t)-1)*(((((((((enum H5Z_SO_scale_type_t)digits[3]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[2]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(enum H5Z_SO_scale_type_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(enum H5Z_SO_scale_type_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(enum H5Z_SO_scale_type_t) - 1 > 4 * PyLong_SHIFT) {
                            return (enum H5Z_SO_scale_type_t) ((((((((((enum H5Z_SO_scale_type_t)digits[3]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[2]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[1]) << PyLong_SHIFT) | (enum H5Z_SO_scale_type_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(enum H5Z_SO_scale_type_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum H5Z_SO_scale_type_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(enum H5Z_SO_scale_type_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(enum H5Z_SO_scale_type_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            enum H5Z_SO_scale_type_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (enum H5Z_SO_scale_type_t) -1;
        }
    } else {
        enum H5Z_SO_scale_type_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (enum H5Z_SO_scale_type_t) -1;
        val = __Pyx_PyInt_As_enum__H5Z_SO_scale_type_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to enum H5Z_SO_scale_type_t");
    return (enum H5Z_SO_scale_type_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to enum H5Z_SO_scale_type_t");
    return (enum H5Z_SO_scale_type_t) -1;
}

/* CIntFromPy */
static CYTHON_INLINE hbool_t __Pyx_PyInt_As_hbool_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const hbool_t neg_one = (hbool_t) -1, const_zero = (hbool_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(hbool_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(hbool_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (hbool_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (hbool_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(hbool_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(hbool_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) >= 2 * PyLong_SHIFT) {
                            return (hbool_t) (((((hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(hbool_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) >= 3 * PyLong_SHIFT) {
                            return (hbool_t) (((((((hbool_t)digits[2]) << PyLong_SHIFT) | (hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(hbool_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) >= 4 * PyLong_SHIFT) {
                            return (hbool_t) (((((((((hbool_t)digits[3]) << PyLong_SHIFT) | (hbool_t)digits[2]) << PyLong_SHIFT) | (hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (hbool_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(hbool_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(hbool_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(hbool_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(hbool_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (hbool_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(hbool_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(hbool_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(hbool_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) - 1 > 2 * PyLong_SHIFT) {
                            return (hbool_t) (((hbool_t)-1)*(((((hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(hbool_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) - 1 > 2 * PyLong_SHIFT) {
                            return (hbool_t) ((((((hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(hbool_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) - 1 > 3 * PyLong_SHIFT) {
                            return (hbool_t) (((hbool_t)-1)*(((((((hbool_t)digits[2]) << PyLong_SHIFT) | (hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(hbool_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) - 1 > 3 * PyLong_SHIFT) {
                            return (hbool_t) ((((((((hbool_t)digits[2]) << PyLong_SHIFT) | (hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(hbool_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) - 1 > 4 * PyLong_SHIFT) {
                            return (hbool_t) (((hbool_t)-1)*(((((((((hbool_t)digits[3]) << PyLong_SHIFT) | (hbool_t)digits[2]) << PyLong_SHIFT) | (hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(hbool_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(hbool_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(hbool_t) - 1 > 4 * PyLong_SHIFT) {
                            return (hbool_t) ((((((((((hbool_t)digits[3]) << PyLong_SHIFT) | (hbool_t)digits[2]) << PyLong_SHIFT) | (hbool_t)digits[1]) << PyLong_SHIFT) | (hbool_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(hbool_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(hbool_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(hbool_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(hbool_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            hbool_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (hbool_t) -1;
        }
    } else {
        hbool_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (hbool_t) -1;
        val = __Pyx_PyInt_As_hbool_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to hbool_t");
    return (hbool_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to hbool_t");
    return (hbool_t) -1;
}

/* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(long) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (long) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case  1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
                case 2:
                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {
                            return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {
                            return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {
                            return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (long) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(long) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (long) 0;
                case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(long,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(long) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                            return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(long) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                            return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                            return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(long) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                            return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(long) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            long val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (long) -1;
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (long) -1;
        val = __Pyx_PyInt_As_long(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to long");
    return (long) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to long");
    return (long) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(unsigned int) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(unsigned int) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_hsize_t(hsize_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const hsize_t neg_one = (hsize_t) -1, const_zero = (hsize_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(hsize_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(hsize_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(hsize_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(hsize_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(hsize_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__H5F_fspace_strategy_t(enum H5F_fspace_strategy_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum H5F_fspace_strategy_t neg_one = (enum H5F_fspace_strategy_t) -1, const_zero = (enum H5F_fspace_strategy_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum H5F_fspace_strategy_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum H5F_fspace_strategy_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum H5F_fspace_strategy_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum H5F_fspace_strategy_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum H5F_fspace_strategy_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum H5F_fspace_strategy_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_hbool_t(hbool_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const hbool_t neg_one = (hbool_t) -1, const_zero = (hbool_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(hbool_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(hbool_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(hbool_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(hbool_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(hbool_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(hbool_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(long) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(long) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(long) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(long),
                                     little, !is_unsigned);
    }
}

/* CIntFromPy */
static CYTHON_INLINE off_t __Pyx_PyInt_As_off_t(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const off_t neg_one = (off_t) -1, const_zero = (off_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        if (sizeof(off_t) < sizeof(long)) {
            __PYX_VERIFY_RETURN_INT(off_t, long, PyInt_AS_LONG(x))
        } else {
            long val = PyInt_AS_LONG(x);
            if (is_unsigned && unlikely(val < 0)) {
                goto raise_neg_overflow;
            }
            return (off_t) val;
        }
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (off_t) 0;
                case  1: __PYX_VERIFY_RETURN_INT(off_t, digit, digits[0])
                case 2:
                    if (8 * sizeof(off_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) >= 2 * PyLong_SHIFT) {
                            return (off_t) (((((off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0]));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(off_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) >= 3 * PyLong_SHIFT) {
                            return (off_t) (((((((off_t)digits[2]) << PyLong_SHIFT) | (off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0]));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(off_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) >= 4 * PyLong_SHIFT) {
                            return (off_t) (((((((((off_t)digits[3]) << PyLong_SHIFT) | (off_t)digits[2]) << PyLong_SHIFT) | (off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0]));
                        }
                    }
                    break;
            }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
            if (unlikely(Py_SIZE(x) < 0)) {
                goto raise_neg_overflow;
            }
#else
            {
                int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
                if (unlikely(result < 0))
                    return (off_t) -1;
                if (unlikely(result == 1))
                    goto raise_neg_overflow;
            }
#endif
            if (sizeof(off_t) <= sizeof(unsigned long)) {
                __PYX_VERIFY_RETURN_INT_EXC(off_t, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(off_t) <= sizeof(unsigned PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(off_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
            }
        } else {
#if CYTHON_USE_PYLONG_INTERNALS
            const digit* digits = ((PyLongObject*)x)->ob_digit;
            switch (Py_SIZE(x)) {
                case  0: return (off_t) 0;
                case -1: __PYX_VERIFY_RETURN_INT(off_t, sdigit, (sdigit) (-(sdigit)digits[0]))
                case  1: __PYX_VERIFY_RETURN_INT(off_t,  digit, +digits[0])
                case -2:
                    if (8 * sizeof(off_t) - 1 > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) - 1 > 2 * PyLong_SHIFT) {
                            return (off_t) (((off_t)-1)*(((((off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0])));
                        }
                    }
                    break;
                case 2:
                    if (8 * sizeof(off_t) > 1 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) - 1 > 2 * PyLong_SHIFT) {
                            return (off_t) ((((((off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0])));
                        }
                    }
                    break;
                case -3:
                    if (8 * sizeof(off_t) - 1 > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) - 1 > 3 * PyLong_SHIFT) {
                            return (off_t) (((off_t)-1)*(((((((off_t)digits[2]) << PyLong_SHIFT) | (off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0])));
                        }
                    }
                    break;
                case 3:
                    if (8 * sizeof(off_t) > 2 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) - 1 > 3 * PyLong_SHIFT) {
                            return (off_t) ((((((((off_t)digits[2]) << PyLong_SHIFT) | (off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0])));
                        }
                    }
                    break;
                case -4:
                    if (8 * sizeof(off_t) - 1 > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) - 1 > 4 * PyLong_SHIFT) {
                            return (off_t) (((off_t)-1)*(((((((((off_t)digits[3]) << PyLong_SHIFT) | (off_t)digits[2]) << PyLong_SHIFT) | (off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0])));
                        }
                    }
                    break;
                case 4:
                    if (8 * sizeof(off_t) > 3 * PyLong_SHIFT) {
                        if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {
                            __PYX_VERIFY_RETURN_INT(off_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                        } else if (8 * sizeof(off_t) - 1 > 4 * PyLong_SHIFT) {
                            return (off_t) ((((((((((off_t)digits[3]) << PyLong_SHIFT) | (off_t)digits[2]) << PyLong_SHIFT) | (off_t)digits[1]) << PyLong_SHIFT) | (off_t)digits[0])));
                        }
                    }
                    break;
            }
#endif
            if (sizeof(off_t) <= sizeof(long)) {
                __PYX_VERIFY_RETURN_INT_EXC(off_t, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
            } else if (sizeof(off_t) <= sizeof(PY_LONG_LONG)) {
                __PYX_VERIFY_RETURN_INT_EXC(off_t, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
            }
        }
        {
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
            PyErr_SetString(PyExc_RuntimeError,
                            "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
            off_t val;
            PyObject *v = __Pyx_PyNumber_IntOrLong(x);
 #if PY_MAJOR_VERSION < 3
            if (likely(v) && !PyLong_Check(v)) {
                PyObject *tmp = v;
                v = PyNumber_Long(tmp);
                Py_DECREF(tmp);
            }
 #endif
            if (likely(v)) {
                int one = 1; int is_little = (int)*(unsigned char *)&one;
                unsigned char *bytes = (unsigned char *)&val;
                int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                              bytes, sizeof(val),
                                              is_little, !is_unsigned);
                Py_DECREF(v);
                if (likely(!ret))
                    return val;
            }
#endif
            return (off_t) -1;
        }
    } else {
        off_t val;
        PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
        if (!tmp) return (off_t) -1;
        val = __Pyx_PyInt_As_off_t(tmp);
        Py_DECREF(tmp);
        return val;
    }
raise_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "value too large to convert to off_t");
    return (off_t) -1;
raise_neg_overflow:
    PyErr_SetString(PyExc_OverflowError,
        "can't convert negative value to off_t");
    return (off_t) -1;
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_off_t(off_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const off_t neg_one = (off_t) -1, const_zero = (off_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(off_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(off_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(off_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(off_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(off_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(off_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__H5F_close_degree_t(enum H5F_close_degree_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const enum H5F_close_degree_t neg_one = (enum H5F_close_degree_t) -1, const_zero = (enum H5F_close_degree_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(enum H5F_close_degree_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(enum H5F_close_degree_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum H5F_close_degree_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(enum H5F_close_degree_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(enum H5F_close_degree_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(enum H5F_close_degree_t),
                                     little, !is_unsigned);
    }
}

/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_herr_t(herr_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const herr_t neg_one = (herr_t) -1, const_zero = (herr_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (is_unsigned) {
        if (sizeof(herr_t) < sizeof(long)) {
            return PyInt_FromLong((long) value);
        } else if (sizeof(herr_t) <= sizeof(unsigned long)) {
            return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(herr_t) <= sizeof(unsigned PY_LONG_LONG)) {
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
        }
    } else {
        if (sizeof(herr_t) <= sizeof(long)) {
            return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
        } else if (sizeof(herr_t) <= sizeof(PY_LONG_LONG)) {
            return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
        }
    }
    {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&value;
        return _PyLong_FromByteArray(bytes, sizeof(herr_t),
                                     little, !is_unsigned);
    }
}

/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = a->tp_base;
        if (a == b)
            return 1;
    }
    return b == &PyBaseObject_Type;
}
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (a == b) return 1;
    mro = a->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(a, b);
}
#if PY_MAJOR_VERSION == 2
static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
    PyObject *exception, *value, *tb;
    int res;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&exception, &value, &tb);
    res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
    if (unlikely(res == -1)) {
        PyErr_WriteUnraisable(err);
        res = 0;
    }
    if (!res) {
        res = PyObject_IsSubclass(err, exc_type2);
        if (unlikely(res == -1)) {
            PyErr_WriteUnraisable(err);
            res = 0;
        }
    }
    __Pyx_ErrRestore(exception, value, tb);
    return res;
}
#else
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
    if (!res) {
        res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
    return res;
}
#endif
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
#endif
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        #if PY_MAJOR_VERSION < 3
        if (likely(exc_type == t)) return 1;
        #endif
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
    assert(PyExceptionClass_Check(exc_type1));
    assert(PyExceptionClass_Check(exc_type2));
    if (likely(err == exc_type1 || err == exc_type2)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
    }
    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
}
#endif

/* CheckBinaryVersion */
static int __Pyx_check_binary_version(void) {
    char ctversion[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        return PyErr_WarnEx(NULL, message, 1);
    }
    return 0;
}

/* FunctionExport */
static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
    if (!d) {
        PyErr_Clear();
        d = PyDict_New();
        if (!d)
            goto bad;
        Py_INCREF(d);
        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
            goto bad;
    }
    tmp.fp = f;
#if PY_VERSION_HEX >= 0x02070000
    cobj = PyCapsule_New(tmp.p, sig, 0);
#else
    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
#endif
    if (!cobj)
        goto bad;
    if (PyDict_SetItemString(d, name, cobj) < 0)
        goto bad;
    Py_DECREF(cobj);
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(cobj);
    Py_XDECREF(d);
    return -1;
}

/* VoidPtrImport */
#ifndef __PYX_HAVE_RT_ImportVoidPtr
#define __PYX_HAVE_RT_ImportVoidPtr
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
    if (!d)
        goto bad;
    cobj = PyDict_GetItemString(d, name);
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%.200s does not export expected C variable %.200s",
                PyModule_GetName(module), name);
        goto bad;
    }
#if PY_VERSION_HEX >= 0x02070000
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C variable %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), name, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    *p = PyCapsule_GetPointer(cobj, sig);
#else
    {const char *desc, *s1, *s2;
    desc = (const char *)PyCObject_GetDesc(cobj);
    if (!desc)
        goto bad;
    s1 = desc; s2 = sig;
    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
    if (*s1 != *s2) {
        PyErr_Format(PyExc_TypeError,
            "C variable %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), name, sig, desc);
        goto bad;
    }
    *p = PyCObject_AsVoidPtr(cobj);}
#endif
    if (!(*p))
        goto bad;
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(d);
    return -1;
}
#endif

/* FunctionImport */
#ifndef __PYX_HAVE_RT_ImportFunction
#define __PYX_HAVE_RT_ImportFunction
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
    PyObject *d = 0;
    PyObject *cobj = 0;
    union {
        void (*fp)(void);
        void *p;
    } tmp;
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
    if (!d)
        goto bad;
    cobj = PyDict_GetItemString(d, funcname);
    if (!cobj) {
        PyErr_Format(PyExc_ImportError,
            "%.200s does not export expected C function %.200s",
                PyModule_GetName(module), funcname);
        goto bad;
    }
#if PY_VERSION_HEX >= 0x02070000
    if (!PyCapsule_IsValid(cobj, sig)) {
        PyErr_Format(PyExc_TypeError,
            "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
        goto bad;
    }
    tmp.p = PyCapsule_GetPointer(cobj, sig);
#else
    {const char *desc, *s1, *s2;
    desc = (const char *)PyCObject_GetDesc(cobj);
    if (!desc)
        goto bad;
    s1 = desc; s2 = sig;
    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
    if (*s1 != *s2) {
        PyErr_Format(PyExc_TypeError,
            "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
             PyModule_GetName(module), funcname, sig, desc);
        goto bad;
    }
    tmp.p = PyCObject_AsVoidPtr(cobj);}
#endif
    *f = tmp.fp;
    if (!(*f))
        goto bad;
    Py_DECREF(d);
    return 0;
bad:
    Py_XDECREF(d);
    return -1;
}
#endif

/* InitStrings */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        #else
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        if (PyObject_Hash(*t->p) == -1)
            return -1;
        ++t;
    }
    return 0;
}

static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
#if !CYTHON_PEP393_ENABLED
static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    char* defenc_c;
    PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
    if (!defenc) return NULL;
    defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    {
        char* end = defenc_c + PyBytes_GET_SIZE(defenc);
        char* c;
        for (c = defenc_c; c < end; c++) {
            if ((unsigned char) (*c) >= 128) {
                PyUnicode_AsASCIIString(o);
                return NULL;
            }
        }
    }
#endif
    *length = PyBytes_GET_SIZE(defenc);
    return defenc_c;
}
#else
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    if (likely(PyUnicode_IS_ASCII(o))) {
        *length = PyUnicode_GET_LENGTH(o);
        return PyUnicode_AsUTF8(o);
    } else {
        PyUnicode_AsASCIIString(o);
        return NULL;
    }
#else
    return PyUnicode_AsUTF8AndSize(o, length);
#endif
}
#endif
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
    if (PyByteArray_Check(o)) {
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
    } else
#endif
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
    int retval;
    if (unlikely(!x)) return -1;
    retval = __Pyx_PyObject_IsTrue(x);
    Py_DECREF(x);
    return retval;
}
static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
#if PY_MAJOR_VERSION >= 3
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type %.200s).  "
                "The ability to return an instance of a strict subclass of int "
                "is deprecated, and may be removed in a future version of Python.",
                Py_TYPE(result)->tp_name)) {
            Py_DECREF(result);
            return NULL;
        }
        return result;
    }
#endif
    PyErr_Format(PyExc_TypeError,
                 "__%.4s__ returned non-%.4s (type %.200s)",
                 type_name, type_name, Py_TYPE(result)->tp_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_Check(x) || PyLong_Check(x)))
#else
  if (likely(PyLong_Check(x)))
#endif
    return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  #if PY_MAJOR_VERSION < 3
  if (m && m->nb_int) {
    name = "int";
    res = m->nb_int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = m->nb_long(x);
  }
  #else
  if (likely(m && m->nb_int)) {
    name = "int";
    res = m->nb_int(x);
  }
  #endif
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
    res = PyNumber_Int(x);
  }
#endif
  if (likely(res)) {
#if PY_MAJOR_VERSION < 3
    if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
#else
    if (unlikely(!PyLong_CheckExact(res))) {
#endif
        return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
    }
  }
  else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_TypeError,
                    "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
#if PY_MAJOR_VERSION < 3
  if (likely(PyInt_CheckExact(b))) {
    if (sizeof(Py_ssize_t) >= sizeof(long))
        return PyInt_AS_LONG(b);
    else
        return PyInt_AsSsize_t(b);
  }
#endif
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    const digit* digits = ((PyLongObject*)b)->ob_digit;
    const Py_ssize_t size = Py_SIZE(b);
    if (likely(__Pyx_sst_abs(size) <= 1)) {
        ival = likely(size) ? digits[0] : 0;
        if (size == -1) ival = -ival;
        return ival;
    } else {
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
#if PY_MAJOR_VERSION < 3
  } else if (likely(PyInt_CheckExact(o))) {
    return PyInt_AS_LONG(o);
#endif
  } else {
    Py_ssize_t ival;
    PyObject *x;
    x = PyNumber_Index(o);
    if (!x) return -1;
    ival = PyInt_AsLong(x);
    Py_DECREF(x);
    return ival;
  }
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
    return PyInt_FromSize_t(ival);
}


#endif /* Py_PYTHON_H */
