mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 09:57:37 +03:00 
			
		
		
		
	Add Python 3.12 Support (#752)
* Ignore .vscode * Python 3.12 Support * Change base python to 3.12 and pin pydantic to V1 * all tests passed * ci: change default python to 3.12 * remove legacy python versions * annotate pydantic models for tests
This commit is contained in:
		
							parent
							
								
									98d5867743
								
							
						
					
					
						commit
						5ffffe7d35
					
				
							
								
								
									
										8
									
								
								.github/workflows/tests-and-linters.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/tests-and-linters.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -25,7 +25,7 @@ jobs:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    strategy:
 | 
					    strategy:
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        python-version: [3.8, 3.9, "3.10", 3.11]
 | 
					        python-version: [3.8, 3.9, "3.10", 3.11, 3.12]
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
| 
						 | 
					@ -47,8 +47,8 @@ jobs:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.11
 | 
					          python-version: 3.12
 | 
				
			||||||
      - run: pip install tox cython
 | 
					      - run: pip install tox cython==0.29.36
 | 
				
			||||||
      - run: make cythonize
 | 
					      - run: make cythonize
 | 
				
			||||||
      - run: tox
 | 
					      - run: tox
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
| 
						 | 
					@ -64,7 +64,7 @@ jobs:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.11
 | 
					          python-version: 3.12
 | 
				
			||||||
      - run: pip install tox
 | 
					      - run: pip install tox
 | 
				
			||||||
      - run: tox
 | 
					      - run: tox
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -73,3 +73,5 @@ src/dependency_injector/providers/*.so
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Workspace for samples
 | 
					# Workspace for samples
 | 
				
			||||||
.workspace/
 | 
					.workspace/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.vscode/
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
cython==0.29.32
 | 
					cython==0.29.36
 | 
				
			||||||
pytest
 | 
					pytest
 | 
				
			||||||
pytest-asyncio
 | 
					pytest-asyncio
 | 
				
			||||||
tox
 | 
					tox
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,7 @@ mypy
 | 
				
			||||||
pyyaml
 | 
					pyyaml
 | 
				
			||||||
httpx
 | 
					httpx
 | 
				
			||||||
fastapi
 | 
					fastapi
 | 
				
			||||||
pydantic
 | 
					pydantic==1.10.13
 | 
				
			||||||
numpy
 | 
					numpy
 | 
				
			||||||
scipy
 | 
					scipy
 | 
				
			||||||
boto3
 | 
					boto3
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,8 @@
 | 
				
			||||||
# TODO: unpin 3.5.0 when this bug is fixed: https://github.com/sphinx-doc/sphinx/issues/8885
 | 
					# TODO: unpin 3.5.0 when this bug is fixed: https://github.com/sphinx-doc/sphinx/issues/8885
 | 
				
			||||||
sphinx<3.5.0
 | 
					sphinx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# TODO: unpin jinja2 after sphinx update to 4+
 | 
					# TODO: unpin jinja2 after sphinx update to 4+
 | 
				
			||||||
jinja2<3.1
 | 
					jinja2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-e git+https://github.com/rmk135/sphinxcontrib-disqus.git#egg=sphinxcontrib-disqus
 | 
					-e git+https://github.com/rmk135/sphinxcontrib-disqus.git#egg=sphinxcontrib-disqus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,2 +1,3 @@
 | 
				
			||||||
flask
 | 
					flask==2.1.3
 | 
				
			||||||
aiohttp
 | 
					werkzeug==2.2.2
 | 
				
			||||||
 | 
					aiohttp==3.9.0b1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								setup.py
									
									
									
									
									
								
							| 
						 | 
					@ -114,6 +114,7 @@ setup(name="dependency-injector",
 | 
				
			||||||
          "Programming Language :: Python :: 3.9",
 | 
					          "Programming Language :: Python :: 3.9",
 | 
				
			||||||
          "Programming Language :: Python :: 3.10",
 | 
					          "Programming Language :: Python :: 3.10",
 | 
				
			||||||
          "Programming Language :: Python :: 3.11",
 | 
					          "Programming Language :: Python :: 3.11",
 | 
				
			||||||
 | 
					          "Programming Language :: Python :: 3.12",
 | 
				
			||||||
          "Programming Language :: Python :: Implementation :: CPython",
 | 
					          "Programming Language :: Python :: Implementation :: CPython",
 | 
				
			||||||
          "Programming Language :: Python :: Implementation :: PyPy",
 | 
					          "Programming Language :: Python :: Implementation :: PyPy",
 | 
				
			||||||
          "Framework :: AsyncIO",
 | 
					          "Framework :: AsyncIO",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
/* Generated by Cython 0.29.32 */
 | 
					/* Generated by Cython 0.29.36 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef PY_SSIZE_T_CLEAN
 | 
					#ifndef PY_SSIZE_T_CLEAN
 | 
				
			||||||
#define PY_SSIZE_T_CLEAN
 | 
					#define PY_SSIZE_T_CLEAN
 | 
				
			||||||
| 
						 | 
					@ -9,8 +9,8 @@
 | 
				
			||||||
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
 | 
					#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
 | 
				
			||||||
    #error Cython requires Python 2.6+ or Python 3.3+.
 | 
					    #error Cython requires Python 2.6+ or Python 3.3+.
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#define CYTHON_ABI "0_29_32"
 | 
					#define CYTHON_ABI "0_29_36"
 | 
				
			||||||
#define CYTHON_HEX_VERSION 0x001D20F0
 | 
					#define CYTHON_HEX_VERSION 0x001D24F0
 | 
				
			||||||
#define CYTHON_FUTURE_DIVISION 0
 | 
					#define CYTHON_FUTURE_DIVISION 0
 | 
				
			||||||
#include <stddef.h>
 | 
					#include <stddef.h>
 | 
				
			||||||
#ifndef offsetof
 | 
					#ifndef offsetof
 | 
				
			||||||
| 
						 | 
					@ -78,16 +78,20 @@
 | 
				
			||||||
  #define CYTHON_FAST_THREAD_STATE 0
 | 
					  #define CYTHON_FAST_THREAD_STATE 0
 | 
				
			||||||
  #undef CYTHON_FAST_PYCALL
 | 
					  #undef CYTHON_FAST_PYCALL
 | 
				
			||||||
  #define CYTHON_FAST_PYCALL 0
 | 
					  #define CYTHON_FAST_PYCALL 0
 | 
				
			||||||
 | 
					  #if PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
 | 
					    #undef CYTHON_PEP489_MULTI_PHASE_INIT
 | 
				
			||||||
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
 | 
					    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
 | 
				
			||||||
 | 
					  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
 | 
				
			||||||
 | 
					    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
 | 
				
			||||||
 | 
					  #endif
 | 
				
			||||||
  #undef CYTHON_USE_TP_FINALIZE
 | 
					  #undef CYTHON_USE_TP_FINALIZE
 | 
				
			||||||
  #define CYTHON_USE_TP_FINALIZE 0
 | 
					  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
 | 
				
			||||||
  #undef CYTHON_USE_DICT_VERSIONS
 | 
					  #undef CYTHON_USE_DICT_VERSIONS
 | 
				
			||||||
  #define CYTHON_USE_DICT_VERSIONS 0
 | 
					  #define CYTHON_USE_DICT_VERSIONS 0
 | 
				
			||||||
  #undef CYTHON_USE_EXC_INFO_STACK
 | 
					  #undef CYTHON_USE_EXC_INFO_STACK
 | 
				
			||||||
  #define CYTHON_USE_EXC_INFO_STACK 0
 | 
					  #define CYTHON_USE_EXC_INFO_STACK 0
 | 
				
			||||||
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
 | 
					  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
 | 
				
			||||||
    #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900)
 | 
					    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
#elif defined(PYSTON_VERSION)
 | 
					#elif defined(PYSTON_VERSION)
 | 
				
			||||||
  #define CYTHON_COMPILING_IN_PYPY 0
 | 
					  #define CYTHON_COMPILING_IN_PYPY 0
 | 
				
			||||||
| 
						 | 
					@ -203,7 +207,7 @@
 | 
				
			||||||
    #undef CYTHON_USE_PYLONG_INTERNALS
 | 
					    #undef CYTHON_USE_PYLONG_INTERNALS
 | 
				
			||||||
    #define CYTHON_USE_PYLONG_INTERNALS 0
 | 
					    #define CYTHON_USE_PYLONG_INTERNALS 0
 | 
				
			||||||
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
 | 
					  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
 | 
				
			||||||
    #define CYTHON_USE_PYLONG_INTERNALS 1
 | 
					    #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5)
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #ifndef CYTHON_USE_PYLIST_INTERNALS
 | 
					  #ifndef CYTHON_USE_PYLIST_INTERNALS
 | 
				
			||||||
    #define CYTHON_USE_PYLIST_INTERNALS 1
 | 
					    #define CYTHON_USE_PYLIST_INTERNALS 1
 | 
				
			||||||
| 
						 | 
					@ -242,7 +246,7 @@
 | 
				
			||||||
    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
 | 
					    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #ifndef CYTHON_USE_DICT_VERSIONS
 | 
					  #ifndef CYTHON_USE_DICT_VERSIONS
 | 
				
			||||||
    #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
 | 
					    #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5))
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030B00A4
 | 
					  #if PY_VERSION_HEX >= 0x030B00A4
 | 
				
			||||||
    #undef CYTHON_USE_EXC_INFO_STACK
 | 
					    #undef CYTHON_USE_EXC_INFO_STACK
 | 
				
			||||||
| 
						 | 
					@ -365,9 +369,6 @@
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
#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 __PYX_BUILD_PY_SSIZE_T "n"
 | 
				
			||||||
#define CYTHON_FORMAT_SSIZE_T "z"
 | 
					#define CYTHON_FORMAT_SSIZE_T "z"
 | 
				
			||||||
#if PY_MAJOR_VERSION < 3
 | 
					#if PY_MAJOR_VERSION < 3
 | 
				
			||||||
| 
						 | 
					@ -445,6 +446,11 @@
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
  #define __Pyx_DefaultClassType PyType_Type
 | 
					  #define __Pyx_DefaultClassType PyType_Type
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
 | 
				
			||||||
 | 
					  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#ifndef Py_TPFLAGS_CHECKTYPES
 | 
					#ifndef Py_TPFLAGS_CHECKTYPES
 | 
				
			||||||
  #define Py_TPFLAGS_CHECKTYPES 0
 | 
					  #define Py_TPFLAGS_CHECKTYPES 0
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -552,11 +558,11 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
 | 
					#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
 | 
				
			||||||
  #define CYTHON_PEP393_ENABLED 1
 | 
					  #define CYTHON_PEP393_ENABLED 1
 | 
				
			||||||
  #if defined(PyUnicode_IS_READY)
 | 
					  #if PY_VERSION_HEX >= 0x030C0000
 | 
				
			||||||
 | 
					    #define __Pyx_PyUnicode_READY(op)       (0)
 | 
				
			||||||
 | 
					  #else
 | 
				
			||||||
    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
 | 
					    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
 | 
				
			||||||
                                                0 : _PyUnicode_Ready((PyObject *)(op)))
 | 
					                                                0 : _PyUnicode_Ready((PyObject *)(op)))
 | 
				
			||||||
  #else
 | 
					 | 
				
			||||||
  #define __Pyx_PyUnicode_READY(op)       (0)
 | 
					 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
 | 
					  #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_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
 | 
				
			||||||
| 
						 | 
					@ -565,14 +571,14 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
 | 
				
			||||||
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
 | 
					  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
 | 
				
			||||||
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
 | 
					  #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)
 | 
					  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
 | 
				
			||||||
  #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
 | 
					  #if PY_VERSION_HEX >= 0x030C0000
 | 
				
			||||||
 | 
					    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
 | 
				
			||||||
 | 
					  #else
 | 
				
			||||||
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
 | 
					    #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))
 | 
					    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
 | 
				
			||||||
    #else
 | 
					    #else
 | 
				
			||||||
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
 | 
					    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
 | 
				
			||||||
    #endif
 | 
					    #endif
 | 
				
			||||||
  #else
 | 
					 | 
				
			||||||
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
 | 
					 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  #define CYTHON_PEP393_ENABLED 0
 | 
					  #define CYTHON_PEP393_ENABLED 0
 | 
				
			||||||
| 
						 | 
					@ -2610,18 +2616,18 @@ static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* GetModuleGlobalName.proto */
 | 
					/* GetModuleGlobalName.proto */
 | 
				
			||||||
#if CYTHON_USE_DICT_VERSIONS
 | 
					#if CYTHON_USE_DICT_VERSIONS
 | 
				
			||||||
#define __Pyx_GetModuleGlobalName(var, name)  {\
 | 
					#define __Pyx_GetModuleGlobalName(var, name)  do {\
 | 
				
			||||||
    static PY_UINT64_T __pyx_dict_version = 0;\
 | 
					    static PY_UINT64_T __pyx_dict_version = 0;\
 | 
				
			||||||
    static PyObject *__pyx_dict_cached_value = NULL;\
 | 
					    static PyObject *__pyx_dict_cached_value = NULL;\
 | 
				
			||||||
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
 | 
					    (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)) :\
 | 
					        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
 | 
				
			||||||
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
					        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
				
			||||||
}
 | 
					} while(0)
 | 
				
			||||||
#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
 | 
					#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
 | 
				
			||||||
    PY_UINT64_T __pyx_dict_version;\
 | 
					    PY_UINT64_T __pyx_dict_version;\
 | 
				
			||||||
    PyObject *__pyx_dict_cached_value;\
 | 
					    PyObject *__pyx_dict_cached_value;\
 | 
				
			||||||
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
					    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
				
			||||||
}
 | 
					} while(0)
 | 
				
			||||||
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
 | 
					static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
 | 
					#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
 | 
				
			||||||
| 
						 | 
					@ -3013,14 +3019,22 @@ static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, in
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* TypeImport.proto */
 | 
					/* TypeImport.proto */
 | 
				
			||||||
#ifndef __PYX_HAVE_RT_ImportType_proto
 | 
					#ifndef __PYX_HAVE_RT_ImportType_proto_0_29_36
 | 
				
			||||||
#define __PYX_HAVE_RT_ImportType_proto
 | 
					#define __PYX_HAVE_RT_ImportType_proto_0_29_36
 | 
				
			||||||
enum __Pyx_ImportType_CheckSize {
 | 
					#if __STDC_VERSION__ >= 201112L
 | 
				
			||||||
   __Pyx_ImportType_CheckSize_Error = 0,
 | 
					#include <stdalign.h>
 | 
				
			||||||
   __Pyx_ImportType_CheckSize_Warn = 1,
 | 
					#endif
 | 
				
			||||||
   __Pyx_ImportType_CheckSize_Ignore = 2
 | 
					#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
 | 
				
			||||||
 | 
					#define __PYX_GET_STRUCT_ALIGNMENT_0_29_36(s) alignof(s)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#define __PYX_GET_STRUCT_ALIGNMENT_0_29_36(s) sizeof(void*)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					enum __Pyx_ImportType_CheckSize_0_29_36 {
 | 
				
			||||||
 | 
					   __Pyx_ImportType_CheckSize_Error_0_29_36 = 0,
 | 
				
			||||||
 | 
					   __Pyx_ImportType_CheckSize_Warn_0_29_36 = 1,
 | 
				
			||||||
 | 
					   __Pyx_ImportType_CheckSize_Ignore_0_29_36 = 2
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
 | 
					static PyTypeObject *__Pyx_ImportType_0_29_36(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_36 check_size);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* GetVTable.proto */
 | 
					/* GetVTable.proto */
 | 
				
			||||||
| 
						 | 
					@ -3107,7 +3121,7 @@ static int __pyx_Generator_init(void);
 | 
				
			||||||
static int __Pyx_check_binary_version(void);
 | 
					static int __Pyx_check_binary_version(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* VoidPtrImport.proto */
 | 
					/* VoidPtrImport.proto */
 | 
				
			||||||
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig);
 | 
					static int __Pyx_ImportVoidPtr_0_29_36(PyObject *module, const char *name, void **p, const char *sig);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* InitStrings.proto */
 | 
					/* InitStrings.proto */
 | 
				
			||||||
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
 | 
					static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
 | 
				
			||||||
| 
						 | 
					@ -6769,8 +6783,8 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 450, __pyx_L1_error)
 | 
					      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 450, __pyx_L1_error)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
					    if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
				
			||||||
    if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
					    if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
				
			||||||
    __Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_9));
 | 
					    __Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_9));
 | 
				
			||||||
    __pyx_t_9 = 0;
 | 
					    __pyx_t_9 = 0;
 | 
				
			||||||
    __Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_10));
 | 
					    __Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_10));
 | 
				
			||||||
| 
						 | 
					@ -6877,7 +6891,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
					        __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
				
			||||||
        __Pyx_GOTREF(__pyx_t_1);
 | 
					        __Pyx_GOTREF(__pyx_t_1);
 | 
				
			||||||
        if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
					        if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
				
			||||||
        __pyx_t_10 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
					        __pyx_t_10 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
				
			||||||
        __Pyx_GOTREF(__pyx_t_10);
 | 
					        __Pyx_GOTREF(__pyx_t_10);
 | 
				
			||||||
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
					        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
				
			||||||
| 
						 | 
					@ -10297,7 +10311,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
 | 
				
			||||||
 * 
 | 
					 * 
 | 
				
			||||||
 *     return instance
 | 
					 *     return instance
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
    if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error)
 | 
					    if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error)
 | 
				
			||||||
    __pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes));
 | 
					    __pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* "providers.pxd":661
 | 
					    /* "providers.pxd":661
 | 
				
			||||||
| 
						 | 
					@ -11635,7 +11649,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
  0, /*tp_print*/
 | 
					  0, /*tp_print*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
  0, /*tp_pypy_flags*/
 | 
					  0, /*tp_pypy_flags*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -11808,7 +11822,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
  0, /*tp_print*/
 | 
					  0, /*tp_print*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
  0, /*tp_pypy_flags*/
 | 
					  0, /*tp_pypy_flags*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -11929,7 +11943,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
  0, /*tp_print*/
 | 
					  0, /*tp_print*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
  0, /*tp_pypy_flags*/
 | 
					  0, /*tp_pypy_flags*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -12025,7 +12039,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
  0, /*tp_print*/
 | 
					  0, /*tp_print*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
  0, /*tp_pypy_flags*/
 | 
					  0, /*tp_pypy_flags*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -12121,7 +12135,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object___t
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
  0, /*tp_print*/
 | 
					  0, /*tp_print*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
  0, /*tp_pypy_flags*/
 | 
					  0, /*tp_pypy_flags*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -12217,7 +12231,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
  0, /*tp_print*/
 | 
					  0, /*tp_print*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
  0, /*tp_pypy_flags*/
 | 
					  0, /*tp_pypy_flags*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -12313,7 +12327,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_object____object____object__
 | 
				
			||||||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
  0, /*tp_print*/
 | 
					  0, /*tp_print*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
  0, /*tp_pypy_flags*/
 | 
					  0, /*tp_pypy_flags*/
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -12531,7 +12545,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
 | 
					static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
 | 
				
			||||||
  __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
 | 
					  __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
 | 
				
			||||||
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
 | 
					  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  return 0;
 | 
					  return 0;
 | 
				
			||||||
  __pyx_L1_error:;
 | 
					  __pyx_L1_error:;
 | 
				
			||||||
| 
						 | 
					@ -12650,149 +12664,99 @@ static int __Pyx_modinit_type_import_code(void) {
 | 
				
			||||||
  /*--- Type import code ---*/
 | 
					  /*--- Type import code ---*/
 | 
				
			||||||
  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
					  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
				
			||||||
  __Pyx_GOTREF(__pyx_t_1);
 | 
					  __Pyx_GOTREF(__pyx_t_1);
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Provider),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Provider = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Provider)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Provider = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Provider)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Object),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Object = (struct __pyx_vtabstruct_19dependency_injector_9providers_Object*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Object->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Object)) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Object = (struct __pyx_vtabstruct_19dependency_injector_9providers_Object*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Object->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Object)) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Self),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Self = (struct __pyx_vtabstruct_19dependency_injector_9providers_Self*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Self->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Self)) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Self = (struct __pyx_vtabstruct_19dependency_injector_9providers_Self*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Self->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Self)) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Delegate),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Delegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Delegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Delegate)) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Delegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Delegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Delegate)) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Aggregate),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Aggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Aggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Aggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Aggregate)) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Aggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Aggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Aggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Aggregate)) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Dependency),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Dependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dependency)) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Dependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dependency)) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_ExternalDependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ExternalDependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency)) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_ExternalDependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ExternalDependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency)) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = (struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DependenciesContainer->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer)) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = (struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DependenciesContainer->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer)) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Callable),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Coroutine),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption)) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption)) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption)) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption)) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Configuration),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Factory),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Singleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_List),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Dict),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Resource),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Container),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Selector),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_ItemGetter),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_MethodCaller),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
					  __pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_Injection),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error)
 | 
					  __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_NamedInjection),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error)
 | 
					  __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_OverridingContext),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error)
 | 
					  __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __Pyx_ImportType_CheckSize_Warn);
 | 
					  __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType_0_29_36(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_36(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_36); if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
					 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
					 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
					 | 
				
			||||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
 | 
					 | 
				
			||||||
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
					  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
				
			||||||
  __Pyx_RefNannyFinishContext();
 | 
					  __Pyx_RefNannyFinishContext();
 | 
				
			||||||
  return 0;
 | 
					  return 0;
 | 
				
			||||||
| 
						 | 
					@ -12812,12 +12776,12 @@ static int __Pyx_modinit_variable_import_code(void) {
 | 
				
			||||||
  /*--- Variable import code ---*/
 | 
					  /*--- Variable import code ---*/
 | 
				
			||||||
  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  __Pyx_GOTREF(__pyx_t_1);
 | 
					  __Pyx_GOTREF(__pyx_t_1);
 | 
				
			||||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  if (__Pyx_ImportVoidPtr_0_29_36(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  if (__Pyx_ImportVoidPtr_0_29_36(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  if (__Pyx_ImportVoidPtr_0_29_36(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  if (__Pyx_ImportVoidPtr_0_29_36(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  if (__Pyx_ImportVoidPtr_0_29_36(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  if (__Pyx_ImportVoidPtr_0_29_36(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
					  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
				
			||||||
  __Pyx_RefNannyFinishContext();
 | 
					  __Pyx_RefNannyFinishContext();
 | 
				
			||||||
  return 0;
 | 
					  return 0;
 | 
				
			||||||
| 
						 | 
					@ -13002,7 +12966,7 @@ if (!__Pyx_RefNanny) {
 | 
				
			||||||
  Py_INCREF(__pyx_b);
 | 
					  Py_INCREF(__pyx_b);
 | 
				
			||||||
  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  __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);
 | 
					  Py_INCREF(__pyx_cython_runtime);
 | 
				
			||||||
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
 | 
					  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
				
			||||||
  /*--- Initialize various global constants etc. ---*/
 | 
					  /*--- Initialize various global constants etc. ---*/
 | 
				
			||||||
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
					  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 PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
 | 
				
			||||||
| 
						 | 
					@ -13612,7 +13576,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
 | 
				
			||||||
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
 | 
					        return __Pyx_PyFunction_FastCall(func, NULL, 0);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifdef __Pyx_CyFunction_USED
 | 
					#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
 | 
				
			||||||
    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
 | 
					    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
    if (likely(PyCFunction_Check(func)))
 | 
					    if (likely(PyCFunction_Check(func)))
 | 
				
			||||||
| 
						 | 
					@ -13743,10 +13707,8 @@ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
 | 
				
			||||||
        Py_DECREF(retval);
 | 
					        Py_DECREF(retval);
 | 
				
			||||||
        __Pyx_RaiseTooManyValuesError(expected);
 | 
					        __Pyx_RaiseTooManyValuesError(expected);
 | 
				
			||||||
        return -1;
 | 
					        return -1;
 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        return __Pyx_IterFinish();
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return 0;
 | 
					    return __Pyx_IterFinish();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ExtTypeTest */
 | 
					/* ExtTypeTest */
 | 
				
			||||||
| 
						 | 
					@ -14412,9 +14374,14 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
 | 
				
			||||||
        self = PyTuple_GetItem(args, 0);
 | 
					        self = PyTuple_GetItem(args, 0);
 | 
				
			||||||
        if (unlikely(!self)) {
 | 
					        if (unlikely(!self)) {
 | 
				
			||||||
            Py_DECREF(new_args);
 | 
					            Py_DECREF(new_args);
 | 
				
			||||||
 | 
					#if PY_MAJOR_VERSION > 2
 | 
				
			||||||
            PyErr_Format(PyExc_TypeError,
 | 
					            PyErr_Format(PyExc_TypeError,
 | 
				
			||||||
                         "unbound method %.200S() needs an argument",
 | 
					                         "unbound method %.200S() needs an argument",
 | 
				
			||||||
                         cyfunc->func_qualname);
 | 
					                         cyfunc->func_qualname);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					            PyErr_SetString(PyExc_TypeError,
 | 
				
			||||||
 | 
					                            "unbound method needs an argument");
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
            return NULL;
 | 
					            return NULL;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
 | 
					        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
 | 
				
			||||||
| 
						 | 
					@ -14489,7 +14456,10 @@ static PyTypeObject __pyx_CyFunctionType_type = {
 | 
				
			||||||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030C0000
 | 
				
			||||||
 | 
					    0,
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -14768,13 +14738,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    PyErr_SetObject(type, value);
 | 
					    PyErr_SetObject(type, value);
 | 
				
			||||||
    if (tb) {
 | 
					    if (tb) {
 | 
				
			||||||
#if CYTHON_COMPILING_IN_PYPY
 | 
					#if CYTHON_FAST_THREAD_STATE
 | 
				
			||||||
        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;
 | 
					        PyThreadState *tstate = __Pyx_PyThreadState_Current;
 | 
				
			||||||
        PyObject* tmp_tb = tstate->curexc_traceback;
 | 
					        PyObject* tmp_tb = tstate->curexc_traceback;
 | 
				
			||||||
        if (tb != tmp_tb) {
 | 
					        if (tb != tmp_tb) {
 | 
				
			||||||
| 
						 | 
					@ -14782,6 +14746,12 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
 | 
				
			||||||
            tstate->curexc_traceback = tb;
 | 
					            tstate->curexc_traceback = tb;
 | 
				
			||||||
            Py_XDECREF(tmp_tb);
 | 
					            Py_XDECREF(tmp_tb);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					        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);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
bad:
 | 
					bad:
 | 
				
			||||||
| 
						 | 
					@ -16032,7 +16002,10 @@ static PyTypeObject __pyx_CoroutineAwaitType_type = {
 | 
				
			||||||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030C0000
 | 
				
			||||||
 | 
					    0,
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -16184,7 +16157,10 @@ static PyTypeObject __pyx_CoroutineType_type = {
 | 
				
			||||||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030C0000
 | 
				
			||||||
 | 
					    0,
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -16259,7 +16235,11 @@ static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) {
 | 
				
			||||||
    } else
 | 
					    } else
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE)
 | 
					#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE)
 | 
				
			||||||
 | 
					#if PY_VERSION_HEX >= 0x030C00A6
 | 
				
			||||||
 | 
					    if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) {
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
    if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
 | 
					    if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
        return __Pyx_NewRef(obj);
 | 
					        return __Pyx_NewRef(obj);
 | 
				
			||||||
    } else
 | 
					    } else
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -16309,7 +16289,7 @@ bad:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CoroutineYieldFrom */
 | 
					/* CoroutineYieldFrom */
 | 
				
			||||||
static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) {
 | 
					  static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) {
 | 
				
			||||||
    PyObject *retval;
 | 
					    PyObject *retval;
 | 
				
			||||||
    PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source);
 | 
					    PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source);
 | 
				
			||||||
    if (unlikely(!source_gen)) {
 | 
					    if (unlikely(!source_gen)) {
 | 
				
			||||||
| 
						 | 
					@ -16356,7 +16336,7 @@ static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ReturnWithStopIteration */
 | 
					/* ReturnWithStopIteration */
 | 
				
			||||||
static void __Pyx__ReturnWithStopIteration(PyObject* value) {
 | 
					  static void __Pyx__ReturnWithStopIteration(PyObject* value) {
 | 
				
			||||||
    PyObject *exc, *args;
 | 
					    PyObject *exc, *args;
 | 
				
			||||||
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_PYSTON
 | 
					#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_PYSTON
 | 
				
			||||||
    __Pyx_PyThreadState_declare
 | 
					    __Pyx_PyThreadState_declare
 | 
				
			||||||
| 
						 | 
					@ -16398,7 +16378,7 @@ static void __Pyx__ReturnWithStopIteration(PyObject* value) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* WriteUnraisableException */
 | 
					/* WriteUnraisableException */
 | 
				
			||||||
static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
 | 
					  static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
 | 
				
			||||||
                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
 | 
					                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
 | 
				
			||||||
                                  int full_traceback, CYTHON_UNUSED int nogil) {
 | 
					                                  int full_traceback, CYTHON_UNUSED int nogil) {
 | 
				
			||||||
    PyObject *old_exc, *old_val, *old_tb;
 | 
					    PyObject *old_exc, *old_val, *old_tb;
 | 
				
			||||||
| 
						 | 
					@ -16408,9 +16388,7 @@ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
 | 
				
			||||||
    PyGILState_STATE state;
 | 
					    PyGILState_STATE state;
 | 
				
			||||||
    if (nogil)
 | 
					    if (nogil)
 | 
				
			||||||
        state = PyGILState_Ensure();
 | 
					        state = PyGILState_Ensure();
 | 
				
			||||||
#ifdef _MSC_VER
 | 
					    else state = (PyGILState_STATE)0;
 | 
				
			||||||
    else state = (PyGILState_STATE)-1;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    __Pyx_PyThreadState_assign
 | 
					    __Pyx_PyThreadState_assign
 | 
				
			||||||
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
 | 
					    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
 | 
				
			||||||
| 
						 | 
					@ -16440,7 +16418,7 @@ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* SliceObject */
 | 
					/* SliceObject */
 | 
				
			||||||
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
 | 
					  static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
 | 
				
			||||||
        Py_ssize_t cstart, Py_ssize_t cstop,
 | 
					        Py_ssize_t cstart, Py_ssize_t cstop,
 | 
				
			||||||
        PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
 | 
					        PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
 | 
				
			||||||
        int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
 | 
					        int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
 | 
				
			||||||
| 
						 | 
					@ -16537,7 +16515,7 @@ bad:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PyIntBinop */
 | 
					/* PyIntBinop */
 | 
				
			||||||
#if !CYTHON_COMPILING_IN_PYPY
 | 
					  #if !CYTHON_COMPILING_IN_PYPY
 | 
				
			||||||
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
 | 
					static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
 | 
				
			||||||
    (void)inplace;
 | 
					    (void)inplace;
 | 
				
			||||||
    (void)zerodivision_check;
 | 
					    (void)zerodivision_check;
 | 
				
			||||||
| 
						 | 
					@ -16661,12 +16639,12 @@ static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* RaiseNoneIterError */
 | 
					/* RaiseNoneIterError */
 | 
				
			||||||
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
 | 
					  static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
 | 
				
			||||||
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
 | 
					    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PyErrExceptionMatches */
 | 
					/* PyErrExceptionMatches */
 | 
				
			||||||
#if CYTHON_FAST_THREAD_STATE
 | 
					  #if CYTHON_FAST_THREAD_STATE
 | 
				
			||||||
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
 | 
					static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
 | 
				
			||||||
    Py_ssize_t i, n;
 | 
					    Py_ssize_t i, n;
 | 
				
			||||||
    n = PyTuple_GET_SIZE(tuple);
 | 
					    n = PyTuple_GET_SIZE(tuple);
 | 
				
			||||||
| 
						 | 
					@ -16691,7 +16669,7 @@ static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tsta
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* GetException */
 | 
					/* GetException */
 | 
				
			||||||
#if CYTHON_FAST_THREAD_STATE
 | 
					  #if CYTHON_FAST_THREAD_STATE
 | 
				
			||||||
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
 | 
					static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
 | 
					static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
 | 
				
			||||||
| 
						 | 
					@ -16765,7 +16743,7 @@ bad:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* GetAttr */
 | 
					/* GetAttr */
 | 
				
			||||||
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
 | 
					  static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
 | 
				
			||||||
#if CYTHON_USE_TYPE_SLOTS
 | 
					#if CYTHON_USE_TYPE_SLOTS
 | 
				
			||||||
#if PY_MAJOR_VERSION >= 3
 | 
					#if PY_MAJOR_VERSION >= 3
 | 
				
			||||||
    if (likely(PyUnicode_Check(n)))
 | 
					    if (likely(PyUnicode_Check(n)))
 | 
				
			||||||
| 
						 | 
					@ -16778,7 +16756,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* HasAttr */
 | 
					/* HasAttr */
 | 
				
			||||||
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
 | 
					  static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
 | 
				
			||||||
    PyObject *r;
 | 
					    PyObject *r;
 | 
				
			||||||
    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
 | 
					    if (unlikely(!__Pyx_PyBaseString_Check(n))) {
 | 
				
			||||||
        PyErr_SetString(PyExc_TypeError,
 | 
					        PyErr_SetString(PyExc_TypeError,
 | 
				
			||||||
| 
						 | 
					@ -16796,7 +16774,7 @@ static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* pyfrozenset_new */
 | 
					/* pyfrozenset_new */
 | 
				
			||||||
static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
 | 
					  static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
 | 
				
			||||||
    if (it) {
 | 
					    if (it) {
 | 
				
			||||||
        PyObject* result;
 | 
					        PyObject* result;
 | 
				
			||||||
#if CYTHON_COMPILING_IN_PYPY
 | 
					#if CYTHON_COMPILING_IN_PYPY
 | 
				
			||||||
| 
						 | 
					@ -16828,7 +16806,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PySetContains */
 | 
					/* PySetContains */
 | 
				
			||||||
static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
 | 
					  static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
 | 
				
			||||||
    int result = -1;
 | 
					    int result = -1;
 | 
				
			||||||
    if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) {
 | 
					    if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) {
 | 
				
			||||||
        PyObject *tmpkey;
 | 
					        PyObject *tmpkey;
 | 
				
			||||||
| 
						 | 
					@ -16850,16 +16828,18 @@ static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, in
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* TypeImport */
 | 
					/* TypeImport */
 | 
				
			||||||
#ifndef __PYX_HAVE_RT_ImportType
 | 
					  #ifndef __PYX_HAVE_RT_ImportType_0_29_36
 | 
				
			||||||
#define __PYX_HAVE_RT_ImportType
 | 
					#define __PYX_HAVE_RT_ImportType_0_29_36
 | 
				
			||||||
static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
 | 
					static PyTypeObject *__Pyx_ImportType_0_29_36(PyObject *module, const char *module_name, const char *class_name,
 | 
				
			||||||
    size_t size, enum __Pyx_ImportType_CheckSize check_size)
 | 
					    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_36 check_size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    PyObject *result = 0;
 | 
					    PyObject *result = 0;
 | 
				
			||||||
    char warning[200];
 | 
					    char warning[200];
 | 
				
			||||||
    Py_ssize_t basicsize;
 | 
					    Py_ssize_t basicsize;
 | 
				
			||||||
 | 
					    Py_ssize_t itemsize;
 | 
				
			||||||
#ifdef Py_LIMITED_API
 | 
					#ifdef Py_LIMITED_API
 | 
				
			||||||
    PyObject *py_basicsize;
 | 
					    PyObject *py_basicsize;
 | 
				
			||||||
 | 
					    PyObject *py_itemsize;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    result = PyObject_GetAttrString(module, class_name);
 | 
					    result = PyObject_GetAttrString(module, class_name);
 | 
				
			||||||
    if (!result)
 | 
					    if (!result)
 | 
				
			||||||
| 
						 | 
					@ -16872,6 +16852,7 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#ifndef Py_LIMITED_API
 | 
					#ifndef Py_LIMITED_API
 | 
				
			||||||
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
 | 
					    basicsize = ((PyTypeObject *)result)->tp_basicsize;
 | 
				
			||||||
 | 
					    itemsize = ((PyTypeObject *)result)->tp_itemsize;
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
 | 
					    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
 | 
				
			||||||
    if (!py_basicsize)
 | 
					    if (!py_basicsize)
 | 
				
			||||||
| 
						 | 
					@ -16881,22 +16862,37 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
 | 
				
			||||||
    py_basicsize = 0;
 | 
					    py_basicsize = 0;
 | 
				
			||||||
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
 | 
					    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
 | 
				
			||||||
        goto bad;
 | 
					        goto bad;
 | 
				
			||||||
 | 
					    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
 | 
				
			||||||
 | 
					    if (!py_itemsize)
 | 
				
			||||||
 | 
					        goto bad;
 | 
				
			||||||
 | 
					    itemsize = PyLong_AsSsize_t(py_itemsize);
 | 
				
			||||||
 | 
					    Py_DECREF(py_itemsize);
 | 
				
			||||||
 | 
					    py_itemsize = 0;
 | 
				
			||||||
 | 
					    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
 | 
				
			||||||
 | 
					        goto bad;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    if ((size_t)basicsize < size) {
 | 
					    if (itemsize) {
 | 
				
			||||||
 | 
					        if (size % alignment) {
 | 
				
			||||||
 | 
					            alignment = size % alignment;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (itemsize < (Py_ssize_t)alignment)
 | 
				
			||||||
 | 
					            itemsize = (Py_ssize_t)alignment;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if ((size_t)(basicsize + itemsize) < size) {
 | 
				
			||||||
        PyErr_Format(PyExc_ValueError,
 | 
					        PyErr_Format(PyExc_ValueError,
 | 
				
			||||||
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
					            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
				
			||||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
					            "Expected %zd from C header, got %zd from PyObject",
 | 
				
			||||||
            module_name, class_name, size, basicsize);
 | 
					            module_name, class_name, size, basicsize);
 | 
				
			||||||
        goto bad;
 | 
					        goto bad;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
 | 
					    if (check_size == __Pyx_ImportType_CheckSize_Error_0_29_36 && (size_t)basicsize != size) {
 | 
				
			||||||
        PyErr_Format(PyExc_ValueError,
 | 
					        PyErr_Format(PyExc_ValueError,
 | 
				
			||||||
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
					            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
				
			||||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
					            "Expected %zd from C header, got %zd from PyObject",
 | 
				
			||||||
            module_name, class_name, size, basicsize);
 | 
					            module_name, class_name, size, basicsize);
 | 
				
			||||||
        goto bad;
 | 
					        goto bad;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
 | 
					    else if (check_size == __Pyx_ImportType_CheckSize_Warn_0_29_36 && (size_t)basicsize > size) {
 | 
				
			||||||
        PyOS_snprintf(warning, sizeof(warning),
 | 
					        PyOS_snprintf(warning, sizeof(warning),
 | 
				
			||||||
            "%s.%s size changed, may indicate binary incompatibility. "
 | 
					            "%s.%s size changed, may indicate binary incompatibility. "
 | 
				
			||||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
					            "Expected %zd from C header, got %zd from PyObject",
 | 
				
			||||||
| 
						 | 
					@ -16911,7 +16907,7 @@ bad:
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* GetVTable */
 | 
					/* GetVTable */
 | 
				
			||||||
static void* __Pyx_GetVtable(PyObject *dict) {
 | 
					  static void* __Pyx_GetVtable(PyObject *dict) {
 | 
				
			||||||
    void* ptr;
 | 
					    void* ptr;
 | 
				
			||||||
    PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable);
 | 
					    PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable);
 | 
				
			||||||
    if (!ob)
 | 
					    if (!ob)
 | 
				
			||||||
| 
						 | 
					@ -16931,7 +16927,7 @@ bad:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Import */
 | 
					/* Import */
 | 
				
			||||||
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
 | 
					  static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
 | 
				
			||||||
    PyObject *empty_list = 0;
 | 
					    PyObject *empty_list = 0;
 | 
				
			||||||
    PyObject *module = 0;
 | 
					    PyObject *module = 0;
 | 
				
			||||||
    PyObject *global_dict = 0;
 | 
					    PyObject *global_dict = 0;
 | 
				
			||||||
| 
						 | 
					@ -16996,7 +16992,7 @@ bad:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PatchInspect */
 | 
					/* PatchInspect */
 | 
				
			||||||
static PyObject* __Pyx_patch_inspect(PyObject* module) {
 | 
					  static PyObject* __Pyx_patch_inspect(PyObject* module) {
 | 
				
			||||||
#if defined(__Pyx_Generator_USED) && (!defined(CYTHON_PATCH_INSPECT) || CYTHON_PATCH_INSPECT)
 | 
					#if defined(__Pyx_Generator_USED) && (!defined(CYTHON_PATCH_INSPECT) || CYTHON_PATCH_INSPECT)
 | 
				
			||||||
    static int inspect_patched = 0;
 | 
					    static int inspect_patched = 0;
 | 
				
			||||||
    if (unlikely((!inspect_patched) && module)) {
 | 
					    if (unlikely((!inspect_patched) && module)) {
 | 
				
			||||||
| 
						 | 
					@ -17021,7 +17017,7 @@ static PyObject* __Pyx_patch_inspect(PyObject* module) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PatchAsyncIO */
 | 
					/* PatchAsyncIO */
 | 
				
			||||||
static PyObject* __Pyx_patch_asyncio(PyObject* module) {
 | 
					  static PyObject* __Pyx_patch_asyncio(PyObject* module) {
 | 
				
			||||||
#if PY_VERSION_HEX < 0x030500B2 &&\
 | 
					#if PY_VERSION_HEX < 0x030500B2 &&\
 | 
				
			||||||
        (defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED)) &&\
 | 
					        (defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED)) &&\
 | 
				
			||||||
        (!defined(CYTHON_PATCH_ASYNCIO) || CYTHON_PATCH_ASYNCIO)
 | 
					        (!defined(CYTHON_PATCH_ASYNCIO) || CYTHON_PATCH_ASYNCIO)
 | 
				
			||||||
| 
						 | 
					@ -17104,7 +17100,7 @@ ignore:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ImportFrom */
 | 
					/* ImportFrom */
 | 
				
			||||||
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
 | 
					  static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
 | 
				
			||||||
    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
 | 
					    PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
 | 
				
			||||||
    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
 | 
					    if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
 | 
				
			||||||
        PyErr_Format(PyExc_ImportError,
 | 
					        PyErr_Format(PyExc_ImportError,
 | 
				
			||||||
| 
						 | 
					@ -17118,8 +17114,8 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CLineInTraceback */
 | 
					/* CLineInTraceback */
 | 
				
			||||||
#ifndef CYTHON_CLINE_IN_TRACEBACK
 | 
					  #ifndef CYTHON_CLINE_IN_TRACEBACK
 | 
				
			||||||
static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
 | 
					static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
 | 
				
			||||||
    PyObject *use_cline;
 | 
					    PyObject *use_cline;
 | 
				
			||||||
    PyObject *ptype, *pvalue, *ptraceback;
 | 
					    PyObject *ptype, *pvalue, *ptraceback;
 | 
				
			||||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
					#if CYTHON_COMPILING_IN_CPYTHON
 | 
				
			||||||
| 
						 | 
					@ -17160,7 +17156,7 @@ static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CodeObjectCache */
 | 
					/* CodeObjectCache */
 | 
				
			||||||
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
 | 
					  static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
 | 
				
			||||||
    int start = 0, mid = 0, end = count - 1;
 | 
					    int start = 0, mid = 0, end = count - 1;
 | 
				
			||||||
    if (end >= 0 && code_line > entries[end].code_line) {
 | 
					    if (end >= 0 && code_line > entries[end].code_line) {
 | 
				
			||||||
        return count;
 | 
					        return count;
 | 
				
			||||||
| 
						 | 
					@ -17240,7 +17236,7 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* AddTraceback */
 | 
					/* AddTraceback */
 | 
				
			||||||
#include "compile.h"
 | 
					  #include "compile.h"
 | 
				
			||||||
#include "frameobject.h"
 | 
					#include "frameobject.h"
 | 
				
			||||||
#include "traceback.h"
 | 
					#include "traceback.h"
 | 
				
			||||||
#if PY_VERSION_HEX >= 0x030b00a6
 | 
					#if PY_VERSION_HEX >= 0x030b00a6
 | 
				
			||||||
| 
						 | 
					@ -17347,7 +17343,7 @@ bad:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CIntFromPyVerify */
 | 
					/* CIntFromPyVerify */
 | 
				
			||||||
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
 | 
					  #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
 | 
				
			||||||
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
 | 
					    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
 | 
				
			||||||
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
 | 
					#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
 | 
				
			||||||
    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
 | 
					    __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
 | 
				
			||||||
| 
						 | 
					@ -17369,7 +17365,7 @@ bad:
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CIntToPy */
 | 
					/* CIntToPy */
 | 
				
			||||||
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
 | 
					  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
 | 
				
			||||||
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
					#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
				
			||||||
#pragma GCC diagnostic push
 | 
					#pragma GCC diagnostic push
 | 
				
			||||||
#pragma GCC diagnostic ignored "-Wconversion"
 | 
					#pragma GCC diagnostic ignored "-Wconversion"
 | 
				
			||||||
| 
						 | 
					@ -17407,7 +17403,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CIntFromPy */
 | 
					/* CIntFromPy */
 | 
				
			||||||
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
 | 
					  static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
 | 
				
			||||||
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
					#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
				
			||||||
#pragma GCC diagnostic push
 | 
					#pragma GCC diagnostic push
 | 
				
			||||||
#pragma GCC diagnostic ignored "-Wconversion"
 | 
					#pragma GCC diagnostic ignored "-Wconversion"
 | 
				
			||||||
| 
						 | 
					@ -17466,7 +17462,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
					#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
 | 
				
			||||||
            if (unlikely(Py_SIZE(x) < 0)) {
 | 
					            if (unlikely(Py_SIZE(x) < 0)) {
 | 
				
			||||||
                goto raise_neg_overflow;
 | 
					                goto raise_neg_overflow;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -17603,7 +17599,7 @@ raise_neg_overflow:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CIntToPy */
 | 
					/* CIntToPy */
 | 
				
			||||||
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
 | 
					  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
 | 
				
			||||||
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
					#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
				
			||||||
#pragma GCC diagnostic push
 | 
					#pragma GCC diagnostic push
 | 
				
			||||||
#pragma GCC diagnostic ignored "-Wconversion"
 | 
					#pragma GCC diagnostic ignored "-Wconversion"
 | 
				
			||||||
| 
						 | 
					@ -17641,7 +17637,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CIntFromPy */
 | 
					/* CIntFromPy */
 | 
				
			||||||
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
 | 
					  static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
 | 
				
			||||||
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
					#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
 | 
				
			||||||
#pragma GCC diagnostic push
 | 
					#pragma GCC diagnostic push
 | 
				
			||||||
#pragma GCC diagnostic ignored "-Wconversion"
 | 
					#pragma GCC diagnostic ignored "-Wconversion"
 | 
				
			||||||
| 
						 | 
					@ -17700,7 +17696,7 @@ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
					#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
 | 
				
			||||||
            if (unlikely(Py_SIZE(x) < 0)) {
 | 
					            if (unlikely(Py_SIZE(x) < 0)) {
 | 
				
			||||||
                goto raise_neg_overflow;
 | 
					                goto raise_neg_overflow;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -17837,7 +17833,7 @@ raise_neg_overflow:
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* FastTypeChecks */
 | 
					/* FastTypeChecks */
 | 
				
			||||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
					  #if CYTHON_COMPILING_IN_CPYTHON
 | 
				
			||||||
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
 | 
					static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
 | 
				
			||||||
    while (a) {
 | 
					    while (a) {
 | 
				
			||||||
        a = a->tp_base;
 | 
					        a = a->tp_base;
 | 
				
			||||||
| 
						 | 
					@ -17937,7 +17933,7 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Generator */
 | 
					/* Generator */
 | 
				
			||||||
static PyMethodDef __pyx_Generator_methods[] = {
 | 
					  static PyMethodDef __pyx_Generator_methods[] = {
 | 
				
			||||||
    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
 | 
					    {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
 | 
				
			||||||
     (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
 | 
					     (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
 | 
				
			||||||
    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
 | 
					    {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
 | 
				
			||||||
| 
						 | 
					@ -18025,7 +18021,10 @@ static PyTypeObject __pyx_GeneratorType_type = {
 | 
				
			||||||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
					#if PY_VERSION_HEX >= 0x030C0000
 | 
				
			||||||
 | 
					    0,
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
				
			||||||
    0,
 | 
					    0,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -18040,7 +18039,7 @@ static int __pyx_Generator_init(void) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* CheckBinaryVersion */
 | 
					/* CheckBinaryVersion */
 | 
				
			||||||
static int __Pyx_check_binary_version(void) {
 | 
					  static int __Pyx_check_binary_version(void) {
 | 
				
			||||||
    char ctversion[5];
 | 
					    char ctversion[5];
 | 
				
			||||||
    int same=1, i, found_dot;
 | 
					    int same=1, i, found_dot;
 | 
				
			||||||
    const char* rt_from_call = Py_GetVersion();
 | 
					    const char* rt_from_call = Py_GetVersion();
 | 
				
			||||||
| 
						 | 
					@ -18078,9 +18077,9 @@ static int __Pyx_check_binary_version(void) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* VoidPtrImport */
 | 
					/* VoidPtrImport */
 | 
				
			||||||
#ifndef __PYX_HAVE_RT_ImportVoidPtr
 | 
					  #ifndef __PYX_HAVE_RT_ImportVoidPtr_0_29_36
 | 
				
			||||||
#define __PYX_HAVE_RT_ImportVoidPtr
 | 
					#define __PYX_HAVE_RT_ImportVoidPtr_0_29_36
 | 
				
			||||||
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig) {
 | 
					static int __Pyx_ImportVoidPtr_0_29_36(PyObject *module, const char *name, void **p, const char *sig) {
 | 
				
			||||||
    PyObject *d = 0;
 | 
					    PyObject *d = 0;
 | 
				
			||||||
    PyObject *cobj = 0;
 | 
					    PyObject *cobj = 0;
 | 
				
			||||||
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
 | 
					    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
 | 
				
			||||||
| 
						 | 
					@ -18127,7 +18126,7 @@ bad:
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* InitStrings */
 | 
					/* InitStrings */
 | 
				
			||||||
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
 | 
					  static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
 | 
				
			||||||
    while (t->p) {
 | 
					    while (t->p) {
 | 
				
			||||||
        #if PY_MAJOR_VERSION < 3
 | 
					        #if PY_MAJOR_VERSION < 3
 | 
				
			||||||
        if (t->is_unicode) {
 | 
					        if (t->is_unicode) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -6,30 +6,30 @@ from pytest import fixture, mark, raises
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Section11(pydantic.BaseModel):
 | 
					class Section11(pydantic.BaseModel):
 | 
				
			||||||
    value1 = 1
 | 
					    value1: int = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Section12(pydantic.BaseModel):
 | 
					class Section12(pydantic.BaseModel):
 | 
				
			||||||
    value2 = 2
 | 
					    value2: int = 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Settings1(pydantic.BaseSettings):
 | 
					class Settings1(pydantic.BaseSettings):
 | 
				
			||||||
    section1 = Section11()
 | 
					    section1: Section11 = Section11()
 | 
				
			||||||
    section2 = Section12()
 | 
					    section2: Section12 = Section12()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Section21(pydantic.BaseModel):
 | 
					class Section21(pydantic.BaseModel):
 | 
				
			||||||
    value1 = 11
 | 
					    value1: int = 11
 | 
				
			||||||
    value11 = 11
 | 
					    value11: int = 11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Section3(pydantic.BaseModel):
 | 
					class Section3(pydantic.BaseModel):
 | 
				
			||||||
    value3 = 3
 | 
					    value3: int = 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Settings2(pydantic.BaseSettings):
 | 
					class Settings2(pydantic.BaseSettings):
 | 
				
			||||||
    section1 = Section21()
 | 
					    section1: Section21 = Section21()
 | 
				
			||||||
    section3 = Section3()
 | 
					    section3: Section3= Section3()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@fixture
 | 
					@fixture
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										47
									
								
								tox.ini
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								tox.ini
									
									
									
									
									
								
							| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
[tox]
 | 
					[tox]
 | 
				
			||||||
envlist=
 | 
					envlist=
 | 
				
			||||||
    coveralls, pylint, flake8, pydocstyle, 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, pypy2.7, pypy3.9
 | 
					    coveralls, pylint, flake8, pydocstyle, 3.8, 3.9, 3.10, 3.11, 3.12, pypy3.9, pypy3.10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[testenv]
 | 
					[testenv]
 | 
				
			||||||
deps=
 | 
					deps=
 | 
				
			||||||
| 
						 | 
					@ -10,25 +10,26 @@ deps=
 | 
				
			||||||
    typing_extensions
 | 
					    typing_extensions
 | 
				
			||||||
    httpx
 | 
					    httpx
 | 
				
			||||||
    fastapi
 | 
					    fastapi
 | 
				
			||||||
 | 
					    flask<2.2
 | 
				
			||||||
 | 
					    aiohttp<=3.9.0b1
 | 
				
			||||||
    numpy
 | 
					    numpy
 | 
				
			||||||
    scipy
 | 
					    scipy
 | 
				
			||||||
    boto3
 | 
					    boto3
 | 
				
			||||||
    mypy_boto3_s3
 | 
					    mypy_boto3_s3
 | 
				
			||||||
 | 
					    pydantic<2
 | 
				
			||||||
 | 
					    werkzeug<=2.2.2
 | 
				
			||||||
extras=
 | 
					extras=
 | 
				
			||||||
    yaml
 | 
					    yaml
 | 
				
			||||||
    pydantic
 | 
					 | 
				
			||||||
    flask
 | 
					 | 
				
			||||||
    aiohttp
 | 
					 | 
				
			||||||
commands = pytest -c tests/.configs/pytest.ini
 | 
					commands = pytest -c tests/.configs/pytest.ini
 | 
				
			||||||
python_files = test_*_py3*.py
 | 
					python_files = test_*_py3*.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[testenv:coveralls]
 | 
					[testenv:coveralls]
 | 
				
			||||||
passenv = GITHUB_*, COVERALLS_*
 | 
					passenv = GITHUB_*, COVERALLS_*
 | 
				
			||||||
basepython=python3.11
 | 
					basepython=python3.12
 | 
				
			||||||
usedevelop=True
 | 
					usedevelop=True
 | 
				
			||||||
deps=
 | 
					deps=
 | 
				
			||||||
    {[testenv]deps}
 | 
					    {[testenv]deps}
 | 
				
			||||||
    cython
 | 
					    cython<0.30
 | 
				
			||||||
    coverage
 | 
					    coverage
 | 
				
			||||||
    coveralls
 | 
					    coveralls
 | 
				
			||||||
commands=
 | 
					commands=
 | 
				
			||||||
| 
						 | 
					@ -37,49 +38,27 @@ commands=
 | 
				
			||||||
    coverage report --rcfile=./.coveragerc
 | 
					    coverage report --rcfile=./.coveragerc
 | 
				
			||||||
    coveralls
 | 
					    coveralls
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[testenv:2.7]
 | 
					 | 
				
			||||||
deps=
 | 
					 | 
				
			||||||
    pytest
 | 
					 | 
				
			||||||
extras=
 | 
					 | 
				
			||||||
    yaml
 | 
					 | 
				
			||||||
    flask
 | 
					 | 
				
			||||||
commands = pytest -c tests/.configs/pytest-py27.ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[testenv:3.5]
 | 
					 | 
				
			||||||
deps=
 | 
					 | 
				
			||||||
    pytest
 | 
					 | 
				
			||||||
    pytest-asyncio
 | 
					 | 
				
			||||||
    contextvars
 | 
					 | 
				
			||||||
extras=
 | 
					 | 
				
			||||||
    yaml
 | 
					 | 
				
			||||||
    flask
 | 
					 | 
				
			||||||
commands = pytest -c tests/.configs/pytest-py35.ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[testenv:pypy2.7]
 | 
					 | 
				
			||||||
deps=
 | 
					 | 
				
			||||||
    pytest
 | 
					 | 
				
			||||||
extras=
 | 
					 | 
				
			||||||
    yaml
 | 
					 | 
				
			||||||
    flask
 | 
					 | 
				
			||||||
commands = pytest -c tests/.configs/pytest-py27.ini
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[testenv:pypy3.9]
 | 
					[testenv:pypy3.9]
 | 
				
			||||||
deps=
 | 
					deps=
 | 
				
			||||||
    pytest
 | 
					    pytest
 | 
				
			||||||
    pytest-asyncio
 | 
					    pytest-asyncio
 | 
				
			||||||
    httpx
 | 
					    httpx
 | 
				
			||||||
 | 
					    flask<2.2
 | 
				
			||||||
 | 
					    pydantic<2
 | 
				
			||||||
 | 
					    werkzeug<=2.2.2 
 | 
				
			||||||
    fastapi
 | 
					    fastapi
 | 
				
			||||||
    boto3
 | 
					    boto3
 | 
				
			||||||
    mypy_boto3_s3
 | 
					    mypy_boto3_s3
 | 
				
			||||||
extras=
 | 
					extras=
 | 
				
			||||||
    yaml
 | 
					    yaml
 | 
				
			||||||
    flask
 | 
					commands = pytest -c tests/.configs/pytest-py35.ini
 | 
				
			||||||
commands = pytest -c tests/.configs/pytest-py27.ini
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[testenv:pylint]
 | 
					[testenv:pylint]
 | 
				
			||||||
deps=
 | 
					deps=
 | 
				
			||||||
    pylint
 | 
					    pylint
 | 
				
			||||||
 | 
					    flask<2.2
 | 
				
			||||||
 | 
					    werkzeug<=2.2.2
 | 
				
			||||||
commands=
 | 
					commands=
 | 
				
			||||||
    - pylint -f colorized --rcfile=./.pylintrc src/dependency_injector
 | 
					    - pylint -f colorized --rcfile=./.pylintrc src/dependency_injector
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user