Path: blob/master/ invest-robot-contest_TinkoffBotTwitch-main/venv/lib/python3.8/site-packages/aiohttp/_helpers.c
7763 views
/* Generated by Cython 0.29.24 */12#ifndef PY_SSIZE_T_CLEAN3#define PY_SSIZE_T_CLEAN4#endif /* PY_SSIZE_T_CLEAN */5#include "Python.h"6#ifndef Py_PYTHON_H7#error Python headers needed to compile C extensions, please install development version of Python.8#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)9#error Cython requires Python 2.6+ or Python 3.3+.10#else11#define CYTHON_ABI "0_29_24"12#define CYTHON_HEX_VERSION 0x001D18F013#define CYTHON_FUTURE_DIVISION 114#include <stddef.h>15#ifndef offsetof16#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )17#endif18#if !defined(WIN32) && !defined(MS_WINDOWS)19#ifndef __stdcall20#define __stdcall21#endif22#ifndef __cdecl23#define __cdecl24#endif25#ifndef __fastcall26#define __fastcall27#endif28#endif29#ifndef DL_IMPORT30#define DL_IMPORT(t) t31#endif32#ifndef DL_EXPORT33#define DL_EXPORT(t) t34#endif35#define __PYX_COMMA ,36#ifndef HAVE_LONG_LONG37#if PY_VERSION_HEX >= 0x0207000038#define HAVE_LONG_LONG39#endif40#endif41#ifndef PY_LONG_LONG42#define PY_LONG_LONG LONG_LONG43#endif44#ifndef Py_HUGE_VAL45#define Py_HUGE_VAL HUGE_VAL46#endif47#ifdef PYPY_VERSION48#define CYTHON_COMPILING_IN_PYPY 149#define CYTHON_COMPILING_IN_PYSTON 050#define CYTHON_COMPILING_IN_CPYTHON 051#undef CYTHON_USE_TYPE_SLOTS52#define CYTHON_USE_TYPE_SLOTS 053#undef CYTHON_USE_PYTYPE_LOOKUP54#define CYTHON_USE_PYTYPE_LOOKUP 055#if PY_VERSION_HEX < 0x0305000056#undef CYTHON_USE_ASYNC_SLOTS57#define CYTHON_USE_ASYNC_SLOTS 058#elif !defined(CYTHON_USE_ASYNC_SLOTS)59#define CYTHON_USE_ASYNC_SLOTS 160#endif61#undef CYTHON_USE_PYLIST_INTERNALS62#define CYTHON_USE_PYLIST_INTERNALS 063#undef CYTHON_USE_UNICODE_INTERNALS64#define CYTHON_USE_UNICODE_INTERNALS 065#undef CYTHON_USE_UNICODE_WRITER66#define CYTHON_USE_UNICODE_WRITER 067#undef CYTHON_USE_PYLONG_INTERNALS68#define CYTHON_USE_PYLONG_INTERNALS 069#undef CYTHON_AVOID_BORROWED_REFS70#define CYTHON_AVOID_BORROWED_REFS 171#undef CYTHON_ASSUME_SAFE_MACROS72#define CYTHON_ASSUME_SAFE_MACROS 073#undef CYTHON_UNPACK_METHODS74#define CYTHON_UNPACK_METHODS 075#undef CYTHON_FAST_THREAD_STATE76#define CYTHON_FAST_THREAD_STATE 077#undef CYTHON_FAST_PYCALL78#define CYTHON_FAST_PYCALL 079#undef CYTHON_PEP489_MULTI_PHASE_INIT80#define CYTHON_PEP489_MULTI_PHASE_INIT 081#undef CYTHON_USE_TP_FINALIZE82#define CYTHON_USE_TP_FINALIZE 083#undef CYTHON_USE_DICT_VERSIONS84#define CYTHON_USE_DICT_VERSIONS 085#undef CYTHON_USE_EXC_INFO_STACK86#define CYTHON_USE_EXC_INFO_STACK 087#elif defined(PYSTON_VERSION)88#define CYTHON_COMPILING_IN_PYPY 089#define CYTHON_COMPILING_IN_PYSTON 190#define CYTHON_COMPILING_IN_CPYTHON 091#ifndef CYTHON_USE_TYPE_SLOTS92#define CYTHON_USE_TYPE_SLOTS 193#endif94#undef CYTHON_USE_PYTYPE_LOOKUP95#define CYTHON_USE_PYTYPE_LOOKUP 096#undef CYTHON_USE_ASYNC_SLOTS97#define CYTHON_USE_ASYNC_SLOTS 098#undef CYTHON_USE_PYLIST_INTERNALS99#define CYTHON_USE_PYLIST_INTERNALS 0100#ifndef CYTHON_USE_UNICODE_INTERNALS101#define CYTHON_USE_UNICODE_INTERNALS 1102#endif103#undef CYTHON_USE_UNICODE_WRITER104#define CYTHON_USE_UNICODE_WRITER 0105#undef CYTHON_USE_PYLONG_INTERNALS106#define CYTHON_USE_PYLONG_INTERNALS 0107#ifndef CYTHON_AVOID_BORROWED_REFS108#define CYTHON_AVOID_BORROWED_REFS 0109#endif110#ifndef CYTHON_ASSUME_SAFE_MACROS111#define CYTHON_ASSUME_SAFE_MACROS 1112#endif113#ifndef CYTHON_UNPACK_METHODS114#define CYTHON_UNPACK_METHODS 1115#endif116#undef CYTHON_FAST_THREAD_STATE117#define CYTHON_FAST_THREAD_STATE 0118#undef CYTHON_FAST_PYCALL119#define CYTHON_FAST_PYCALL 0120#undef CYTHON_PEP489_MULTI_PHASE_INIT121#define CYTHON_PEP489_MULTI_PHASE_INIT 0122#undef CYTHON_USE_TP_FINALIZE123#define CYTHON_USE_TP_FINALIZE 0124#undef CYTHON_USE_DICT_VERSIONS125#define CYTHON_USE_DICT_VERSIONS 0126#undef CYTHON_USE_EXC_INFO_STACK127#define CYTHON_USE_EXC_INFO_STACK 0128#else129#define CYTHON_COMPILING_IN_PYPY 0130#define CYTHON_COMPILING_IN_PYSTON 0131#define CYTHON_COMPILING_IN_CPYTHON 1132#ifndef CYTHON_USE_TYPE_SLOTS133#define CYTHON_USE_TYPE_SLOTS 1134#endif135#if PY_VERSION_HEX < 0x02070000136#undef CYTHON_USE_PYTYPE_LOOKUP137#define CYTHON_USE_PYTYPE_LOOKUP 0138#elif !defined(CYTHON_USE_PYTYPE_LOOKUP)139#define CYTHON_USE_PYTYPE_LOOKUP 1140#endif141#if PY_MAJOR_VERSION < 3142#undef CYTHON_USE_ASYNC_SLOTS143#define CYTHON_USE_ASYNC_SLOTS 0144#elif !defined(CYTHON_USE_ASYNC_SLOTS)145#define CYTHON_USE_ASYNC_SLOTS 1146#endif147#if PY_VERSION_HEX < 0x02070000148#undef CYTHON_USE_PYLONG_INTERNALS149#define CYTHON_USE_PYLONG_INTERNALS 0150#elif !defined(CYTHON_USE_PYLONG_INTERNALS)151#define CYTHON_USE_PYLONG_INTERNALS 1152#endif153#ifndef CYTHON_USE_PYLIST_INTERNALS154#define CYTHON_USE_PYLIST_INTERNALS 1155#endif156#ifndef CYTHON_USE_UNICODE_INTERNALS157#define CYTHON_USE_UNICODE_INTERNALS 1158#endif159#if PY_VERSION_HEX < 0x030300F0160#undef CYTHON_USE_UNICODE_WRITER161#define CYTHON_USE_UNICODE_WRITER 0162#elif !defined(CYTHON_USE_UNICODE_WRITER)163#define CYTHON_USE_UNICODE_WRITER 1164#endif165#ifndef CYTHON_AVOID_BORROWED_REFS166#define CYTHON_AVOID_BORROWED_REFS 0167#endif168#ifndef CYTHON_ASSUME_SAFE_MACROS169#define CYTHON_ASSUME_SAFE_MACROS 1170#endif171#ifndef CYTHON_UNPACK_METHODS172#define CYTHON_UNPACK_METHODS 1173#endif174#ifndef CYTHON_FAST_THREAD_STATE175#define CYTHON_FAST_THREAD_STATE 1176#endif177#ifndef CYTHON_FAST_PYCALL178#define CYTHON_FAST_PYCALL 1179#endif180#ifndef CYTHON_PEP489_MULTI_PHASE_INIT181#define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)182#endif183#ifndef CYTHON_USE_TP_FINALIZE184#define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)185#endif186#ifndef CYTHON_USE_DICT_VERSIONS187#define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)188#endif189#ifndef CYTHON_USE_EXC_INFO_STACK190#define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)191#endif192#endif193#if !defined(CYTHON_FAST_PYCCALL)194#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)195#endif196#if CYTHON_USE_PYLONG_INTERNALS197#include "longintrepr.h"198#undef SHIFT199#undef BASE200#undef MASK201#ifdef SIZEOF_VOID_P202enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };203#endif204#endif205#ifndef __has_attribute206#define __has_attribute(x) 0207#endif208#ifndef __has_cpp_attribute209#define __has_cpp_attribute(x) 0210#endif211#ifndef CYTHON_RESTRICT212#if defined(__GNUC__)213#define CYTHON_RESTRICT __restrict__214#elif defined(_MSC_VER) && _MSC_VER >= 1400215#define CYTHON_RESTRICT __restrict216#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L217#define CYTHON_RESTRICT restrict218#else219#define CYTHON_RESTRICT220#endif221#endif222#ifndef CYTHON_UNUSED223# if defined(__GNUC__)224# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))225# define CYTHON_UNUSED __attribute__ ((__unused__))226# else227# define CYTHON_UNUSED228# endif229# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))230# define CYTHON_UNUSED __attribute__ ((__unused__))231# else232# define CYTHON_UNUSED233# endif234#endif235#ifndef CYTHON_MAYBE_UNUSED_VAR236# if defined(__cplusplus)237template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }238# else239# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)240# endif241#endif242#ifndef CYTHON_NCP_UNUSED243# if CYTHON_COMPILING_IN_CPYTHON244# define CYTHON_NCP_UNUSED245# else246# define CYTHON_NCP_UNUSED CYTHON_UNUSED247# endif248#endif249#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)250#ifdef _MSC_VER251#ifndef _MSC_STDINT_H_252#if _MSC_VER < 1300253typedef unsigned char uint8_t;254typedef unsigned int uint32_t;255#else256typedef unsigned __int8 uint8_t;257typedef unsigned __int32 uint32_t;258#endif259#endif260#else261#include <stdint.h>262#endif263#ifndef CYTHON_FALLTHROUGH264#if defined(__cplusplus) && __cplusplus >= 201103L265#if __has_cpp_attribute(fallthrough)266#define CYTHON_FALLTHROUGH [[fallthrough]]267#elif __has_cpp_attribute(clang::fallthrough)268#define CYTHON_FALLTHROUGH [[clang::fallthrough]]269#elif __has_cpp_attribute(gnu::fallthrough)270#define CYTHON_FALLTHROUGH [[gnu::fallthrough]]271#endif272#endif273#ifndef CYTHON_FALLTHROUGH274#if __has_attribute(fallthrough)275#define CYTHON_FALLTHROUGH __attribute__((fallthrough))276#else277#define CYTHON_FALLTHROUGH278#endif279#endif280#if defined(__clang__ ) && defined(__apple_build_version__)281#if __apple_build_version__ < 7000000282#undef CYTHON_FALLTHROUGH283#define CYTHON_FALLTHROUGH284#endif285#endif286#endif287288#ifndef CYTHON_INLINE289#if defined(__clang__)290#define CYTHON_INLINE __inline__ __attribute__ ((__unused__))291#elif defined(__GNUC__)292#define CYTHON_INLINE __inline__293#elif defined(_MSC_VER)294#define CYTHON_INLINE __inline295#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L296#define CYTHON_INLINE inline297#else298#define CYTHON_INLINE299#endif300#endif301302#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)303#define Py_OptimizeFlag 0304#endif305#define __PYX_BUILD_PY_SSIZE_T "n"306#define CYTHON_FORMAT_SSIZE_T "z"307#if PY_MAJOR_VERSION < 3308#define __Pyx_BUILTIN_MODULE_NAME "__builtin__"309#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\310PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)311#define __Pyx_DefaultClassType PyClass_Type312#else313#define __Pyx_BUILTIN_MODULE_NAME "builtins"314#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2315#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\316PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)317#else318#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\319PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)320#endif321#define __Pyx_DefaultClassType PyType_Type322#endif323#ifndef Py_TPFLAGS_CHECKTYPES324#define Py_TPFLAGS_CHECKTYPES 0325#endif326#ifndef Py_TPFLAGS_HAVE_INDEX327#define Py_TPFLAGS_HAVE_INDEX 0328#endif329#ifndef Py_TPFLAGS_HAVE_NEWBUFFER330#define Py_TPFLAGS_HAVE_NEWBUFFER 0331#endif332#ifndef Py_TPFLAGS_HAVE_FINALIZE333#define Py_TPFLAGS_HAVE_FINALIZE 0334#endif335#ifndef METH_STACKLESS336#define METH_STACKLESS 0337#endif338#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)339#ifndef METH_FASTCALL340#define METH_FASTCALL 0x80341#endif342typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);343typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,344Py_ssize_t nargs, PyObject *kwnames);345#else346#define __Pyx_PyCFunctionFast _PyCFunctionFast347#define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords348#endif349#if CYTHON_FAST_PYCCALL350#define __Pyx_PyFastCFunction_Check(func)\351((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))352#else353#define __Pyx_PyFastCFunction_Check(func) 0354#endif355#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)356#define PyObject_Malloc(s) PyMem_Malloc(s)357#define PyObject_Free(p) PyMem_Free(p)358#define PyObject_Realloc(p) PyMem_Realloc(p)359#endif360#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1361#define PyMem_RawMalloc(n) PyMem_Malloc(n)362#define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n)363#define PyMem_RawFree(p) PyMem_Free(p)364#endif365#if CYTHON_COMPILING_IN_PYSTON366#define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co)367#define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)368#else369#define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)370#define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)371#endif372#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000373#define __Pyx_PyThreadState_Current PyThreadState_GET()374#elif PY_VERSION_HEX >= 0x03060000375#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()376#elif PY_VERSION_HEX >= 0x03000000377#define __Pyx_PyThreadState_Current PyThreadState_GET()378#else379#define __Pyx_PyThreadState_Current _PyThreadState_Current380#endif381#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)382#include "pythread.h"383#define Py_tss_NEEDS_INIT 0384typedef int Py_tss_t;385static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {386*key = PyThread_create_key();387return 0;388}389static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {390Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));391*key = Py_tss_NEEDS_INIT;392return key;393}394static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {395PyObject_Free(key);396}397static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {398return *key != Py_tss_NEEDS_INIT;399}400static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {401PyThread_delete_key(*key);402*key = Py_tss_NEEDS_INIT;403}404static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {405return PyThread_set_key_value(*key, value);406}407static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {408return PyThread_get_key_value(*key);409}410#endif411#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)412#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))413#else414#define __Pyx_PyDict_NewPresized(n) PyDict_New()415#endif416#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION417#define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)418#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)419#else420#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)421#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)422#endif423#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS424#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)425#else426#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name)427#endif428#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)429#define CYTHON_PEP393_ENABLED 1430#if defined(PyUnicode_IS_READY)431#define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\4320 : _PyUnicode_Ready((PyObject *)(op)))433#else434#define __Pyx_PyUnicode_READY(op) (0)435#endif436#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)437#define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)438#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)439#define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)440#define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)441#define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)442#define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)443#if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)444#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000445#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))446#else447#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))448#endif449#else450#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))451#endif452#else453#define CYTHON_PEP393_ENABLED 0454#define PyUnicode_1BYTE_KIND 1455#define PyUnicode_2BYTE_KIND 2456#define PyUnicode_4BYTE_KIND 4457#define __Pyx_PyUnicode_READY(op) (0)458#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)459#define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))460#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)461#define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))462#define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))463#define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))464#define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch)465#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))466#endif467#if CYTHON_COMPILING_IN_PYPY468#define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)469#define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)470#else471#define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)472#define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\473PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))474#endif475#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)476#define PyUnicode_Contains(u, s) PySequence_Contains(u, s)477#endif478#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)479#define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)480#endif481#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)482#define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)483#endif484#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))485#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))486#if PY_MAJOR_VERSION >= 3487#define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)488#else489#define __Pyx_PyString_Format(a, b) PyString_Format(a, b)490#endif491#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)492#define PyObject_ASCII(o) PyObject_Repr(o)493#endif494#if PY_MAJOR_VERSION >= 3495#define PyBaseString_Type PyUnicode_Type496#define PyStringObject PyUnicodeObject497#define PyString_Type PyUnicode_Type498#define PyString_Check PyUnicode_Check499#define PyString_CheckExact PyUnicode_CheckExact500#ifndef PyObject_Unicode501#define PyObject_Unicode PyObject_Str502#endif503#endif504#if PY_MAJOR_VERSION >= 3505#define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)506#define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)507#else508#define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))509#define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))510#endif511#ifndef PySet_CheckExact512#define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)513#endif514#if PY_VERSION_HEX >= 0x030900A4515#define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)516#define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)517#else518#define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)519#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)520#endif521#if CYTHON_ASSUME_SAFE_MACROS522#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)523#else524#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)525#endif526#if PY_MAJOR_VERSION >= 3527#define PyIntObject PyLongObject528#define PyInt_Type PyLong_Type529#define PyInt_Check(op) PyLong_Check(op)530#define PyInt_CheckExact(op) PyLong_CheckExact(op)531#define PyInt_FromString PyLong_FromString532#define PyInt_FromUnicode PyLong_FromUnicode533#define PyInt_FromLong PyLong_FromLong534#define PyInt_FromSize_t PyLong_FromSize_t535#define PyInt_FromSsize_t PyLong_FromSsize_t536#define PyInt_AsLong PyLong_AsLong537#define PyInt_AS_LONG PyLong_AS_LONG538#define PyInt_AsSsize_t PyLong_AsSsize_t539#define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask540#define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask541#define PyNumber_Int PyNumber_Long542#endif543#if PY_MAJOR_VERSION >= 3544#define PyBoolObject PyLongObject545#endif546#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY547#ifndef PyUnicode_InternFromString548#define PyUnicode_InternFromString(s) PyUnicode_FromString(s)549#endif550#endif551#if PY_VERSION_HEX < 0x030200A4552typedef long Py_hash_t;553#define __Pyx_PyInt_FromHash_t PyInt_FromLong554#define __Pyx_PyInt_AsHash_t PyInt_AsLong555#else556#define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t557#define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t558#endif559#if PY_MAJOR_VERSION >= 3560#define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))561#else562#define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)563#endif564#if CYTHON_USE_ASYNC_SLOTS565#if PY_VERSION_HEX >= 0x030500B1566#define __Pyx_PyAsyncMethodsStruct PyAsyncMethods567#define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)568#else569#define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))570#endif571#else572#define __Pyx_PyType_AsAsync(obj) NULL573#endif574#ifndef __Pyx_PyAsyncMethodsStruct575typedef struct {576unaryfunc am_await;577unaryfunc am_aiter;578unaryfunc am_anext;579} __Pyx_PyAsyncMethodsStruct;580#endif581582#if defined(WIN32) || defined(MS_WINDOWS)583#define _USE_MATH_DEFINES584#endif585#include <math.h>586#ifdef NAN587#define __PYX_NAN() ((float) NAN)588#else589static CYTHON_INLINE float __PYX_NAN() {590float value;591memset(&value, 0xFF, sizeof(value));592return value;593}594#endif595#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)596#define __Pyx_truncl trunc597#else598#define __Pyx_truncl truncl599#endif600601#define __PYX_MARK_ERR_POS(f_index, lineno) \602{ __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }603#define __PYX_ERR(f_index, lineno, Ln_error) \604{ __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }605606#ifndef __PYX_EXTERN_C607#ifdef __cplusplus608#define __PYX_EXTERN_C extern "C"609#else610#define __PYX_EXTERN_C extern611#endif612#endif613614#define __PYX_HAVE__aiohttp___helpers615#define __PYX_HAVE_API__aiohttp___helpers616/* Early includes */617#ifdef _OPENMP618#include <omp.h>619#endif /* _OPENMP */620621#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)622#define CYTHON_WITHOUT_ASSERTIONS623#endif624625typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;626const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;627628#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0629#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0630#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)631#define __PYX_DEFAULT_STRING_ENCODING ""632#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString633#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize634#define __Pyx_uchar_cast(c) ((unsigned char)c)635#define __Pyx_long_cast(x) ((long)x)636#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\637(sizeof(type) < sizeof(Py_ssize_t)) ||\638(sizeof(type) > sizeof(Py_ssize_t) &&\639likely(v < (type)PY_SSIZE_T_MAX ||\640v == (type)PY_SSIZE_T_MAX) &&\641(!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\642v == (type)PY_SSIZE_T_MIN))) ||\643(sizeof(type) == sizeof(Py_ssize_t) &&\644(is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\645v == (type)PY_SSIZE_T_MAX))) )646static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {647return (size_t) i < (size_t) limit;648}649#if defined (__cplusplus) && __cplusplus >= 201103L650#include <cstdlib>651#define __Pyx_sst_abs(value) std::abs(value)652#elif SIZEOF_INT >= SIZEOF_SIZE_T653#define __Pyx_sst_abs(value) abs(value)654#elif SIZEOF_LONG >= SIZEOF_SIZE_T655#define __Pyx_sst_abs(value) labs(value)656#elif defined (_MSC_VER)657#define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))658#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L659#define __Pyx_sst_abs(value) llabs(value)660#elif defined (__GNUC__)661#define __Pyx_sst_abs(value) __builtin_llabs(value)662#else663#define __Pyx_sst_abs(value) ((value<0) ? -value : value)664#endif665static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);666static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);667#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))668#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)669#define __Pyx_PyBytes_FromString PyBytes_FromString670#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize671static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);672#if PY_MAJOR_VERSION < 3673#define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString674#define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize675#else676#define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString677#define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize678#endif679#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))680#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))681#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))682#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))683#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))684#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))685#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s))686#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s))687#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))688#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))689#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))690#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)691#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)692#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)693#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)694#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)695static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {696const Py_UNICODE *u_end = u;697while (*u_end++) ;698return (size_t)(u_end - u - 1);699}700#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))701#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode702#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode703#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)704#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)705static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);706static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);707static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);708static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);709#define __Pyx_PySequence_Tuple(obj)\710(likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))711static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);712static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);713#if CYTHON_ASSUME_SAFE_MACROS714#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))715#else716#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)717#endif718#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))719#if PY_MAJOR_VERSION >= 3720#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))721#else722#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))723#endif724#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))725#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII726static int __Pyx_sys_getdefaultencoding_not_ascii;727static int __Pyx_init_sys_getdefaultencoding_params(void) {728PyObject* sys;729PyObject* default_encoding = NULL;730PyObject* ascii_chars_u = NULL;731PyObject* ascii_chars_b = NULL;732const char* default_encoding_c;733sys = PyImport_ImportModule("sys");734if (!sys) goto bad;735default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);736Py_DECREF(sys);737if (!default_encoding) goto bad;738default_encoding_c = PyBytes_AsString(default_encoding);739if (!default_encoding_c) goto bad;740if (strcmp(default_encoding_c, "ascii") == 0) {741__Pyx_sys_getdefaultencoding_not_ascii = 0;742} else {743char ascii_chars[128];744int c;745for (c = 0; c < 128; c++) {746ascii_chars[c] = c;747}748__Pyx_sys_getdefaultencoding_not_ascii = 1;749ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);750if (!ascii_chars_u) goto bad;751ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);752if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {753PyErr_Format(754PyExc_ValueError,755"This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",756default_encoding_c);757goto bad;758}759Py_DECREF(ascii_chars_u);760Py_DECREF(ascii_chars_b);761}762Py_DECREF(default_encoding);763return 0;764bad:765Py_XDECREF(default_encoding);766Py_XDECREF(ascii_chars_u);767Py_XDECREF(ascii_chars_b);768return -1;769}770#endif771#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3772#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)773#else774#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)775#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT776static char* __PYX_DEFAULT_STRING_ENCODING;777static int __Pyx_init_sys_getdefaultencoding_params(void) {778PyObject* sys;779PyObject* default_encoding = NULL;780char* default_encoding_c;781sys = PyImport_ImportModule("sys");782if (!sys) goto bad;783default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);784Py_DECREF(sys);785if (!default_encoding) goto bad;786default_encoding_c = PyBytes_AsString(default_encoding);787if (!default_encoding_c) goto bad;788__PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);789if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;790strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);791Py_DECREF(default_encoding);792return 0;793bad:794Py_XDECREF(default_encoding);795return -1;796}797#endif798#endif799800801/* Test for GCC > 2.95 */802#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))803#define likely(x) __builtin_expect(!!(x), 1)804#define unlikely(x) __builtin_expect(!!(x), 0)805#else /* !__GNUC__ or GCC < 2.95 */806#define likely(x) (x)807#define unlikely(x) (x)808#endif /* __GNUC__ */809static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }810811static PyObject *__pyx_m = NULL;812static PyObject *__pyx_d;813static PyObject *__pyx_b;814static PyObject *__pyx_cython_runtime = NULL;815static PyObject *__pyx_empty_tuple;816static PyObject *__pyx_empty_bytes;817static PyObject *__pyx_empty_unicode;818static int __pyx_lineno;819static int __pyx_clineno = 0;820static const char * __pyx_cfilenm= __FILE__;821static const char *__pyx_filename;822823824static const char *__pyx_f[] = {825"aiohttp/_helpers.pyx",826"stringsource",827};828829/*--- Type declarations ---*/830struct __pyx_obj_7aiohttp_8_helpers_reify;831832/* "aiohttp/_helpers.pyx":1833* cdef class reify: # <<<<<<<<<<<<<<834* """Use as a class method decorator. It operates almost exactly like835* the Python `@property` decorator, but it puts the result of the836*/837struct __pyx_obj_7aiohttp_8_helpers_reify {838PyObject_HEAD839PyObject *wrapped;840PyObject *name;841};842843844/* --- Runtime support code (head) --- */845/* Refnanny.proto */846#ifndef CYTHON_REFNANNY847#define CYTHON_REFNANNY 0848#endif849#if CYTHON_REFNANNY850typedef struct {851void (*INCREF)(void*, PyObject*, int);852void (*DECREF)(void*, PyObject*, int);853void (*GOTREF)(void*, PyObject*, int);854void (*GIVEREF)(void*, PyObject*, int);855void* (*SetupContext)(const char*, int, const char*);856void (*FinishContext)(void**);857} __Pyx_RefNannyAPIStruct;858static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;859static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);860#define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;861#ifdef WITH_THREAD862#define __Pyx_RefNannySetupContext(name, acquire_gil)\863if (acquire_gil) {\864PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\865__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\866PyGILState_Release(__pyx_gilstate_save);\867} else {\868__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\869}870#else871#define __Pyx_RefNannySetupContext(name, acquire_gil)\872__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)873#endif874#define __Pyx_RefNannyFinishContext()\875__Pyx_RefNanny->FinishContext(&__pyx_refnanny)876#define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)877#define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)878#define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)879#define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)880#define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)881#define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)882#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)883#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)884#else885#define __Pyx_RefNannyDeclarations886#define __Pyx_RefNannySetupContext(name, acquire_gil)887#define __Pyx_RefNannyFinishContext()888#define __Pyx_INCREF(r) Py_INCREF(r)889#define __Pyx_DECREF(r) Py_DECREF(r)890#define __Pyx_GOTREF(r)891#define __Pyx_GIVEREF(r)892#define __Pyx_XINCREF(r) Py_XINCREF(r)893#define __Pyx_XDECREF(r) Py_XDECREF(r)894#define __Pyx_XGOTREF(r)895#define __Pyx_XGIVEREF(r)896#endif897#define __Pyx_XDECREF_SET(r, v) do {\898PyObject *tmp = (PyObject *) r;\899r = v; __Pyx_XDECREF(tmp);\900} while (0)901#define __Pyx_DECREF_SET(r, v) do {\902PyObject *tmp = (PyObject *) r;\903r = v; __Pyx_DECREF(tmp);\904} while (0)905#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)906#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)907908/* PyObjectGetAttrStr.proto */909#if CYTHON_USE_TYPE_SLOTS910static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);911#else912#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)913#endif914915/* GetBuiltinName.proto */916static PyObject *__Pyx_GetBuiltinName(PyObject *name);917918/* RaiseDoubleKeywords.proto */919static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);920921/* ParseKeywords.proto */922static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\923PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\924const char* function_name);925926/* RaiseArgTupleInvalid.proto */927static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,928Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);929930/* GetItemInt.proto */931#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\932(__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\933__Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\934(is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\935__Pyx_GetItemInt_Generic(o, to_py_func(i))))936#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\937(__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\938__Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\939(PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))940static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,941int wraparound, int boundscheck);942#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\943(__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\944__Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\945(PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))946static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,947int wraparound, int boundscheck);948static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);949static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,950int is_list, int wraparound, int boundscheck);951952/* ObjectGetItem.proto */953#if CYTHON_USE_TYPE_SLOTS954static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key);955#else956#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key)957#endif958959/* GetTopmostException.proto */960#if CYTHON_USE_EXC_INFO_STACK961static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);962#endif963964/* PyThreadStateGet.proto */965#if CYTHON_FAST_THREAD_STATE966#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;967#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;968#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type969#else970#define __Pyx_PyThreadState_declare971#define __Pyx_PyThreadState_assign972#define __Pyx_PyErr_Occurred() PyErr_Occurred()973#endif974975/* SaveResetException.proto */976#if CYTHON_FAST_THREAD_STATE977#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)978static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);979#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)980static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);981#else982#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)983#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)984#endif985986/* PyErrExceptionMatches.proto */987#if CYTHON_FAST_THREAD_STATE988#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)989static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);990#else991#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)992#endif993994/* GetException.proto */995#if CYTHON_FAST_THREAD_STATE996#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)997static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);998#else999static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);1000#endif10011002/* PyCFunctionFastCall.proto */1003#if CYTHON_FAST_PYCCALL1004static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);1005#else1006#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)1007#endif10081009/* PyFunctionFastCall.proto */1010#if CYTHON_FAST_PYCALL1011#define __Pyx_PyFunction_FastCall(func, args, nargs)\1012__Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)1013#if 1 || PY_VERSION_HEX < 0x030600B11014static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);1015#else1016#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)1017#endif1018#define __Pyx_BUILD_ASSERT_EXPR(cond)\1019(sizeof(char [1 - 2*!(cond)]) - 1)1020#ifndef Py_MEMBER_SIZE1021#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)1022#endif1023static size_t __pyx_pyframe_localsplus_offset = 0;1024#include "frameobject.h"1025#define __Pxy_PyFrame_Initialize_Offsets()\1026((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\1027(void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))1028#define __Pyx_PyFrame_GetLocalsplus(frame)\1029(assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))1030#endif10311032/* PyObjectCall.proto */1033#if CYTHON_COMPILING_IN_CPYTHON1034static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);1035#else1036#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)1037#endif10381039/* PyObjectCall2Args.proto */1040static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);10411042/* PyObjectCallMethO.proto */1043#if CYTHON_COMPILING_IN_CPYTHON1044static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);1045#endif10461047/* PyObjectCallOneArg.proto */1048static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);10491050/* PyErrFetchRestore.proto */1051#if CYTHON_FAST_THREAD_STATE1052#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)1053#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)1054#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)1055#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)1056#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)1057static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);1058static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);1059#if CYTHON_COMPILING_IN_CPYTHON1060#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))1061#else1062#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)1063#endif1064#else1065#define __Pyx_PyErr_Clear() PyErr_Clear()1066#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)1067#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)1068#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)1069#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)1070#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)1071#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)1072#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)1073#endif10741075/* RaiseException.proto */1076static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);10771078/* GetAttr.proto */1079static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);10801081/* GetAttr3.proto */1082static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);10831084/* PyDictVersioning.proto */1085#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS1086#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)1087#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)1088#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\1089(version_var) = __PYX_GET_DICT_VERSION(dict);\1090(cache_var) = (value);1091#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\1092static PY_UINT64_T __pyx_dict_version = 0;\1093static PyObject *__pyx_dict_cached_value = NULL;\1094if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\1095(VAR) = __pyx_dict_cached_value;\1096} else {\1097(VAR) = __pyx_dict_cached_value = (LOOKUP);\1098__pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\1099}\1100}1101static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);1102static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);1103static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);1104#else1105#define __PYX_GET_DICT_VERSION(dict) (0)1106#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)1107#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);1108#endif11091110/* GetModuleGlobalName.proto */1111#if CYTHON_USE_DICT_VERSIONS1112#define __Pyx_GetModuleGlobalName(var, name) {\1113static PY_UINT64_T __pyx_dict_version = 0;\1114static PyObject *__pyx_dict_cached_value = NULL;\1115(var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\1116(likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\1117__Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\1118}1119#define __Pyx_GetModuleGlobalNameUncached(var, name) {\1120PY_UINT64_T __pyx_dict_version;\1121PyObject *__pyx_dict_cached_value;\1122(var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\1123}1124static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);1125#else1126#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)1127#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)1128static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);1129#endif11301131/* Import.proto */1132static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);11331134/* ImportFrom.proto */1135static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);11361137/* HasAttr.proto */1138static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);11391140/* PyObject_GenericGetAttrNoDict.proto */1141#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x030700001142static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);1143#else1144#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr1145#endif11461147/* PyObject_GenericGetAttr.proto */1148#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x030700001149static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);1150#else1151#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr1152#endif11531154/* PyObjectGetAttrStrNoError.proto */1155static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);11561157/* SetupReduce.proto */1158static int __Pyx_setup_reduce(PyObject* type_obj);11591160/* CLineInTraceback.proto */1161#ifdef CYTHON_CLINE_IN_TRACEBACK1162#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)1163#else1164static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);1165#endif11661167/* CodeObjectCache.proto */1168typedef struct {1169PyCodeObject* code_object;1170int code_line;1171} __Pyx_CodeObjectCacheEntry;1172struct __Pyx_CodeObjectCache {1173int count;1174int max_count;1175__Pyx_CodeObjectCacheEntry* entries;1176};1177static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};1178static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);1179static PyCodeObject *__pyx_find_code_object(int code_line);1180static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);11811182/* AddTraceback.proto */1183static void __Pyx_AddTraceback(const char *funcname, int c_line,1184int py_line, const char *filename);11851186/* GCCDiagnostics.proto */1187#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))1188#define __Pyx_HAS_GCC_DIAGNOSTIC1189#endif11901191/* CIntFromPy.proto */1192static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);11931194/* CIntToPy.proto */1195static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);11961197/* CIntFromPy.proto */1198static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);11991200/* FastTypeChecks.proto */1201#if CYTHON_COMPILING_IN_CPYTHON1202#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)1203static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);1204static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);1205static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);1206#else1207#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)1208#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)1209#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))1210#endif1211#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)12121213/* CheckBinaryVersion.proto */1214static int __Pyx_check_binary_version(void);12151216/* InitStrings.proto */1217static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);121812191220/* Module declarations from 'aiohttp._helpers' */1221static PyTypeObject *__pyx_ptype_7aiohttp_8_helpers_reify = 0;1222static PyObject *__pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(struct __pyx_obj_7aiohttp_8_helpers_reify *, PyObject *); /*proto*/1223#define __Pyx_MODULE_NAME "aiohttp._helpers"1224extern int __pyx_module_is_main_aiohttp___helpers;1225int __pyx_module_is_main_aiohttp___helpers = 0;12261227/* Implementation of 'aiohttp._helpers' */1228static PyObject *__pyx_builtin_KeyError;1229static PyObject *__pyx_builtin_AttributeError;1230static const char __pyx_k_doc[] = "__doc__";1231static const char __pyx_k_new[] = "__new__";1232static const char __pyx_k_dict[] = "__dict__";1233static const char __pyx_k_main[] = "__main__";1234static const char __pyx_k_name[] = "__name__";1235static const char __pyx_k_test[] = "__test__";1236static const char __pyx_k_cache[] = "_cache";1237static const char __pyx_k_reify[] = "reify";1238static const char __pyx_k_import[] = "__import__";1239static const char __pyx_k_pickle[] = "pickle";1240static const char __pyx_k_reduce[] = "__reduce__";1241static const char __pyx_k_update[] = "update";1242static const char __pyx_k_wrapped[] = "wrapped";1243static const char __pyx_k_KeyError[] = "KeyError";1244static const char __pyx_k_getstate[] = "__getstate__";1245static const char __pyx_k_pyx_type[] = "__pyx_type";1246static const char __pyx_k_setstate[] = "__setstate__";1247static const char __pyx_k_pyx_state[] = "__pyx_state";1248static const char __pyx_k_reduce_ex[] = "__reduce_ex__";1249static const char __pyx_k_pyx_result[] = "__pyx_result";1250static const char __pyx_k_PickleError[] = "PickleError";1251static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";1252static const char __pyx_k_stringsource[] = "stringsource";1253static const char __pyx_k_reduce_cython[] = "__reduce_cython__";1254static const char __pyx_k_AttributeError[] = "AttributeError";1255static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";1256static const char __pyx_k_setstate_cython[] = "__setstate_cython__";1257static const char __pyx_k_aiohttp__helpers[] = "aiohttp._helpers";1258static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";1259static const char __pyx_k_pyx_unpickle_reify[] = "__pyx_unpickle_reify";1260static const char __pyx_k_reified_property_is_read_only[] = "reified property is read-only";1261static const char __pyx_k_Incompatible_checksums_s_vs_0x77[] = "Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))";1262static PyObject *__pyx_n_s_AttributeError;1263static PyObject *__pyx_kp_s_Incompatible_checksums_s_vs_0x77;1264static PyObject *__pyx_n_s_KeyError;1265static PyObject *__pyx_n_s_PickleError;1266static PyObject *__pyx_n_s_aiohttp__helpers;1267static PyObject *__pyx_n_s_cache;1268static PyObject *__pyx_n_s_cline_in_traceback;1269static PyObject *__pyx_n_s_dict;1270static PyObject *__pyx_n_s_doc;1271static PyObject *__pyx_n_s_getstate;1272static PyObject *__pyx_n_s_import;1273static PyObject *__pyx_n_s_main;1274static PyObject *__pyx_n_s_name;1275static PyObject *__pyx_n_s_new;1276static PyObject *__pyx_n_s_pickle;1277static PyObject *__pyx_n_s_pyx_PickleError;1278static PyObject *__pyx_n_s_pyx_checksum;1279static PyObject *__pyx_n_s_pyx_result;1280static PyObject *__pyx_n_s_pyx_state;1281static PyObject *__pyx_n_s_pyx_type;1282static PyObject *__pyx_n_s_pyx_unpickle_reify;1283static PyObject *__pyx_n_s_reduce;1284static PyObject *__pyx_n_s_reduce_cython;1285static PyObject *__pyx_n_s_reduce_ex;1286static PyObject *__pyx_kp_u_reified_property_is_read_only;1287static PyObject *__pyx_n_s_reify;1288static PyObject *__pyx_n_s_setstate;1289static PyObject *__pyx_n_s_setstate_cython;1290static PyObject *__pyx_kp_s_stringsource;1291static PyObject *__pyx_n_s_test;1292static PyObject *__pyx_n_s_update;1293static PyObject *__pyx_n_s_wrapped;1294static int __pyx_pf_7aiohttp_8_helpers_5reify___init__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_wrapped); /* proto */1295static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_7__doc_____get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self); /* proto */1296static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_2__get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_owner); /* proto */1297static int __pyx_pf_7aiohttp_8_helpers_5reify_4__set__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_value); /* proto */1298static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_6__reduce_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self); /* proto */1299static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_8__setstate_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */1300static PyObject *__pyx_pf_7aiohttp_8_helpers___pyx_unpickle_reify(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */1301static PyObject *__pyx_tp_new_7aiohttp_8_helpers_reify(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/1302static PyObject *__pyx_int_124832655;1303static PyObject *__pyx_tuple_;1304static PyObject *__pyx_tuple__2;1305static PyObject *__pyx_codeobj__3;1306/* Late includes */13071308/* "aiohttp/_helpers.pyx":131309* cdef object name1310*1311* def __init__(self, wrapped): # <<<<<<<<<<<<<<1312* self.wrapped = wrapped1313* self.name = wrapped.__name__1314*/13151316/* Python wrapper */1317static int __pyx_pw_7aiohttp_8_helpers_5reify_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/1318static int __pyx_pw_7aiohttp_8_helpers_5reify_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {1319PyObject *__pyx_v_wrapped = 0;1320int __pyx_lineno = 0;1321const char *__pyx_filename = NULL;1322int __pyx_clineno = 0;1323int __pyx_r;1324__Pyx_RefNannyDeclarations1325__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);1326{1327static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_wrapped,0};1328PyObject* values[1] = {0};1329if (unlikely(__pyx_kwds)) {1330Py_ssize_t kw_args;1331const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);1332switch (pos_args) {1333case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);1334CYTHON_FALLTHROUGH;1335case 0: break;1336default: goto __pyx_L5_argtuple_error;1337}1338kw_args = PyDict_Size(__pyx_kwds);1339switch (pos_args) {1340case 0:1341if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wrapped)) != 0)) kw_args--;1342else goto __pyx_L5_argtuple_error;1343}1344if (unlikely(kw_args > 0)) {1345if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 13, __pyx_L3_error)1346}1347} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {1348goto __pyx_L5_argtuple_error;1349} else {1350values[0] = PyTuple_GET_ITEM(__pyx_args, 0);1351}1352__pyx_v_wrapped = values[0];1353}1354goto __pyx_L4_argument_unpacking_done;1355__pyx_L5_argtuple_error:;1356__Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 13, __pyx_L3_error)1357__pyx_L3_error:;1358__Pyx_AddTraceback("aiohttp._helpers.reify.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);1359__Pyx_RefNannyFinishContext();1360return -1;1361__pyx_L4_argument_unpacking_done:;1362__pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify___init__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), __pyx_v_wrapped);13631364/* function exit code */1365__Pyx_RefNannyFinishContext();1366return __pyx_r;1367}13681369static int __pyx_pf_7aiohttp_8_helpers_5reify___init__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_wrapped) {1370int __pyx_r;1371__Pyx_RefNannyDeclarations1372PyObject *__pyx_t_1 = NULL;1373int __pyx_lineno = 0;1374const char *__pyx_filename = NULL;1375int __pyx_clineno = 0;1376__Pyx_RefNannySetupContext("__init__", 0);13771378/* "aiohttp/_helpers.pyx":141379*1380* def __init__(self, wrapped):1381* self.wrapped = wrapped # <<<<<<<<<<<<<<1382* self.name = wrapped.__name__1383*1384*/1385__Pyx_INCREF(__pyx_v_wrapped);1386__Pyx_GIVEREF(__pyx_v_wrapped);1387__Pyx_GOTREF(__pyx_v_self->wrapped);1388__Pyx_DECREF(__pyx_v_self->wrapped);1389__pyx_v_self->wrapped = __pyx_v_wrapped;13901391/* "aiohttp/_helpers.pyx":151392* def __init__(self, wrapped):1393* self.wrapped = wrapped1394* self.name = wrapped.__name__ # <<<<<<<<<<<<<<1395*1396* @property1397*/1398__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_wrapped, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 15, __pyx_L1_error)1399__Pyx_GOTREF(__pyx_t_1);1400__Pyx_GIVEREF(__pyx_t_1);1401__Pyx_GOTREF(__pyx_v_self->name);1402__Pyx_DECREF(__pyx_v_self->name);1403__pyx_v_self->name = __pyx_t_1;1404__pyx_t_1 = 0;14051406/* "aiohttp/_helpers.pyx":131407* cdef object name1408*1409* def __init__(self, wrapped): # <<<<<<<<<<<<<<1410* self.wrapped = wrapped1411* self.name = wrapped.__name__1412*/14131414/* function exit code */1415__pyx_r = 0;1416goto __pyx_L0;1417__pyx_L1_error:;1418__Pyx_XDECREF(__pyx_t_1);1419__Pyx_AddTraceback("aiohttp._helpers.reify.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);1420__pyx_r = -1;1421__pyx_L0:;1422__Pyx_RefNannyFinishContext();1423return __pyx_r;1424}14251426/* "aiohttp/_helpers.pyx":181427*1428* @property1429* def __doc__(self): # <<<<<<<<<<<<<<1430* return self.wrapped.__doc__1431*1432*/14331434/* Python wrapper */1435static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__doc___1__get__(PyObject *__pyx_v_self); /*proto*/1436static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__doc___1__get__(PyObject *__pyx_v_self) {1437PyObject *__pyx_r = 0;1438__Pyx_RefNannyDeclarations1439__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);1440__pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_7__doc_____get__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self));14411442/* function exit code */1443__Pyx_RefNannyFinishContext();1444return __pyx_r;1445}14461447static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_7__doc_____get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self) {1448PyObject *__pyx_r = NULL;1449__Pyx_RefNannyDeclarations1450PyObject *__pyx_t_1 = NULL;1451int __pyx_lineno = 0;1452const char *__pyx_filename = NULL;1453int __pyx_clineno = 0;1454__Pyx_RefNannySetupContext("__get__", 0);14551456/* "aiohttp/_helpers.pyx":191457* @property1458* def __doc__(self):1459* return self.wrapped.__doc__ # <<<<<<<<<<<<<<1460*1461* def __get__(self, inst, owner):1462*/1463__Pyx_XDECREF(__pyx_r);1464__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->wrapped, __pyx_n_s_doc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error)1465__Pyx_GOTREF(__pyx_t_1);1466__pyx_r = __pyx_t_1;1467__pyx_t_1 = 0;1468goto __pyx_L0;14691470/* "aiohttp/_helpers.pyx":181471*1472* @property1473* def __doc__(self): # <<<<<<<<<<<<<<1474* return self.wrapped.__doc__1475*1476*/14771478/* function exit code */1479__pyx_L1_error:;1480__Pyx_XDECREF(__pyx_t_1);1481__Pyx_AddTraceback("aiohttp._helpers.reify.__doc__.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);1482__pyx_r = NULL;1483__pyx_L0:;1484__Pyx_XGIVEREF(__pyx_r);1485__Pyx_RefNannyFinishContext();1486return __pyx_r;1487}14881489/* "aiohttp/_helpers.pyx":211490* return self.wrapped.__doc__1491*1492* def __get__(self, inst, owner): # <<<<<<<<<<<<<<1493* try:1494* try:1495*/14961497/* Python wrapper */1498static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_3__get__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_owner); /*proto*/1499static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_3__get__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_owner) {1500PyObject *__pyx_r = 0;1501__Pyx_RefNannyDeclarations1502__Pyx_RefNannySetupContext("__get__ (wrapper)", 0);1503__pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_2__get__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), ((PyObject *)__pyx_v_inst), ((PyObject *)__pyx_v_owner));15041505/* function exit code */1506__Pyx_RefNannyFinishContext();1507return __pyx_r;1508}15091510static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_2__get__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_owner) {1511PyObject *__pyx_v_val = NULL;1512PyObject *__pyx_r = NULL;1513__Pyx_RefNannyDeclarations1514PyObject *__pyx_t_1 = NULL;1515PyObject *__pyx_t_2 = NULL;1516PyObject *__pyx_t_3 = NULL;1517PyObject *__pyx_t_4 = NULL;1518PyObject *__pyx_t_5 = NULL;1519PyObject *__pyx_t_6 = NULL;1520PyObject *__pyx_t_7 = NULL;1521PyObject *__pyx_t_8 = NULL;1522int __pyx_t_9;1523PyObject *__pyx_t_10 = NULL;1524PyObject *__pyx_t_11 = NULL;1525PyObject *__pyx_t_12 = NULL;1526PyObject *__pyx_t_13 = NULL;1527int __pyx_t_14;1528int __pyx_t_15;1529int __pyx_lineno = 0;1530const char *__pyx_filename = NULL;1531int __pyx_clineno = 0;1532__Pyx_RefNannySetupContext("__get__", 0);15331534/* "aiohttp/_helpers.pyx":221535*1536* def __get__(self, inst, owner):1537* try: # <<<<<<<<<<<<<<1538* try:1539* return inst._cache[self.name]1540*/1541{1542__Pyx_PyThreadState_declare1543__Pyx_PyThreadState_assign1544__Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);1545__Pyx_XGOTREF(__pyx_t_1);1546__Pyx_XGOTREF(__pyx_t_2);1547__Pyx_XGOTREF(__pyx_t_3);1548/*try:*/ {15491550/* "aiohttp/_helpers.pyx":231551* def __get__(self, inst, owner):1552* try:1553* try: # <<<<<<<<<<<<<<1554* return inst._cache[self.name]1555* except KeyError:1556*/1557{1558__Pyx_PyThreadState_declare1559__Pyx_PyThreadState_assign1560__Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);1561__Pyx_XGOTREF(__pyx_t_4);1562__Pyx_XGOTREF(__pyx_t_5);1563__Pyx_XGOTREF(__pyx_t_6);1564/*try:*/ {15651566/* "aiohttp/_helpers.pyx":241567* try:1568* try:1569* return inst._cache[self.name] # <<<<<<<<<<<<<<1570* except KeyError:1571* val = self.wrapped(inst)1572*/1573__Pyx_XDECREF(__pyx_r);1574__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_inst, __pyx_n_s_cache); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 24, __pyx_L9_error)1575__Pyx_GOTREF(__pyx_t_7);1576__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_self->name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 24, __pyx_L9_error)1577__Pyx_GOTREF(__pyx_t_8);1578__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;1579__pyx_r = __pyx_t_8;1580__pyx_t_8 = 0;1581goto __pyx_L13_try_return;15821583/* "aiohttp/_helpers.pyx":231584* def __get__(self, inst, owner):1585* try:1586* try: # <<<<<<<<<<<<<<1587* return inst._cache[self.name]1588* except KeyError:1589*/1590}1591__pyx_L9_error:;1592__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;1593__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;15941595/* "aiohttp/_helpers.pyx":251596* try:1597* return inst._cache[self.name]1598* except KeyError: # <<<<<<<<<<<<<<1599* val = self.wrapped(inst)1600* inst._cache[self.name] = val1601*/1602__pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);1603if (__pyx_t_9) {1604__Pyx_AddTraceback("aiohttp._helpers.reify.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);1605if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_7, &__pyx_t_10) < 0) __PYX_ERR(0, 25, __pyx_L11_except_error)1606__Pyx_GOTREF(__pyx_t_8);1607__Pyx_GOTREF(__pyx_t_7);1608__Pyx_GOTREF(__pyx_t_10);16091610/* "aiohttp/_helpers.pyx":261611* return inst._cache[self.name]1612* except KeyError:1613* val = self.wrapped(inst) # <<<<<<<<<<<<<<1614* inst._cache[self.name] = val1615* return val1616*/1617__Pyx_INCREF(__pyx_v_self->wrapped);1618__pyx_t_12 = __pyx_v_self->wrapped; __pyx_t_13 = NULL;1619if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) {1620__pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);1621if (likely(__pyx_t_13)) {1622PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);1623__Pyx_INCREF(__pyx_t_13);1624__Pyx_INCREF(function);1625__Pyx_DECREF_SET(__pyx_t_12, function);1626}1627}1628__pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_v_inst) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_inst);1629__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;1630if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 26, __pyx_L11_except_error)1631__Pyx_GOTREF(__pyx_t_11);1632__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;1633__pyx_v_val = __pyx_t_11;1634__pyx_t_11 = 0;16351636/* "aiohttp/_helpers.pyx":271637* except KeyError:1638* val = self.wrapped(inst)1639* inst._cache[self.name] = val # <<<<<<<<<<<<<<1640* return val1641* except AttributeError:1642*/1643__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_inst, __pyx_n_s_cache); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 27, __pyx_L11_except_error)1644__Pyx_GOTREF(__pyx_t_11);1645if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_v_self->name, __pyx_v_val) < 0)) __PYX_ERR(0, 27, __pyx_L11_except_error)1646__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;16471648/* "aiohttp/_helpers.pyx":281649* val = self.wrapped(inst)1650* inst._cache[self.name] = val1651* return val # <<<<<<<<<<<<<<1652* except AttributeError:1653* if inst is None:1654*/1655__Pyx_XDECREF(__pyx_r);1656__Pyx_INCREF(__pyx_v_val);1657__pyx_r = __pyx_v_val;1658__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;1659__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;1660__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;1661goto __pyx_L12_except_return;1662}1663goto __pyx_L11_except_error;1664__pyx_L11_except_error:;16651666/* "aiohttp/_helpers.pyx":231667* def __get__(self, inst, owner):1668* try:1669* try: # <<<<<<<<<<<<<<1670* return inst._cache[self.name]1671* except KeyError:1672*/1673__Pyx_XGIVEREF(__pyx_t_4);1674__Pyx_XGIVEREF(__pyx_t_5);1675__Pyx_XGIVEREF(__pyx_t_6);1676__Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);1677goto __pyx_L3_error;1678__pyx_L13_try_return:;1679__Pyx_XGIVEREF(__pyx_t_4);1680__Pyx_XGIVEREF(__pyx_t_5);1681__Pyx_XGIVEREF(__pyx_t_6);1682__Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);1683goto __pyx_L7_try_return;1684__pyx_L12_except_return:;1685__Pyx_XGIVEREF(__pyx_t_4);1686__Pyx_XGIVEREF(__pyx_t_5);1687__Pyx_XGIVEREF(__pyx_t_6);1688__Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);1689goto __pyx_L7_try_return;1690}16911692/* "aiohttp/_helpers.pyx":221693*1694* def __get__(self, inst, owner):1695* try: # <<<<<<<<<<<<<<1696* try:1697* return inst._cache[self.name]1698*/1699}1700__pyx_L3_error:;1701__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;1702__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;1703__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;1704__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;1705__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;1706__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;17071708/* "aiohttp/_helpers.pyx":291709* inst._cache[self.name] = val1710* return val1711* except AttributeError: # <<<<<<<<<<<<<<1712* if inst is None:1713* return self1714*/1715__pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError);1716if (__pyx_t_9) {1717__Pyx_AddTraceback("aiohttp._helpers.reify.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);1718if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_7, &__pyx_t_8) < 0) __PYX_ERR(0, 29, __pyx_L5_except_error)1719__Pyx_GOTREF(__pyx_t_10);1720__Pyx_GOTREF(__pyx_t_7);1721__Pyx_GOTREF(__pyx_t_8);17221723/* "aiohttp/_helpers.pyx":301724* return val1725* except AttributeError:1726* if inst is None: # <<<<<<<<<<<<<<1727* return self1728* raise1729*/1730__pyx_t_14 = (__pyx_v_inst == Py_None);1731__pyx_t_15 = (__pyx_t_14 != 0);1732if (__pyx_t_15) {17331734/* "aiohttp/_helpers.pyx":311735* except AttributeError:1736* if inst is None:1737* return self # <<<<<<<<<<<<<<1738* raise1739*1740*/1741__Pyx_XDECREF(__pyx_r);1742__Pyx_INCREF(((PyObject *)__pyx_v_self));1743__pyx_r = ((PyObject *)__pyx_v_self);1744__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;1745__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;1746__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;1747goto __pyx_L6_except_return;17481749/* "aiohttp/_helpers.pyx":301750* return val1751* except AttributeError:1752* if inst is None: # <<<<<<<<<<<<<<1753* return self1754* raise1755*/1756}17571758/* "aiohttp/_helpers.pyx":321759* if inst is None:1760* return self1761* raise # <<<<<<<<<<<<<<1762*1763* def __set__(self, inst, value):1764*/1765__Pyx_GIVEREF(__pyx_t_10);1766__Pyx_GIVEREF(__pyx_t_7);1767__Pyx_XGIVEREF(__pyx_t_8);1768__Pyx_ErrRestoreWithState(__pyx_t_10, __pyx_t_7, __pyx_t_8);1769__pyx_t_10 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0;1770__PYX_ERR(0, 32, __pyx_L5_except_error)1771}1772goto __pyx_L5_except_error;1773__pyx_L5_except_error:;17741775/* "aiohttp/_helpers.pyx":221776*1777* def __get__(self, inst, owner):1778* try: # <<<<<<<<<<<<<<1779* try:1780* return inst._cache[self.name]1781*/1782__Pyx_XGIVEREF(__pyx_t_1);1783__Pyx_XGIVEREF(__pyx_t_2);1784__Pyx_XGIVEREF(__pyx_t_3);1785__Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);1786goto __pyx_L1_error;1787__pyx_L7_try_return:;1788__Pyx_XGIVEREF(__pyx_t_1);1789__Pyx_XGIVEREF(__pyx_t_2);1790__Pyx_XGIVEREF(__pyx_t_3);1791__Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);1792goto __pyx_L0;1793__pyx_L6_except_return:;1794__Pyx_XGIVEREF(__pyx_t_1);1795__Pyx_XGIVEREF(__pyx_t_2);1796__Pyx_XGIVEREF(__pyx_t_3);1797__Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);1798goto __pyx_L0;1799}18001801/* "aiohttp/_helpers.pyx":211802* return self.wrapped.__doc__1803*1804* def __get__(self, inst, owner): # <<<<<<<<<<<<<<1805* try:1806* try:1807*/18081809/* function exit code */1810__pyx_L1_error:;1811__Pyx_XDECREF(__pyx_t_7);1812__Pyx_XDECREF(__pyx_t_8);1813__Pyx_XDECREF(__pyx_t_10);1814__Pyx_XDECREF(__pyx_t_11);1815__Pyx_XDECREF(__pyx_t_12);1816__Pyx_XDECREF(__pyx_t_13);1817__Pyx_AddTraceback("aiohttp._helpers.reify.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);1818__pyx_r = NULL;1819__pyx_L0:;1820__Pyx_XDECREF(__pyx_v_val);1821__Pyx_XGIVEREF(__pyx_r);1822__Pyx_RefNannyFinishContext();1823return __pyx_r;1824}18251826/* "aiohttp/_helpers.pyx":341827* raise1828*1829* def __set__(self, inst, value): # <<<<<<<<<<<<<<1830* raise AttributeError("reified property is read-only")1831*/18321833/* Python wrapper */1834static int __pyx_pw_7aiohttp_8_helpers_5reify_5__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_value); /*proto*/1835static int __pyx_pw_7aiohttp_8_helpers_5reify_5__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_inst, PyObject *__pyx_v_value) {1836int __pyx_r;1837__Pyx_RefNannyDeclarations1838__Pyx_RefNannySetupContext("__set__ (wrapper)", 0);1839__pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_4__set__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), ((PyObject *)__pyx_v_inst), ((PyObject *)__pyx_v_value));18401841/* function exit code */1842__Pyx_RefNannyFinishContext();1843return __pyx_r;1844}18451846static int __pyx_pf_7aiohttp_8_helpers_5reify_4__set__(CYTHON_UNUSED struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_inst, CYTHON_UNUSED PyObject *__pyx_v_value) {1847int __pyx_r;1848__Pyx_RefNannyDeclarations1849PyObject *__pyx_t_1 = NULL;1850int __pyx_lineno = 0;1851const char *__pyx_filename = NULL;1852int __pyx_clineno = 0;1853__Pyx_RefNannySetupContext("__set__", 0);18541855/* "aiohttp/_helpers.pyx":351856*1857* def __set__(self, inst, value):1858* raise AttributeError("reified property is read-only") # <<<<<<<<<<<<<<1859*/1860__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_AttributeError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)1861__Pyx_GOTREF(__pyx_t_1);1862__Pyx_Raise(__pyx_t_1, 0, 0, 0);1863__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;1864__PYX_ERR(0, 35, __pyx_L1_error)18651866/* "aiohttp/_helpers.pyx":341867* raise1868*1869* def __set__(self, inst, value): # <<<<<<<<<<<<<<1870* raise AttributeError("reified property is read-only")1871*/18721873/* function exit code */1874__pyx_L1_error:;1875__Pyx_XDECREF(__pyx_t_1);1876__Pyx_AddTraceback("aiohttp._helpers.reify.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);1877__pyx_r = -1;1878__Pyx_RefNannyFinishContext();1879return __pyx_r;1880}18811882/* "(tree fragment)":11883* def __reduce_cython__(self): # <<<<<<<<<<<<<<1884* cdef tuple state1885* cdef object _dict1886*/18871888/* Python wrapper */1889static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/1890static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {1891PyObject *__pyx_r = 0;1892__Pyx_RefNannyDeclarations1893__Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);1894__pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_6__reduce_cython__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self));18951896/* function exit code */1897__Pyx_RefNannyFinishContext();1898return __pyx_r;1899}19001901static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_6__reduce_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self) {1902PyObject *__pyx_v_state = 0;1903PyObject *__pyx_v__dict = 0;1904int __pyx_v_use_setstate;1905PyObject *__pyx_r = NULL;1906__Pyx_RefNannyDeclarations1907PyObject *__pyx_t_1 = NULL;1908int __pyx_t_2;1909int __pyx_t_3;1910PyObject *__pyx_t_4 = NULL;1911int __pyx_t_5;1912PyObject *__pyx_t_6 = NULL;1913int __pyx_lineno = 0;1914const char *__pyx_filename = NULL;1915int __pyx_clineno = 0;1916__Pyx_RefNannySetupContext("__reduce_cython__", 0);19171918/* "(tree fragment)":51919* cdef object _dict1920* cdef bint use_setstate1921* state = (self.name, self.wrapped) # <<<<<<<<<<<<<<1922* _dict = getattr(self, '__dict__', None)1923* if _dict is not None:1924*/1925__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)1926__Pyx_GOTREF(__pyx_t_1);1927__Pyx_INCREF(__pyx_v_self->name);1928__Pyx_GIVEREF(__pyx_v_self->name);1929PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name);1930__Pyx_INCREF(__pyx_v_self->wrapped);1931__Pyx_GIVEREF(__pyx_v_self->wrapped);1932PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->wrapped);1933__pyx_v_state = ((PyObject*)__pyx_t_1);1934__pyx_t_1 = 0;19351936/* "(tree fragment)":61937* cdef bint use_setstate1938* state = (self.name, self.wrapped)1939* _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<<1940* if _dict is not None:1941* state += (_dict,)1942*/1943__pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)1944__Pyx_GOTREF(__pyx_t_1);1945__pyx_v__dict = __pyx_t_1;1946__pyx_t_1 = 0;19471948/* "(tree fragment)":71949* state = (self.name, self.wrapped)1950* _dict = getattr(self, '__dict__', None)1951* if _dict is not None: # <<<<<<<<<<<<<<1952* state += (_dict,)1953* use_setstate = True1954*/1955__pyx_t_2 = (__pyx_v__dict != Py_None);1956__pyx_t_3 = (__pyx_t_2 != 0);1957if (__pyx_t_3) {19581959/* "(tree fragment)":81960* _dict = getattr(self, '__dict__', None)1961* if _dict is not None:1962* state += (_dict,) # <<<<<<<<<<<<<<1963* use_setstate = True1964* else:1965*/1966__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)1967__Pyx_GOTREF(__pyx_t_1);1968__Pyx_INCREF(__pyx_v__dict);1969__Pyx_GIVEREF(__pyx_v__dict);1970PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict);1971__pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 8, __pyx_L1_error)1972__Pyx_GOTREF(__pyx_t_4);1973__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;1974__Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));1975__pyx_t_4 = 0;19761977/* "(tree fragment)":91978* if _dict is not None:1979* state += (_dict,)1980* use_setstate = True # <<<<<<<<<<<<<<1981* else:1982* use_setstate = self.name is not None or self.wrapped is not None1983*/1984__pyx_v_use_setstate = 1;19851986/* "(tree fragment)":71987* state = (self.name, self.wrapped)1988* _dict = getattr(self, '__dict__', None)1989* if _dict is not None: # <<<<<<<<<<<<<<1990* state += (_dict,)1991* use_setstate = True1992*/1993goto __pyx_L3;1994}19951996/* "(tree fragment)":111997* use_setstate = True1998* else:1999* use_setstate = self.name is not None or self.wrapped is not None # <<<<<<<<<<<<<<2000* if use_setstate:2001* return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state2002*/2003/*else*/ {2004__pyx_t_2 = (__pyx_v_self->name != Py_None);2005__pyx_t_5 = (__pyx_t_2 != 0);2006if (!__pyx_t_5) {2007} else {2008__pyx_t_3 = __pyx_t_5;2009goto __pyx_L4_bool_binop_done;2010}2011__pyx_t_5 = (__pyx_v_self->wrapped != Py_None);2012__pyx_t_2 = (__pyx_t_5 != 0);2013__pyx_t_3 = __pyx_t_2;2014__pyx_L4_bool_binop_done:;2015__pyx_v_use_setstate = __pyx_t_3;2016}2017__pyx_L3:;20182019/* "(tree fragment)":122020* else:2021* use_setstate = self.name is not None or self.wrapped is not None2022* if use_setstate: # <<<<<<<<<<<<<<2023* return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state2024* else:2025*/2026__pyx_t_3 = (__pyx_v_use_setstate != 0);2027if (__pyx_t_3) {20282029/* "(tree fragment)":132030* use_setstate = self.name is not None or self.wrapped is not None2031* if use_setstate:2032* return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state # <<<<<<<<<<<<<<2033* else:2034* return __pyx_unpickle_reify, (type(self), 0x770cb8f, state)2035*/2036__Pyx_XDECREF(__pyx_r);2037__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_reify); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)2038__Pyx_GOTREF(__pyx_t_4);2039__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error)2040__Pyx_GOTREF(__pyx_t_1);2041__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));2042__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));2043PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));2044__Pyx_INCREF(__pyx_int_124832655);2045__Pyx_GIVEREF(__pyx_int_124832655);2046PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_124832655);2047__Pyx_INCREF(Py_None);2048__Pyx_GIVEREF(Py_None);2049PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None);2050__pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)2051__Pyx_GOTREF(__pyx_t_6);2052__Pyx_GIVEREF(__pyx_t_4);2053PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);2054__Pyx_GIVEREF(__pyx_t_1);2055PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1);2056__Pyx_INCREF(__pyx_v_state);2057__Pyx_GIVEREF(__pyx_v_state);2058PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_state);2059__pyx_t_4 = 0;2060__pyx_t_1 = 0;2061__pyx_r = __pyx_t_6;2062__pyx_t_6 = 0;2063goto __pyx_L0;20642065/* "(tree fragment)":122066* else:2067* use_setstate = self.name is not None or self.wrapped is not None2068* if use_setstate: # <<<<<<<<<<<<<<2069* return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state2070* else:2071*/2072}20732074/* "(tree fragment)":152075* return __pyx_unpickle_reify, (type(self), 0x770cb8f, None), state2076* else:2077* return __pyx_unpickle_reify, (type(self), 0x770cb8f, state) # <<<<<<<<<<<<<<2078* def __setstate_cython__(self, __pyx_state):2079* __pyx_unpickle_reify__set_state(self, __pyx_state)2080*/2081/*else*/ {2082__Pyx_XDECREF(__pyx_r);2083__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pyx_unpickle_reify); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 15, __pyx_L1_error)2084__Pyx_GOTREF(__pyx_t_6);2085__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error)2086__Pyx_GOTREF(__pyx_t_1);2087__Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));2088__Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));2089PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));2090__Pyx_INCREF(__pyx_int_124832655);2091__Pyx_GIVEREF(__pyx_int_124832655);2092PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_124832655);2093__Pyx_INCREF(__pyx_v_state);2094__Pyx_GIVEREF(__pyx_v_state);2095PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state);2096__pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)2097__Pyx_GOTREF(__pyx_t_4);2098__Pyx_GIVEREF(__pyx_t_6);2099PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6);2100__Pyx_GIVEREF(__pyx_t_1);2101PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);2102__pyx_t_6 = 0;2103__pyx_t_1 = 0;2104__pyx_r = __pyx_t_4;2105__pyx_t_4 = 0;2106goto __pyx_L0;2107}21082109/* "(tree fragment)":12110* def __reduce_cython__(self): # <<<<<<<<<<<<<<2111* cdef tuple state2112* cdef object _dict2113*/21142115/* function exit code */2116__pyx_L1_error:;2117__Pyx_XDECREF(__pyx_t_1);2118__Pyx_XDECREF(__pyx_t_4);2119__Pyx_XDECREF(__pyx_t_6);2120__Pyx_AddTraceback("aiohttp._helpers.reify.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);2121__pyx_r = NULL;2122__pyx_L0:;2123__Pyx_XDECREF(__pyx_v_state);2124__Pyx_XDECREF(__pyx_v__dict);2125__Pyx_XGIVEREF(__pyx_r);2126__Pyx_RefNannyFinishContext();2127return __pyx_r;2128}21292130/* "(tree fragment)":162131* else:2132* return __pyx_unpickle_reify, (type(self), 0x770cb8f, state)2133* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<2134* __pyx_unpickle_reify__set_state(self, __pyx_state)2135*/21362137/* Python wrapper */2138static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/2139static PyObject *__pyx_pw_7aiohttp_8_helpers_5reify_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {2140PyObject *__pyx_r = 0;2141__Pyx_RefNannyDeclarations2142__Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);2143__pyx_r = __pyx_pf_7aiohttp_8_helpers_5reify_8__setstate_cython__(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));21442145/* function exit code */2146__Pyx_RefNannyFinishContext();2147return __pyx_r;2148}21492150static PyObject *__pyx_pf_7aiohttp_8_helpers_5reify_8__setstate_cython__(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v_self, PyObject *__pyx_v___pyx_state) {2151PyObject *__pyx_r = NULL;2152__Pyx_RefNannyDeclarations2153PyObject *__pyx_t_1 = NULL;2154int __pyx_lineno = 0;2155const char *__pyx_filename = NULL;2156int __pyx_clineno = 0;2157__Pyx_RefNannySetupContext("__setstate_cython__", 0);21582159/* "(tree fragment)":172160* return __pyx_unpickle_reify, (type(self), 0x770cb8f, state)2161* def __setstate_cython__(self, __pyx_state):2162* __pyx_unpickle_reify__set_state(self, __pyx_state) # <<<<<<<<<<<<<<2163*/2164if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 17, __pyx_L1_error)2165__pyx_t_1 = __pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)2166__Pyx_GOTREF(__pyx_t_1);2167__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;21682169/* "(tree fragment)":162170* else:2171* return __pyx_unpickle_reify, (type(self), 0x770cb8f, state)2172* def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<2173* __pyx_unpickle_reify__set_state(self, __pyx_state)2174*/21752176/* function exit code */2177__pyx_r = Py_None; __Pyx_INCREF(Py_None);2178goto __pyx_L0;2179__pyx_L1_error:;2180__Pyx_XDECREF(__pyx_t_1);2181__Pyx_AddTraceback("aiohttp._helpers.reify.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);2182__pyx_r = NULL;2183__pyx_L0:;2184__Pyx_XGIVEREF(__pyx_r);2185__Pyx_RefNannyFinishContext();2186return __pyx_r;2187}21882189/* "(tree fragment)":12190* def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<2191* cdef object __pyx_PickleError2192* cdef object __pyx_result2193*/21942195/* Python wrapper */2196static PyObject *__pyx_pw_7aiohttp_8_helpers_1__pyx_unpickle_reify(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/2197static PyMethodDef __pyx_mdef_7aiohttp_8_helpers_1__pyx_unpickle_reify = {"__pyx_unpickle_reify", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_7aiohttp_8_helpers_1__pyx_unpickle_reify, METH_VARARGS|METH_KEYWORDS, 0};2198static PyObject *__pyx_pw_7aiohttp_8_helpers_1__pyx_unpickle_reify(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {2199PyObject *__pyx_v___pyx_type = 0;2200long __pyx_v___pyx_checksum;2201PyObject *__pyx_v___pyx_state = 0;2202int __pyx_lineno = 0;2203const char *__pyx_filename = NULL;2204int __pyx_clineno = 0;2205PyObject *__pyx_r = 0;2206__Pyx_RefNannyDeclarations2207__Pyx_RefNannySetupContext("__pyx_unpickle_reify (wrapper)", 0);2208{2209static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};2210PyObject* values[3] = {0,0,0};2211if (unlikely(__pyx_kwds)) {2212Py_ssize_t kw_args;2213const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);2214switch (pos_args) {2215case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);2216CYTHON_FALLTHROUGH;2217case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);2218CYTHON_FALLTHROUGH;2219case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);2220CYTHON_FALLTHROUGH;2221case 0: break;2222default: goto __pyx_L5_argtuple_error;2223}2224kw_args = PyDict_Size(__pyx_kwds);2225switch (pos_args) {2226case 0:2227if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_type)) != 0)) kw_args--;2228else goto __pyx_L5_argtuple_error;2229CYTHON_FALLTHROUGH;2230case 1:2231if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_checksum)) != 0)) kw_args--;2232else {2233__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_reify", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)2234}2235CYTHON_FALLTHROUGH;2236case 2:2237if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyx_state)) != 0)) kw_args--;2238else {2239__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_reify", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)2240}2241}2242if (unlikely(kw_args > 0)) {2243if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__pyx_unpickle_reify") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)2244}2245} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {2246goto __pyx_L5_argtuple_error;2247} else {2248values[0] = PyTuple_GET_ITEM(__pyx_args, 0);2249values[1] = PyTuple_GET_ITEM(__pyx_args, 1);2250values[2] = PyTuple_GET_ITEM(__pyx_args, 2);2251}2252__pyx_v___pyx_type = values[0];2253__pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)2254__pyx_v___pyx_state = values[2];2255}2256goto __pyx_L4_argument_unpacking_done;2257__pyx_L5_argtuple_error:;2258__Pyx_RaiseArgtupleInvalid("__pyx_unpickle_reify", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 1, __pyx_L3_error)2259__pyx_L3_error:;2260__Pyx_AddTraceback("aiohttp._helpers.__pyx_unpickle_reify", __pyx_clineno, __pyx_lineno, __pyx_filename);2261__Pyx_RefNannyFinishContext();2262return NULL;2263__pyx_L4_argument_unpacking_done:;2264__pyx_r = __pyx_pf_7aiohttp_8_helpers___pyx_unpickle_reify(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);22652266/* function exit code */2267__Pyx_RefNannyFinishContext();2268return __pyx_r;2269}22702271static PyObject *__pyx_pf_7aiohttp_8_helpers___pyx_unpickle_reify(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {2272PyObject *__pyx_v___pyx_PickleError = 0;2273PyObject *__pyx_v___pyx_result = 0;2274PyObject *__pyx_r = NULL;2275__Pyx_RefNannyDeclarations2276int __pyx_t_1;2277PyObject *__pyx_t_2 = NULL;2278PyObject *__pyx_t_3 = NULL;2279PyObject *__pyx_t_4 = NULL;2280PyObject *__pyx_t_5 = NULL;2281int __pyx_t_6;2282int __pyx_lineno = 0;2283const char *__pyx_filename = NULL;2284int __pyx_clineno = 0;2285__Pyx_RefNannySetupContext("__pyx_unpickle_reify", 0);22862287/* "(tree fragment)":42288* cdef object __pyx_PickleError2289* cdef object __pyx_result2290* if __pyx_checksum != 0x770cb8f: # <<<<<<<<<<<<<<2291* from pickle import PickleError as __pyx_PickleError2292* raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum)2293*/2294__pyx_t_1 = ((__pyx_v___pyx_checksum != 0x770cb8f) != 0);2295if (__pyx_t_1) {22962297/* "(tree fragment)":52298* cdef object __pyx_result2299* if __pyx_checksum != 0x770cb8f:2300* from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<<2301* raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum)2302* __pyx_result = reify.__new__(__pyx_type)2303*/2304__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)2305__Pyx_GOTREF(__pyx_t_2);2306__Pyx_INCREF(__pyx_n_s_PickleError);2307__Pyx_GIVEREF(__pyx_n_s_PickleError);2308PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PickleError);2309__pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)2310__Pyx_GOTREF(__pyx_t_3);2311__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;2312__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)2313__Pyx_GOTREF(__pyx_t_2);2314__Pyx_INCREF(__pyx_t_2);2315__pyx_v___pyx_PickleError = __pyx_t_2;2316__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;2317__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;23182319/* "(tree fragment)":62320* if __pyx_checksum != 0x770cb8f:2321* from pickle import PickleError as __pyx_PickleError2322* raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum) # <<<<<<<<<<<<<<2323* __pyx_result = reify.__new__(__pyx_type)2324* if __pyx_state is not None:2325*/2326__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)2327__Pyx_GOTREF(__pyx_t_2);2328__pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_s_vs_0x77, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 6, __pyx_L1_error)2329__Pyx_GOTREF(__pyx_t_4);2330__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;2331__Pyx_INCREF(__pyx_v___pyx_PickleError);2332__pyx_t_2 = __pyx_v___pyx_PickleError; __pyx_t_5 = NULL;2333if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {2334__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);2335if (likely(__pyx_t_5)) {2336PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);2337__Pyx_INCREF(__pyx_t_5);2338__Pyx_INCREF(function);2339__Pyx_DECREF_SET(__pyx_t_2, function);2340}2341}2342__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4);2343__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;2344__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;2345if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)2346__Pyx_GOTREF(__pyx_t_3);2347__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;2348__Pyx_Raise(__pyx_t_3, 0, 0, 0);2349__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;2350__PYX_ERR(1, 6, __pyx_L1_error)23512352/* "(tree fragment)":42353* cdef object __pyx_PickleError2354* cdef object __pyx_result2355* if __pyx_checksum != 0x770cb8f: # <<<<<<<<<<<<<<2356* from pickle import PickleError as __pyx_PickleError2357* raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum)2358*/2359}23602361/* "(tree fragment)":72362* from pickle import PickleError as __pyx_PickleError2363* raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum)2364* __pyx_result = reify.__new__(__pyx_type) # <<<<<<<<<<<<<<2365* if __pyx_state is not None:2366* __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state)2367*/2368__pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_7aiohttp_8_helpers_reify), __pyx_n_s_new); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)2369__Pyx_GOTREF(__pyx_t_2);2370__pyx_t_4 = NULL;2371if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {2372__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);2373if (likely(__pyx_t_4)) {2374PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);2375__Pyx_INCREF(__pyx_t_4);2376__Pyx_INCREF(function);2377__Pyx_DECREF_SET(__pyx_t_2, function);2378}2379}2380__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v___pyx_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v___pyx_type);2381__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;2382if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)2383__Pyx_GOTREF(__pyx_t_3);2384__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;2385__pyx_v___pyx_result = __pyx_t_3;2386__pyx_t_3 = 0;23872388/* "(tree fragment)":82389* raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum)2390* __pyx_result = reify.__new__(__pyx_type)2391* if __pyx_state is not None: # <<<<<<<<<<<<<<2392* __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state)2393* return __pyx_result2394*/2395__pyx_t_1 = (__pyx_v___pyx_state != Py_None);2396__pyx_t_6 = (__pyx_t_1 != 0);2397if (__pyx_t_6) {23982399/* "(tree fragment)":92400* __pyx_result = reify.__new__(__pyx_type)2401* if __pyx_state is not None:2402* __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state) # <<<<<<<<<<<<<<2403* return __pyx_result2404* cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state):2405*/2406if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_v___pyx_state)->tp_name), 0))) __PYX_ERR(1, 9, __pyx_L1_error)2407__pyx_t_3 = __pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(((struct __pyx_obj_7aiohttp_8_helpers_reify *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 9, __pyx_L1_error)2408__Pyx_GOTREF(__pyx_t_3);2409__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;24102411/* "(tree fragment)":82412* raise __pyx_PickleError("Incompatible checksums (%s vs 0x770cb8f = (name, wrapped))" % __pyx_checksum)2413* __pyx_result = reify.__new__(__pyx_type)2414* if __pyx_state is not None: # <<<<<<<<<<<<<<2415* __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state)2416* return __pyx_result2417*/2418}24192420/* "(tree fragment)":102421* if __pyx_state is not None:2422* __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state)2423* return __pyx_result # <<<<<<<<<<<<<<2424* cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state):2425* __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1]2426*/2427__Pyx_XDECREF(__pyx_r);2428__Pyx_INCREF(__pyx_v___pyx_result);2429__pyx_r = __pyx_v___pyx_result;2430goto __pyx_L0;24312432/* "(tree fragment)":12433* def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<2434* cdef object __pyx_PickleError2435* cdef object __pyx_result2436*/24372438/* function exit code */2439__pyx_L1_error:;2440__Pyx_XDECREF(__pyx_t_2);2441__Pyx_XDECREF(__pyx_t_3);2442__Pyx_XDECREF(__pyx_t_4);2443__Pyx_XDECREF(__pyx_t_5);2444__Pyx_AddTraceback("aiohttp._helpers.__pyx_unpickle_reify", __pyx_clineno, __pyx_lineno, __pyx_filename);2445__pyx_r = NULL;2446__pyx_L0:;2447__Pyx_XDECREF(__pyx_v___pyx_PickleError);2448__Pyx_XDECREF(__pyx_v___pyx_result);2449__Pyx_XGIVEREF(__pyx_r);2450__Pyx_RefNannyFinishContext();2451return __pyx_r;2452}24532454/* "(tree fragment)":112455* __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state)2456* return __pyx_result2457* cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<<2458* __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1]2459* if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):2460*/24612462static PyObject *__pyx_f_7aiohttp_8_helpers___pyx_unpickle_reify__set_state(struct __pyx_obj_7aiohttp_8_helpers_reify *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {2463PyObject *__pyx_r = NULL;2464__Pyx_RefNannyDeclarations2465PyObject *__pyx_t_1 = NULL;2466int __pyx_t_2;2467Py_ssize_t __pyx_t_3;2468int __pyx_t_4;2469int __pyx_t_5;2470PyObject *__pyx_t_6 = NULL;2471PyObject *__pyx_t_7 = NULL;2472PyObject *__pyx_t_8 = NULL;2473int __pyx_lineno = 0;2474const char *__pyx_filename = NULL;2475int __pyx_clineno = 0;2476__Pyx_RefNannySetupContext("__pyx_unpickle_reify__set_state", 0);24772478/* "(tree fragment)":122479* return __pyx_result2480* cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state):2481* __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1] # <<<<<<<<<<<<<<2482* if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):2483* __pyx_result.__dict__.update(__pyx_state[2])2484*/2485if (unlikely(__pyx_v___pyx_state == Py_None)) {2486PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");2487__PYX_ERR(1, 12, __pyx_L1_error)2488}2489__pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)2490__Pyx_GOTREF(__pyx_t_1);2491__Pyx_GIVEREF(__pyx_t_1);2492__Pyx_GOTREF(__pyx_v___pyx_result->name);2493__Pyx_DECREF(__pyx_v___pyx_result->name);2494__pyx_v___pyx_result->name = __pyx_t_1;2495__pyx_t_1 = 0;2496if (unlikely(__pyx_v___pyx_state == Py_None)) {2497PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");2498__PYX_ERR(1, 12, __pyx_L1_error)2499}2500__pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)2501__Pyx_GOTREF(__pyx_t_1);2502__Pyx_GIVEREF(__pyx_t_1);2503__Pyx_GOTREF(__pyx_v___pyx_result->wrapped);2504__Pyx_DECREF(__pyx_v___pyx_result->wrapped);2505__pyx_v___pyx_result->wrapped = __pyx_t_1;2506__pyx_t_1 = 0;25072508/* "(tree fragment)":132509* cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state):2510* __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1]2511* if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<2512* __pyx_result.__dict__.update(__pyx_state[2])2513*/2514if (unlikely(__pyx_v___pyx_state == Py_None)) {2515PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");2516__PYX_ERR(1, 13, __pyx_L1_error)2517}2518__pyx_t_3 = PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)2519__pyx_t_4 = ((__pyx_t_3 > 2) != 0);2520if (__pyx_t_4) {2521} else {2522__pyx_t_2 = __pyx_t_4;2523goto __pyx_L4_bool_binop_done;2524}2525__pyx_t_4 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)2526__pyx_t_5 = (__pyx_t_4 != 0);2527__pyx_t_2 = __pyx_t_5;2528__pyx_L4_bool_binop_done:;2529if (__pyx_t_2) {25302531/* "(tree fragment)":142532* __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1]2533* if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):2534* __pyx_result.__dict__.update(__pyx_state[2]) # <<<<<<<<<<<<<<2535*/2536__pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)2537__Pyx_GOTREF(__pyx_t_6);2538__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)2539__Pyx_GOTREF(__pyx_t_7);2540__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;2541if (unlikely(__pyx_v___pyx_state == Py_None)) {2542PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");2543__PYX_ERR(1, 14, __pyx_L1_error)2544}2545__pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)2546__Pyx_GOTREF(__pyx_t_6);2547__pyx_t_8 = NULL;2548if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {2549__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);2550if (likely(__pyx_t_8)) {2551PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);2552__Pyx_INCREF(__pyx_t_8);2553__Pyx_INCREF(function);2554__Pyx_DECREF_SET(__pyx_t_7, function);2555}2556}2557__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6);2558__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;2559__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;2560if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)2561__Pyx_GOTREF(__pyx_t_1);2562__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;2563__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;25642565/* "(tree fragment)":132566* cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state):2567* __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1]2568* if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<2569* __pyx_result.__dict__.update(__pyx_state[2])2570*/2571}25722573/* "(tree fragment)":112574* __pyx_unpickle_reify__set_state(<reify> __pyx_result, __pyx_state)2575* return __pyx_result2576* cdef __pyx_unpickle_reify__set_state(reify __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<<2577* __pyx_result.name = __pyx_state[0]; __pyx_result.wrapped = __pyx_state[1]2578* if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):2579*/25802581/* function exit code */2582__pyx_r = Py_None; __Pyx_INCREF(Py_None);2583goto __pyx_L0;2584__pyx_L1_error:;2585__Pyx_XDECREF(__pyx_t_1);2586__Pyx_XDECREF(__pyx_t_6);2587__Pyx_XDECREF(__pyx_t_7);2588__Pyx_XDECREF(__pyx_t_8);2589__Pyx_AddTraceback("aiohttp._helpers.__pyx_unpickle_reify__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);2590__pyx_r = 0;2591__pyx_L0:;2592__Pyx_XGIVEREF(__pyx_r);2593__Pyx_RefNannyFinishContext();2594return __pyx_r;2595}25962597static PyObject *__pyx_tp_new_7aiohttp_8_helpers_reify(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {2598struct __pyx_obj_7aiohttp_8_helpers_reify *p;2599PyObject *o;2600if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {2601o = (*t->tp_alloc)(t, 0);2602} else {2603o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);2604}2605if (unlikely(!o)) return 0;2606p = ((struct __pyx_obj_7aiohttp_8_helpers_reify *)o);2607p->wrapped = Py_None; Py_INCREF(Py_None);2608p->name = Py_None; Py_INCREF(Py_None);2609return o;2610}26112612static void __pyx_tp_dealloc_7aiohttp_8_helpers_reify(PyObject *o) {2613struct __pyx_obj_7aiohttp_8_helpers_reify *p = (struct __pyx_obj_7aiohttp_8_helpers_reify *)o;2614#if CYTHON_USE_TP_FINALIZE2615if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) {2616if (PyObject_CallFinalizerFromDealloc(o)) return;2617}2618#endif2619PyObject_GC_UnTrack(o);2620Py_CLEAR(p->wrapped);2621Py_CLEAR(p->name);2622(*Py_TYPE(o)->tp_free)(o);2623}26242625static int __pyx_tp_traverse_7aiohttp_8_helpers_reify(PyObject *o, visitproc v, void *a) {2626int e;2627struct __pyx_obj_7aiohttp_8_helpers_reify *p = (struct __pyx_obj_7aiohttp_8_helpers_reify *)o;2628if (p->wrapped) {2629e = (*v)(p->wrapped, a); if (e) return e;2630}2631if (p->name) {2632e = (*v)(p->name, a); if (e) return e;2633}2634return 0;2635}26362637static int __pyx_tp_clear_7aiohttp_8_helpers_reify(PyObject *o) {2638PyObject* tmp;2639struct __pyx_obj_7aiohttp_8_helpers_reify *p = (struct __pyx_obj_7aiohttp_8_helpers_reify *)o;2640tmp = ((PyObject*)p->wrapped);2641p->wrapped = Py_None; Py_INCREF(Py_None);2642Py_XDECREF(tmp);2643tmp = ((PyObject*)p->name);2644p->name = Py_None; Py_INCREF(Py_None);2645Py_XDECREF(tmp);2646return 0;2647}26482649static PyObject *__pyx_tp_descr_get_7aiohttp_8_helpers_reify(PyObject *o, PyObject *i, PyObject *c) {2650PyObject *r = 0;2651if (!i) i = Py_None;2652if (!c) c = Py_None;2653r = __pyx_pw_7aiohttp_8_helpers_5reify_3__get__(o, i, c);2654return r;2655}26562657static int __pyx_tp_descr_set_7aiohttp_8_helpers_reify(PyObject *o, PyObject *i, PyObject *v) {2658if (v) {2659return __pyx_pw_7aiohttp_8_helpers_5reify_5__set__(o, i, v);2660}2661else {2662PyErr_SetString(PyExc_NotImplementedError, "__delete__");2663return -1;2664}2665}26662667static PyObject *__pyx_getprop_7aiohttp_8_helpers_5reify___doc__(PyObject *o, CYTHON_UNUSED void *x) {2668return __pyx_pw_7aiohttp_8_helpers_5reify_7__doc___1__get__(o);2669}26702671static PyMethodDef __pyx_methods_7aiohttp_8_helpers_reify[] = {2672{"__reduce_cython__", (PyCFunction)__pyx_pw_7aiohttp_8_helpers_5reify_7__reduce_cython__, METH_NOARGS, 0},2673{"__setstate_cython__", (PyCFunction)__pyx_pw_7aiohttp_8_helpers_5reify_9__setstate_cython__, METH_O, 0},2674{0, 0, 0, 0}2675};26762677static struct PyGetSetDef __pyx_getsets_7aiohttp_8_helpers_reify[] = {2678{(char *)"__doc__", __pyx_getprop_7aiohttp_8_helpers_5reify___doc__, 0, (char *)0, 0},2679{0, 0, 0, 0, 0}2680};26812682static PyTypeObject __pyx_type_7aiohttp_8_helpers_reify = {2683PyVarObject_HEAD_INIT(0, 0)2684"aiohttp._helpers.reify", /*tp_name*/2685sizeof(struct __pyx_obj_7aiohttp_8_helpers_reify), /*tp_basicsize*/26860, /*tp_itemsize*/2687__pyx_tp_dealloc_7aiohttp_8_helpers_reify, /*tp_dealloc*/2688#if PY_VERSION_HEX < 0x030800b426890, /*tp_print*/2690#endif2691#if PY_VERSION_HEX >= 0x030800b426920, /*tp_vectorcall_offset*/2693#endif26940, /*tp_getattr*/26950, /*tp_setattr*/2696#if PY_MAJOR_VERSION < 326970, /*tp_compare*/2698#endif2699#if PY_MAJOR_VERSION >= 327000, /*tp_as_async*/2701#endif27020, /*tp_repr*/27030, /*tp_as_number*/27040, /*tp_as_sequence*/27050, /*tp_as_mapping*/27060, /*tp_hash*/27070, /*tp_call*/27080, /*tp_str*/27090, /*tp_getattro*/27100, /*tp_setattro*/27110, /*tp_as_buffer*/2712Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/2713"Use as a class method decorator. It operates almost exactly like\n the Python `@property` decorator, but it puts the result of the\n method it decorates into the instance dict after the first call,\n effectively replacing the function it decorates with an instance\n variable. It is, in Python parlance, a data descriptor.\n\n ", /*tp_doc*/2714__pyx_tp_traverse_7aiohttp_8_helpers_reify, /*tp_traverse*/2715__pyx_tp_clear_7aiohttp_8_helpers_reify, /*tp_clear*/27160, /*tp_richcompare*/27170, /*tp_weaklistoffset*/27180, /*tp_iter*/27190, /*tp_iternext*/2720__pyx_methods_7aiohttp_8_helpers_reify, /*tp_methods*/27210, /*tp_members*/2722__pyx_getsets_7aiohttp_8_helpers_reify, /*tp_getset*/27230, /*tp_base*/27240, /*tp_dict*/2725__pyx_tp_descr_get_7aiohttp_8_helpers_reify, /*tp_descr_get*/2726__pyx_tp_descr_set_7aiohttp_8_helpers_reify, /*tp_descr_set*/27270, /*tp_dictoffset*/2728__pyx_pw_7aiohttp_8_helpers_5reify_1__init__, /*tp_init*/27290, /*tp_alloc*/2730__pyx_tp_new_7aiohttp_8_helpers_reify, /*tp_new*/27310, /*tp_free*/27320, /*tp_is_gc*/27330, /*tp_bases*/27340, /*tp_mro*/27350, /*tp_cache*/27360, /*tp_subclasses*/27370, /*tp_weaklist*/27380, /*tp_del*/27390, /*tp_version_tag*/2740#if PY_VERSION_HEX >= 0x030400a127410, /*tp_finalize*/2742#endif2743#if PY_VERSION_HEX >= 0x030800b127440, /*tp_vectorcall*/2745#endif2746#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x0309000027470, /*tp_print*/2748#endif2749};27502751static PyMethodDef __pyx_methods[] = {2752{0, 0, 0, 0}2753};27542755#if PY_MAJOR_VERSION >= 32756#if CYTHON_PEP489_MULTI_PHASE_INIT2757static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/2758static int __pyx_pymod_exec__helpers(PyObject* module); /*proto*/2759static PyModuleDef_Slot __pyx_moduledef_slots[] = {2760{Py_mod_create, (void*)__pyx_pymod_create},2761{Py_mod_exec, (void*)__pyx_pymod_exec__helpers},2762{0, NULL}2763};2764#endif27652766static struct PyModuleDef __pyx_moduledef = {2767PyModuleDef_HEAD_INIT,2768"_helpers",27690, /* m_doc */2770#if CYTHON_PEP489_MULTI_PHASE_INIT27710, /* m_size */2772#else2773-1, /* m_size */2774#endif2775__pyx_methods /* m_methods */,2776#if CYTHON_PEP489_MULTI_PHASE_INIT2777__pyx_moduledef_slots, /* m_slots */2778#else2779NULL, /* m_reload */2780#endif2781NULL, /* m_traverse */2782NULL, /* m_clear */2783NULL /* m_free */2784};2785#endif2786#ifndef CYTHON_SMALL_CODE2787#if defined(__clang__)2788#define CYTHON_SMALL_CODE2789#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))2790#define CYTHON_SMALL_CODE __attribute__((cold))2791#else2792#define CYTHON_SMALL_CODE2793#endif2794#endif27952796static __Pyx_StringTabEntry __pyx_string_tab[] = {2797{&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1},2798{&__pyx_kp_s_Incompatible_checksums_s_vs_0x77, __pyx_k_Incompatible_checksums_s_vs_0x77, sizeof(__pyx_k_Incompatible_checksums_s_vs_0x77), 0, 0, 1, 0},2799{&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},2800{&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},2801{&__pyx_n_s_aiohttp__helpers, __pyx_k_aiohttp__helpers, sizeof(__pyx_k_aiohttp__helpers), 0, 0, 1, 1},2802{&__pyx_n_s_cache, __pyx_k_cache, sizeof(__pyx_k_cache), 0, 0, 1, 1},2803{&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},2804{&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},2805{&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},2806{&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},2807{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},2808{&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},2809{&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},2810{&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},2811{&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},2812{&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},2813{&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},2814{&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},2815{&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},2816{&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},2817{&__pyx_n_s_pyx_unpickle_reify, __pyx_k_pyx_unpickle_reify, sizeof(__pyx_k_pyx_unpickle_reify), 0, 0, 1, 1},2818{&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},2819{&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},2820{&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},2821{&__pyx_kp_u_reified_property_is_read_only, __pyx_k_reified_property_is_read_only, sizeof(__pyx_k_reified_property_is_read_only), 0, 1, 0, 0},2822{&__pyx_n_s_reify, __pyx_k_reify, sizeof(__pyx_k_reify), 0, 0, 1, 1},2823{&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},2824{&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},2825{&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},2826{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},2827{&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},2828{&__pyx_n_s_wrapped, __pyx_k_wrapped, sizeof(__pyx_k_wrapped), 0, 0, 1, 1},2829{0, 0, 0, 0, 0, 0, 0}2830};2831static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {2832__pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 25, __pyx_L1_error)2833__pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 29, __pyx_L1_error)2834return 0;2835__pyx_L1_error:;2836return -1;2837}28382839static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {2840__Pyx_RefNannyDeclarations2841__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);28422843/* "aiohttp/_helpers.pyx":352844*2845* def __set__(self, inst, value):2846* raise AttributeError("reified property is read-only") # <<<<<<<<<<<<<<2847*/2848__pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_u_reified_property_is_read_only); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 35, __pyx_L1_error)2849__Pyx_GOTREF(__pyx_tuple_);2850__Pyx_GIVEREF(__pyx_tuple_);28512852/* "(tree fragment)":12853* def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<2854* cdef object __pyx_PickleError2855* cdef object __pyx_result2856*/2857__pyx_tuple__2 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 1, __pyx_L1_error)2858__Pyx_GOTREF(__pyx_tuple__2);2859__Pyx_GIVEREF(__pyx_tuple__2);2860__pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__2, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_reify, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(1, 1, __pyx_L1_error)2861__Pyx_RefNannyFinishContext();2862return 0;2863__pyx_L1_error:;2864__Pyx_RefNannyFinishContext();2865return -1;2866}28672868static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {2869if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);2870__pyx_int_124832655 = PyInt_FromLong(124832655L); if (unlikely(!__pyx_int_124832655)) __PYX_ERR(0, 1, __pyx_L1_error)2871return 0;2872__pyx_L1_error:;2873return -1;2874}28752876static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/2877static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/2878static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/2879static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/2880static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/2881static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/2882static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/28832884static int __Pyx_modinit_global_init_code(void) {2885__Pyx_RefNannyDeclarations2886__Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);2887/*--- Global init code ---*/2888__Pyx_RefNannyFinishContext();2889return 0;2890}28912892static int __Pyx_modinit_variable_export_code(void) {2893__Pyx_RefNannyDeclarations2894__Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);2895/*--- Variable export code ---*/2896__Pyx_RefNannyFinishContext();2897return 0;2898}28992900static int __Pyx_modinit_function_export_code(void) {2901__Pyx_RefNannyDeclarations2902__Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);2903/*--- Function export code ---*/2904__Pyx_RefNannyFinishContext();2905return 0;2906}29072908static int __Pyx_modinit_type_init_code(void) {2909__Pyx_RefNannyDeclarations2910int __pyx_lineno = 0;2911const char *__pyx_filename = NULL;2912int __pyx_clineno = 0;2913__Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);2914/*--- Type init code ---*/2915if (PyType_Ready(&__pyx_type_7aiohttp_8_helpers_reify) < 0) __PYX_ERR(0, 1, __pyx_L1_error)2916#if PY_VERSION_HEX < 0x030800B12917__pyx_type_7aiohttp_8_helpers_reify.tp_print = 0;2918#endif2919if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_7aiohttp_8_helpers_reify.tp_dictoffset && __pyx_type_7aiohttp_8_helpers_reify.tp_getattro == PyObject_GenericGetAttr)) {2920__pyx_type_7aiohttp_8_helpers_reify.tp_getattro = __Pyx_PyObject_GenericGetAttr;2921}2922if (PyObject_SetAttr(__pyx_m, __pyx_n_s_reify, (PyObject *)&__pyx_type_7aiohttp_8_helpers_reify) < 0) __PYX_ERR(0, 1, __pyx_L1_error)2923if (__Pyx_setup_reduce((PyObject*)&__pyx_type_7aiohttp_8_helpers_reify) < 0) __PYX_ERR(0, 1, __pyx_L1_error)2924__pyx_ptype_7aiohttp_8_helpers_reify = &__pyx_type_7aiohttp_8_helpers_reify;2925__Pyx_RefNannyFinishContext();2926return 0;2927__pyx_L1_error:;2928__Pyx_RefNannyFinishContext();2929return -1;2930}29312932static int __Pyx_modinit_type_import_code(void) {2933__Pyx_RefNannyDeclarations2934__Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);2935/*--- Type import code ---*/2936__Pyx_RefNannyFinishContext();2937return 0;2938}29392940static int __Pyx_modinit_variable_import_code(void) {2941__Pyx_RefNannyDeclarations2942__Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);2943/*--- Variable import code ---*/2944__Pyx_RefNannyFinishContext();2945return 0;2946}29472948static int __Pyx_modinit_function_import_code(void) {2949__Pyx_RefNannyDeclarations2950__Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);2951/*--- Function import code ---*/2952__Pyx_RefNannyFinishContext();2953return 0;2954}295529562957#ifndef CYTHON_NO_PYINIT_EXPORT2958#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC2959#elif PY_MAJOR_VERSION < 32960#ifdef __cplusplus2961#define __Pyx_PyMODINIT_FUNC extern "C" void2962#else2963#define __Pyx_PyMODINIT_FUNC void2964#endif2965#else2966#ifdef __cplusplus2967#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *2968#else2969#define __Pyx_PyMODINIT_FUNC PyObject *2970#endif2971#endif297229732974#if PY_MAJOR_VERSION < 32975__Pyx_PyMODINIT_FUNC init_helpers(void) CYTHON_SMALL_CODE; /*proto*/2976__Pyx_PyMODINIT_FUNC init_helpers(void)2977#else2978__Pyx_PyMODINIT_FUNC PyInit__helpers(void) CYTHON_SMALL_CODE; /*proto*/2979__Pyx_PyMODINIT_FUNC PyInit__helpers(void)2980#if CYTHON_PEP489_MULTI_PHASE_INIT2981{2982return PyModuleDef_Init(&__pyx_moduledef);2983}2984static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {2985#if PY_VERSION_HEX >= 0x030700A12986static PY_INT64_T main_interpreter_id = -1;2987PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);2988if (main_interpreter_id == -1) {2989main_interpreter_id = current_id;2990return (unlikely(current_id == -1)) ? -1 : 0;2991} else if (unlikely(main_interpreter_id != current_id))2992#else2993static PyInterpreterState *main_interpreter = NULL;2994PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;2995if (!main_interpreter) {2996main_interpreter = current_interpreter;2997} else if (unlikely(main_interpreter != current_interpreter))2998#endif2999{3000PyErr_SetString(3001PyExc_ImportError,3002"Interpreter change detected - this module can only be loaded into one interpreter per process.");3003return -1;3004}3005return 0;3006}3007static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {3008PyObject *value = PyObject_GetAttrString(spec, from_name);3009int result = 0;3010if (likely(value)) {3011if (allow_none || value != Py_None) {3012result = PyDict_SetItemString(moddict, to_name, value);3013}3014Py_DECREF(value);3015} else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {3016PyErr_Clear();3017} else {3018result = -1;3019}3020return result;3021}3022static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {3023PyObject *module = NULL, *moddict, *modname;3024if (__Pyx_check_single_interpreter())3025return NULL;3026if (__pyx_m)3027return __Pyx_NewRef(__pyx_m);3028modname = PyObject_GetAttrString(spec, "name");3029if (unlikely(!modname)) goto bad;3030module = PyModule_NewObject(modname);3031Py_DECREF(modname);3032if (unlikely(!module)) goto bad;3033moddict = PyModule_GetDict(module);3034if (unlikely(!moddict)) goto bad;3035if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;3036if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;3037if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;3038if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;3039return module;3040bad:3041Py_XDECREF(module);3042return NULL;3043}304430453046static CYTHON_SMALL_CODE int __pyx_pymod_exec__helpers(PyObject *__pyx_pyinit_module)3047#endif3048#endif3049{3050PyObject *__pyx_t_1 = NULL;3051int __pyx_lineno = 0;3052const char *__pyx_filename = NULL;3053int __pyx_clineno = 0;3054__Pyx_RefNannyDeclarations3055#if CYTHON_PEP489_MULTI_PHASE_INIT3056if (__pyx_m) {3057if (__pyx_m == __pyx_pyinit_module) return 0;3058PyErr_SetString(PyExc_RuntimeError, "Module '_helpers' has already been imported. Re-initialisation is not supported.");3059return -1;3060}3061#elif PY_MAJOR_VERSION >= 33062if (__pyx_m) return __Pyx_NewRef(__pyx_m);3063#endif3064#if CYTHON_REFNANNY3065__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");3066if (!__Pyx_RefNanny) {3067PyErr_Clear();3068__Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");3069if (!__Pyx_RefNanny)3070Py_FatalError("failed to import 'refnanny' module");3071}3072#endif3073__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__helpers(void)", 0);3074if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3075#ifdef __Pxy_PyFrame_Initialize_Offsets3076__Pxy_PyFrame_Initialize_Offsets();3077#endif3078__pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)3079__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)3080__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)3081#ifdef __Pyx_CyFunction_USED3082if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3083#endif3084#ifdef __Pyx_FusedFunction_USED3085if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3086#endif3087#ifdef __Pyx_Coroutine_USED3088if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3089#endif3090#ifdef __Pyx_Generator_USED3091if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3092#endif3093#ifdef __Pyx_AsyncGen_USED3094if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3095#endif3096#ifdef __Pyx_StopAsyncIteration_USED3097if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3098#endif3099/*--- Library function declarations ---*/3100/*--- Threads initialization code ---*/3101#if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS3102PyEval_InitThreads();3103#endif3104/*--- Module creation code ---*/3105#if CYTHON_PEP489_MULTI_PHASE_INIT3106__pyx_m = __pyx_pyinit_module;3107Py_INCREF(__pyx_m);3108#else3109#if PY_MAJOR_VERSION < 33110__pyx_m = Py_InitModule4("_helpers", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);3111#else3112__pyx_m = PyModule_Create(&__pyx_moduledef);3113#endif3114if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)3115#endif3116__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)3117Py_INCREF(__pyx_d);3118__pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)3119Py_INCREF(__pyx_b);3120__pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)3121Py_INCREF(__pyx_cython_runtime);3122if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);3123/*--- Initialize various global constants etc. ---*/3124if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3125#if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)3126if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3127#endif3128if (__pyx_module_is_main_aiohttp___helpers) {3129if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)3130}3131#if PY_MAJOR_VERSION >= 33132{3133PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)3134if (!PyDict_GetItemString(modules, "aiohttp._helpers")) {3135if (unlikely(PyDict_SetItemString(modules, "aiohttp._helpers", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)3136}3137}3138#endif3139/*--- Builtin init code ---*/3140if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3141/*--- Constants init code ---*/3142if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3143/*--- Global type/function init code ---*/3144(void)__Pyx_modinit_global_init_code();3145(void)__Pyx_modinit_variable_export_code();3146(void)__Pyx_modinit_function_export_code();3147if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)3148(void)__Pyx_modinit_type_import_code();3149(void)__Pyx_modinit_variable_import_code();3150(void)__Pyx_modinit_function_import_code();3151/*--- Execution code ---*/3152#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)3153if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)3154#endif31553156/* "(tree fragment)":13157* def __pyx_unpickle_reify(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<3158* cdef object __pyx_PickleError3159* cdef object __pyx_result3160*/3161__pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7aiohttp_8_helpers_1__pyx_unpickle_reify, NULL, __pyx_n_s_aiohttp__helpers); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)3162__Pyx_GOTREF(__pyx_t_1);3163if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_reify, __pyx_t_1) < 0) __PYX_ERR(1, 1, __pyx_L1_error)3164__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;31653166/* "aiohttp/_helpers.pyx":13167* cdef class reify: # <<<<<<<<<<<<<<3168* """Use as a class method decorator. It operates almost exactly like3169* the Python `@property` decorator, but it puts the result of the3170*/3171__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)3172__Pyx_GOTREF(__pyx_t_1);3173if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)3174__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;31753176/*--- Wrapped vars code ---*/31773178goto __pyx_L0;3179__pyx_L1_error:;3180__Pyx_XDECREF(__pyx_t_1);3181if (__pyx_m) {3182if (__pyx_d) {3183__Pyx_AddTraceback("init aiohttp._helpers", __pyx_clineno, __pyx_lineno, __pyx_filename);3184}3185Py_CLEAR(__pyx_m);3186} else if (!PyErr_Occurred()) {3187PyErr_SetString(PyExc_ImportError, "init aiohttp._helpers");3188}3189__pyx_L0:;3190__Pyx_RefNannyFinishContext();3191#if CYTHON_PEP489_MULTI_PHASE_INIT3192return (__pyx_m != NULL) ? 0 : -1;3193#elif PY_MAJOR_VERSION >= 33194return __pyx_m;3195#else3196return;3197#endif3198}31993200/* --- Runtime support code --- */3201/* Refnanny */3202#if CYTHON_REFNANNY3203static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {3204PyObject *m = NULL, *p = NULL;3205void *r = NULL;3206m = PyImport_ImportModule(modname);3207if (!m) goto end;3208p = PyObject_GetAttrString(m, "RefNannyAPI");3209if (!p) goto end;3210r = PyLong_AsVoidPtr(p);3211end:3212Py_XDECREF(p);3213Py_XDECREF(m);3214return (__Pyx_RefNannyAPIStruct *)r;3215}3216#endif32173218/* PyObjectGetAttrStr */3219#if CYTHON_USE_TYPE_SLOTS3220static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {3221PyTypeObject* tp = Py_TYPE(obj);3222if (likely(tp->tp_getattro))3223return tp->tp_getattro(obj, attr_name);3224#if PY_MAJOR_VERSION < 33225if (likely(tp->tp_getattr))3226return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));3227#endif3228return PyObject_GetAttr(obj, attr_name);3229}3230#endif32313232/* GetBuiltinName */3233static PyObject *__Pyx_GetBuiltinName(PyObject *name) {3234PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);3235if (unlikely(!result)) {3236PyErr_Format(PyExc_NameError,3237#if PY_MAJOR_VERSION >= 33238"name '%U' is not defined", name);3239#else3240"name '%.200s' is not defined", PyString_AS_STRING(name));3241#endif3242}3243return result;3244}32453246/* RaiseDoubleKeywords */3247static void __Pyx_RaiseDoubleKeywordsError(3248const char* func_name,3249PyObject* kw_name)3250{3251PyErr_Format(PyExc_TypeError,3252#if PY_MAJOR_VERSION >= 33253"%s() got multiple values for keyword argument '%U'", func_name, kw_name);3254#else3255"%s() got multiple values for keyword argument '%s'", func_name,3256PyString_AsString(kw_name));3257#endif3258}32593260/* ParseKeywords */3261static int __Pyx_ParseOptionalKeywords(3262PyObject *kwds,3263PyObject **argnames[],3264PyObject *kwds2,3265PyObject *values[],3266Py_ssize_t num_pos_args,3267const char* function_name)3268{3269PyObject *key = 0, *value = 0;3270Py_ssize_t pos = 0;3271PyObject*** name;3272PyObject*** first_kw_arg = argnames + num_pos_args;3273while (PyDict_Next(kwds, &pos, &key, &value)) {3274name = first_kw_arg;3275while (*name && (**name != key)) name++;3276if (*name) {3277values[name-argnames] = value;3278continue;3279}3280name = first_kw_arg;3281#if PY_MAJOR_VERSION < 33282if (likely(PyString_Check(key))) {3283while (*name) {3284if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))3285&& _PyString_Eq(**name, key)) {3286values[name-argnames] = value;3287break;3288}3289name++;3290}3291if (*name) continue;3292else {3293PyObject*** argname = argnames;3294while (argname != first_kw_arg) {3295if ((**argname == key) || (3296(CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))3297&& _PyString_Eq(**argname, key))) {3298goto arg_passed_twice;3299}3300argname++;3301}3302}3303} else3304#endif3305if (likely(PyUnicode_Check(key))) {3306while (*name) {3307int cmp = (**name == key) ? 0 :3308#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 33309(__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :3310#endif3311PyUnicode_Compare(**name, key);3312if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;3313if (cmp == 0) {3314values[name-argnames] = value;3315break;3316}3317name++;3318}3319if (*name) continue;3320else {3321PyObject*** argname = argnames;3322while (argname != first_kw_arg) {3323int cmp = (**argname == key) ? 0 :3324#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 33325(__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :3326#endif3327PyUnicode_Compare(**argname, key);3328if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;3329if (cmp == 0) goto arg_passed_twice;3330argname++;3331}3332}3333} else3334goto invalid_keyword_type;3335if (kwds2) {3336if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;3337} else {3338goto invalid_keyword;3339}3340}3341return 0;3342arg_passed_twice:3343__Pyx_RaiseDoubleKeywordsError(function_name, key);3344goto bad;3345invalid_keyword_type:3346PyErr_Format(PyExc_TypeError,3347"%.200s() keywords must be strings", function_name);3348goto bad;3349invalid_keyword:3350PyErr_Format(PyExc_TypeError,3351#if PY_MAJOR_VERSION < 33352"%.200s() got an unexpected keyword argument '%.200s'",3353function_name, PyString_AsString(key));3354#else3355"%s() got an unexpected keyword argument '%U'",3356function_name, key);3357#endif3358bad:3359return -1;3360}33613362/* RaiseArgTupleInvalid */3363static void __Pyx_RaiseArgtupleInvalid(3364const char* func_name,3365int exact,3366Py_ssize_t num_min,3367Py_ssize_t num_max,3368Py_ssize_t num_found)3369{3370Py_ssize_t num_expected;3371const char *more_or_less;3372if (num_found < num_min) {3373num_expected = num_min;3374more_or_less = "at least";3375} else {3376num_expected = num_max;3377more_or_less = "at most";3378}3379if (exact) {3380more_or_less = "exactly";3381}3382PyErr_Format(PyExc_TypeError,3383"%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",3384func_name, more_or_less, num_expected,3385(num_expected == 1) ? "" : "s", num_found);3386}33873388/* GetItemInt */3389static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {3390PyObject *r;3391if (!j) return NULL;3392r = PyObject_GetItem(o, j);3393Py_DECREF(j);3394return r;3395}3396static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,3397CYTHON_NCP_UNUSED int wraparound,3398CYTHON_NCP_UNUSED int boundscheck) {3399#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS3400Py_ssize_t wrapped_i = i;3401if (wraparound & unlikely(i < 0)) {3402wrapped_i += PyList_GET_SIZE(o);3403}3404if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {3405PyObject *r = PyList_GET_ITEM(o, wrapped_i);3406Py_INCREF(r);3407return r;3408}3409return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));3410#else3411return PySequence_GetItem(o, i);3412#endif3413}3414static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,3415CYTHON_NCP_UNUSED int wraparound,3416CYTHON_NCP_UNUSED int boundscheck) {3417#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS3418Py_ssize_t wrapped_i = i;3419if (wraparound & unlikely(i < 0)) {3420wrapped_i += PyTuple_GET_SIZE(o);3421}3422if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {3423PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);3424Py_INCREF(r);3425return r;3426}3427return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));3428#else3429return PySequence_GetItem(o, i);3430#endif3431}3432static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,3433CYTHON_NCP_UNUSED int wraparound,3434CYTHON_NCP_UNUSED int boundscheck) {3435#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS3436if (is_list || PyList_CheckExact(o)) {3437Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);3438if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {3439PyObject *r = PyList_GET_ITEM(o, n);3440Py_INCREF(r);3441return r;3442}3443}3444else if (PyTuple_CheckExact(o)) {3445Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);3446if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {3447PyObject *r = PyTuple_GET_ITEM(o, n);3448Py_INCREF(r);3449return r;3450}3451} else {3452PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;3453if (likely(m && m->sq_item)) {3454if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {3455Py_ssize_t l = m->sq_length(o);3456if (likely(l >= 0)) {3457i += l;3458} else {3459if (!PyErr_ExceptionMatches(PyExc_OverflowError))3460return NULL;3461PyErr_Clear();3462}3463}3464return m->sq_item(o, i);3465}3466}3467#else3468if (is_list || PySequence_Check(o)) {3469return PySequence_GetItem(o, i);3470}3471#endif3472return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));3473}34743475/* ObjectGetItem */3476#if CYTHON_USE_TYPE_SLOTS3477static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {3478PyObject *runerr;3479Py_ssize_t key_value;3480PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;3481if (unlikely(!(m && m->sq_item))) {3482PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name);3483return NULL;3484}3485key_value = __Pyx_PyIndex_AsSsize_t(index);3486if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {3487return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);3488}3489if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {3490PyErr_Clear();3491PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name);3492}3493return NULL;3494}3495static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) {3496PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping;3497if (likely(m && m->mp_subscript)) {3498return m->mp_subscript(obj, key);3499}3500return __Pyx_PyObject_GetIndex(obj, key);3501}3502#endif35033504/* GetTopmostException */3505#if CYTHON_USE_EXC_INFO_STACK3506static _PyErr_StackItem *3507__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)3508{3509_PyErr_StackItem *exc_info = tstate->exc_info;3510while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&3511exc_info->previous_item != NULL)3512{3513exc_info = exc_info->previous_item;3514}3515return exc_info;3516}3517#endif35183519/* SaveResetException */3520#if CYTHON_FAST_THREAD_STATE3521static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {3522#if CYTHON_USE_EXC_INFO_STACK3523_PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);3524*type = exc_info->exc_type;3525*value = exc_info->exc_value;3526*tb = exc_info->exc_traceback;3527#else3528*type = tstate->exc_type;3529*value = tstate->exc_value;3530*tb = tstate->exc_traceback;3531#endif3532Py_XINCREF(*type);3533Py_XINCREF(*value);3534Py_XINCREF(*tb);3535}3536static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {3537PyObject *tmp_type, *tmp_value, *tmp_tb;3538#if CYTHON_USE_EXC_INFO_STACK3539_PyErr_StackItem *exc_info = tstate->exc_info;3540tmp_type = exc_info->exc_type;3541tmp_value = exc_info->exc_value;3542tmp_tb = exc_info->exc_traceback;3543exc_info->exc_type = type;3544exc_info->exc_value = value;3545exc_info->exc_traceback = tb;3546#else3547tmp_type = tstate->exc_type;3548tmp_value = tstate->exc_value;3549tmp_tb = tstate->exc_traceback;3550tstate->exc_type = type;3551tstate->exc_value = value;3552tstate->exc_traceback = tb;3553#endif3554Py_XDECREF(tmp_type);3555Py_XDECREF(tmp_value);3556Py_XDECREF(tmp_tb);3557}3558#endif35593560/* PyErrExceptionMatches */3561#if CYTHON_FAST_THREAD_STATE3562static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {3563Py_ssize_t i, n;3564n = PyTuple_GET_SIZE(tuple);3565#if PY_MAJOR_VERSION >= 33566for (i=0; i<n; i++) {3567if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;3568}3569#endif3570for (i=0; i<n; i++) {3571if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;3572}3573return 0;3574}3575static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {3576PyObject *exc_type = tstate->curexc_type;3577if (exc_type == err) return 1;3578if (unlikely(!exc_type)) return 0;3579if (unlikely(PyTuple_Check(err)))3580return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);3581return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);3582}3583#endif35843585/* GetException */3586#if CYTHON_FAST_THREAD_STATE3587static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)3588#else3589static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)3590#endif3591{3592PyObject *local_type, *local_value, *local_tb;3593#if CYTHON_FAST_THREAD_STATE3594PyObject *tmp_type, *tmp_value, *tmp_tb;3595local_type = tstate->curexc_type;3596local_value = tstate->curexc_value;3597local_tb = tstate->curexc_traceback;3598tstate->curexc_type = 0;3599tstate->curexc_value = 0;3600tstate->curexc_traceback = 0;3601#else3602PyErr_Fetch(&local_type, &local_value, &local_tb);3603#endif3604PyErr_NormalizeException(&local_type, &local_value, &local_tb);3605#if CYTHON_FAST_THREAD_STATE3606if (unlikely(tstate->curexc_type))3607#else3608if (unlikely(PyErr_Occurred()))3609#endif3610goto bad;3611#if PY_MAJOR_VERSION >= 33612if (local_tb) {3613if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))3614goto bad;3615}3616#endif3617Py_XINCREF(local_tb);3618Py_XINCREF(local_type);3619Py_XINCREF(local_value);3620*type = local_type;3621*value = local_value;3622*tb = local_tb;3623#if CYTHON_FAST_THREAD_STATE3624#if CYTHON_USE_EXC_INFO_STACK3625{3626_PyErr_StackItem *exc_info = tstate->exc_info;3627tmp_type = exc_info->exc_type;3628tmp_value = exc_info->exc_value;3629tmp_tb = exc_info->exc_traceback;3630exc_info->exc_type = local_type;3631exc_info->exc_value = local_value;3632exc_info->exc_traceback = local_tb;3633}3634#else3635tmp_type = tstate->exc_type;3636tmp_value = tstate->exc_value;3637tmp_tb = tstate->exc_traceback;3638tstate->exc_type = local_type;3639tstate->exc_value = local_value;3640tstate->exc_traceback = local_tb;3641#endif3642Py_XDECREF(tmp_type);3643Py_XDECREF(tmp_value);3644Py_XDECREF(tmp_tb);3645#else3646PyErr_SetExcInfo(local_type, local_value, local_tb);3647#endif3648return 0;3649bad:3650*type = 0;3651*value = 0;3652*tb = 0;3653Py_XDECREF(local_type);3654Py_XDECREF(local_value);3655Py_XDECREF(local_tb);3656return -1;3657}36583659/* PyCFunctionFastCall */3660#if CYTHON_FAST_PYCCALL3661static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {3662PyCFunctionObject *func = (PyCFunctionObject*)func_obj;3663PyCFunction meth = PyCFunction_GET_FUNCTION(func);3664PyObject *self = PyCFunction_GET_SELF(func);3665int flags = PyCFunction_GET_FLAGS(func);3666assert(PyCFunction_Check(func));3667assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));3668assert(nargs >= 0);3669assert(nargs == 0 || args != NULL);3670/* _PyCFunction_FastCallDict() must not be called with an exception set,3671because it may clear it (directly or indirectly) and so the3672caller loses its exception */3673assert(!PyErr_Occurred());3674if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {3675return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);3676} else {3677return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);3678}3679}3680#endif36813682/* PyFunctionFastCall */3683#if CYTHON_FAST_PYCALL3684static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,3685PyObject *globals) {3686PyFrameObject *f;3687PyThreadState *tstate = __Pyx_PyThreadState_Current;3688PyObject **fastlocals;3689Py_ssize_t i;3690PyObject *result;3691assert(globals != NULL);3692/* XXX Perhaps we should create a specialized3693PyFrame_New() that doesn't take locals, but does3694take builtins without sanity checking them.3695*/3696assert(tstate != NULL);3697f = PyFrame_New(tstate, co, globals, NULL);3698if (f == NULL) {3699return NULL;3700}3701fastlocals = __Pyx_PyFrame_GetLocalsplus(f);3702for (i = 0; i < na; i++) {3703Py_INCREF(*args);3704fastlocals[i] = *args++;3705}3706result = PyEval_EvalFrameEx(f,0);3707++tstate->recursion_depth;3708Py_DECREF(f);3709--tstate->recursion_depth;3710return result;3711}3712#if 1 || PY_VERSION_HEX < 0x030600B13713static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {3714PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);3715PyObject *globals = PyFunction_GET_GLOBALS(func);3716PyObject *argdefs = PyFunction_GET_DEFAULTS(func);3717PyObject *closure;3718#if PY_MAJOR_VERSION >= 33719PyObject *kwdefs;3720#endif3721PyObject *kwtuple, **k;3722PyObject **d;3723Py_ssize_t nd;3724Py_ssize_t nk;3725PyObject *result;3726assert(kwargs == NULL || PyDict_Check(kwargs));3727nk = kwargs ? PyDict_Size(kwargs) : 0;3728if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {3729return NULL;3730}3731if (3732#if PY_MAJOR_VERSION >= 33733co->co_kwonlyargcount == 0 &&3734#endif3735likely(kwargs == NULL || nk == 0) &&3736co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {3737if (argdefs == NULL && co->co_argcount == nargs) {3738result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);3739goto done;3740}3741else if (nargs == 0 && argdefs != NULL3742&& co->co_argcount == Py_SIZE(argdefs)) {3743/* function called with no arguments, but all parameters have3744a default value: use default values as arguments .*/3745args = &PyTuple_GET_ITEM(argdefs, 0);3746result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);3747goto done;3748}3749}3750if (kwargs != NULL) {3751Py_ssize_t pos, i;3752kwtuple = PyTuple_New(2 * nk);3753if (kwtuple == NULL) {3754result = NULL;3755goto done;3756}3757k = &PyTuple_GET_ITEM(kwtuple, 0);3758pos = i = 0;3759while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {3760Py_INCREF(k[i]);3761Py_INCREF(k[i+1]);3762i += 2;3763}3764nk = i / 2;3765}3766else {3767kwtuple = NULL;3768k = NULL;3769}3770closure = PyFunction_GET_CLOSURE(func);3771#if PY_MAJOR_VERSION >= 33772kwdefs = PyFunction_GET_KW_DEFAULTS(func);3773#endif3774if (argdefs != NULL) {3775d = &PyTuple_GET_ITEM(argdefs, 0);3776nd = Py_SIZE(argdefs);3777}3778else {3779d = NULL;3780nd = 0;3781}3782#if PY_MAJOR_VERSION >= 33783result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,3784args, (int)nargs,3785k, (int)nk,3786d, (int)nd, kwdefs, closure);3787#else3788result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,3789args, (int)nargs,3790k, (int)nk,3791d, (int)nd, closure);3792#endif3793Py_XDECREF(kwtuple);3794done:3795Py_LeaveRecursiveCall();3796return result;3797}3798#endif3799#endif38003801/* PyObjectCall */3802#if CYTHON_COMPILING_IN_CPYTHON3803static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {3804PyObject *result;3805ternaryfunc call = Py_TYPE(func)->tp_call;3806if (unlikely(!call))3807return PyObject_Call(func, arg, kw);3808if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))3809return NULL;3810result = (*call)(func, arg, kw);3811Py_LeaveRecursiveCall();3812if (unlikely(!result) && unlikely(!PyErr_Occurred())) {3813PyErr_SetString(3814PyExc_SystemError,3815"NULL result without error in PyObject_Call");3816}3817return result;3818}3819#endif38203821/* PyObjectCall2Args */3822static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {3823PyObject *args, *result = NULL;3824#if CYTHON_FAST_PYCALL3825if (PyFunction_Check(function)) {3826PyObject *args[2] = {arg1, arg2};3827return __Pyx_PyFunction_FastCall(function, args, 2);3828}3829#endif3830#if CYTHON_FAST_PYCCALL3831if (__Pyx_PyFastCFunction_Check(function)) {3832PyObject *args[2] = {arg1, arg2};3833return __Pyx_PyCFunction_FastCall(function, args, 2);3834}3835#endif3836args = PyTuple_New(2);3837if (unlikely(!args)) goto done;3838Py_INCREF(arg1);3839PyTuple_SET_ITEM(args, 0, arg1);3840Py_INCREF(arg2);3841PyTuple_SET_ITEM(args, 1, arg2);3842Py_INCREF(function);3843result = __Pyx_PyObject_Call(function, args, NULL);3844Py_DECREF(args);3845Py_DECREF(function);3846done:3847return result;3848}38493850/* PyObjectCallMethO */3851#if CYTHON_COMPILING_IN_CPYTHON3852static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {3853PyObject *self, *result;3854PyCFunction cfunc;3855cfunc = PyCFunction_GET_FUNCTION(func);3856self = PyCFunction_GET_SELF(func);3857if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))3858return NULL;3859result = cfunc(self, arg);3860Py_LeaveRecursiveCall();3861if (unlikely(!result) && unlikely(!PyErr_Occurred())) {3862PyErr_SetString(3863PyExc_SystemError,3864"NULL result without error in PyObject_Call");3865}3866return result;3867}3868#endif38693870/* PyObjectCallOneArg */3871#if CYTHON_COMPILING_IN_CPYTHON3872static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {3873PyObject *result;3874PyObject *args = PyTuple_New(1);3875if (unlikely(!args)) return NULL;3876Py_INCREF(arg);3877PyTuple_SET_ITEM(args, 0, arg);3878result = __Pyx_PyObject_Call(func, args, NULL);3879Py_DECREF(args);3880return result;3881}3882static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {3883#if CYTHON_FAST_PYCALL3884if (PyFunction_Check(func)) {3885return __Pyx_PyFunction_FastCall(func, &arg, 1);3886}3887#endif3888if (likely(PyCFunction_Check(func))) {3889if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {3890return __Pyx_PyObject_CallMethO(func, arg);3891#if CYTHON_FAST_PYCCALL3892} else if (__Pyx_PyFastCFunction_Check(func)) {3893return __Pyx_PyCFunction_FastCall(func, &arg, 1);3894#endif3895}3896}3897return __Pyx__PyObject_CallOneArg(func, arg);3898}3899#else3900static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {3901PyObject *result;3902PyObject *args = PyTuple_Pack(1, arg);3903if (unlikely(!args)) return NULL;3904result = __Pyx_PyObject_Call(func, args, NULL);3905Py_DECREF(args);3906return result;3907}3908#endif39093910/* PyErrFetchRestore */3911#if CYTHON_FAST_THREAD_STATE3912static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {3913PyObject *tmp_type, *tmp_value, *tmp_tb;3914tmp_type = tstate->curexc_type;3915tmp_value = tstate->curexc_value;3916tmp_tb = tstate->curexc_traceback;3917tstate->curexc_type = type;3918tstate->curexc_value = value;3919tstate->curexc_traceback = tb;3920Py_XDECREF(tmp_type);3921Py_XDECREF(tmp_value);3922Py_XDECREF(tmp_tb);3923}3924static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {3925*type = tstate->curexc_type;3926*value = tstate->curexc_value;3927*tb = tstate->curexc_traceback;3928tstate->curexc_type = 0;3929tstate->curexc_value = 0;3930tstate->curexc_traceback = 0;3931}3932#endif39333934/* RaiseException */3935#if PY_MAJOR_VERSION < 33936static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,3937CYTHON_UNUSED PyObject *cause) {3938__Pyx_PyThreadState_declare3939Py_XINCREF(type);3940if (!value || value == Py_None)3941value = NULL;3942else3943Py_INCREF(value);3944if (!tb || tb == Py_None)3945tb = NULL;3946else {3947Py_INCREF(tb);3948if (!PyTraceBack_Check(tb)) {3949PyErr_SetString(PyExc_TypeError,3950"raise: arg 3 must be a traceback or None");3951goto raise_error;3952}3953}3954if (PyType_Check(type)) {3955#if CYTHON_COMPILING_IN_PYPY3956if (!value) {3957Py_INCREF(Py_None);3958value = Py_None;3959}3960#endif3961PyErr_NormalizeException(&type, &value, &tb);3962} else {3963if (value) {3964PyErr_SetString(PyExc_TypeError,3965"instance exception may not have a separate value");3966goto raise_error;3967}3968value = type;3969type = (PyObject*) Py_TYPE(type);3970Py_INCREF(type);3971if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {3972PyErr_SetString(PyExc_TypeError,3973"raise: exception class must be a subclass of BaseException");3974goto raise_error;3975}3976}3977__Pyx_PyThreadState_assign3978__Pyx_ErrRestore(type, value, tb);3979return;3980raise_error:3981Py_XDECREF(value);3982Py_XDECREF(type);3983Py_XDECREF(tb);3984return;3985}3986#else3987static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {3988PyObject* owned_instance = NULL;3989if (tb == Py_None) {3990tb = 0;3991} else if (tb && !PyTraceBack_Check(tb)) {3992PyErr_SetString(PyExc_TypeError,3993"raise: arg 3 must be a traceback or None");3994goto bad;3995}3996if (value == Py_None)3997value = 0;3998if (PyExceptionInstance_Check(type)) {3999if (value) {4000PyErr_SetString(PyExc_TypeError,4001"instance exception may not have a separate value");4002goto bad;4003}4004value = type;4005type = (PyObject*) Py_TYPE(value);4006} else if (PyExceptionClass_Check(type)) {4007PyObject *instance_class = NULL;4008if (value && PyExceptionInstance_Check(value)) {4009instance_class = (PyObject*) Py_TYPE(value);4010if (instance_class != type) {4011int is_subclass = PyObject_IsSubclass(instance_class, type);4012if (!is_subclass) {4013instance_class = NULL;4014} else if (unlikely(is_subclass == -1)) {4015goto bad;4016} else {4017type = instance_class;4018}4019}4020}4021if (!instance_class) {4022PyObject *args;4023if (!value)4024args = PyTuple_New(0);4025else if (PyTuple_Check(value)) {4026Py_INCREF(value);4027args = value;4028} else4029args = PyTuple_Pack(1, value);4030if (!args)4031goto bad;4032owned_instance = PyObject_Call(type, args, NULL);4033Py_DECREF(args);4034if (!owned_instance)4035goto bad;4036value = owned_instance;4037if (!PyExceptionInstance_Check(value)) {4038PyErr_Format(PyExc_TypeError,4039"calling %R should have returned an instance of "4040"BaseException, not %R",4041type, Py_TYPE(value));4042goto bad;4043}4044}4045} else {4046PyErr_SetString(PyExc_TypeError,4047"raise: exception class must be a subclass of BaseException");4048goto bad;4049}4050if (cause) {4051PyObject *fixed_cause;4052if (cause == Py_None) {4053fixed_cause = NULL;4054} else if (PyExceptionClass_Check(cause)) {4055fixed_cause = PyObject_CallObject(cause, NULL);4056if (fixed_cause == NULL)4057goto bad;4058} else if (PyExceptionInstance_Check(cause)) {4059fixed_cause = cause;4060Py_INCREF(fixed_cause);4061} else {4062PyErr_SetString(PyExc_TypeError,4063"exception causes must derive from "4064"BaseException");4065goto bad;4066}4067PyException_SetCause(value, fixed_cause);4068}4069PyErr_SetObject(type, value);4070if (tb) {4071#if CYTHON_COMPILING_IN_PYPY4072PyObject *tmp_type, *tmp_value, *tmp_tb;4073PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);4074Py_INCREF(tb);4075PyErr_Restore(tmp_type, tmp_value, tb);4076Py_XDECREF(tmp_tb);4077#else4078PyThreadState *tstate = __Pyx_PyThreadState_Current;4079PyObject* tmp_tb = tstate->curexc_traceback;4080if (tb != tmp_tb) {4081Py_INCREF(tb);4082tstate->curexc_traceback = tb;4083Py_XDECREF(tmp_tb);4084}4085#endif4086}4087bad:4088Py_XDECREF(owned_instance);4089return;4090}4091#endif40924093/* GetAttr */4094static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {4095#if CYTHON_USE_TYPE_SLOTS4096#if PY_MAJOR_VERSION >= 34097if (likely(PyUnicode_Check(n)))4098#else4099if (likely(PyString_Check(n)))4100#endif4101return __Pyx_PyObject_GetAttrStr(o, n);4102#endif4103return PyObject_GetAttr(o, n);4104}41054106/* GetAttr3 */4107static PyObject *__Pyx_GetAttr3Default(PyObject *d) {4108__Pyx_PyThreadState_declare4109__Pyx_PyThreadState_assign4110if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))4111return NULL;4112__Pyx_PyErr_Clear();4113Py_INCREF(d);4114return d;4115}4116static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {4117PyObject *r = __Pyx_GetAttr(o, n);4118return (likely(r)) ? r : __Pyx_GetAttr3Default(d);4119}41204121/* PyDictVersioning */4122#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS4123static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {4124PyObject *dict = Py_TYPE(obj)->tp_dict;4125return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;4126}4127static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {4128PyObject **dictptr = NULL;4129Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;4130if (offset) {4131#if CYTHON_COMPILING_IN_CPYTHON4132dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);4133#else4134dictptr = _PyObject_GetDictPtr(obj);4135#endif4136}4137return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;4138}4139static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {4140PyObject *dict = Py_TYPE(obj)->tp_dict;4141if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))4142return 0;4143return obj_dict_version == __Pyx_get_object_dict_version(obj);4144}4145#endif41464147/* GetModuleGlobalName */4148#if CYTHON_USE_DICT_VERSIONS4149static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)4150#else4151static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)4152#endif4153{4154PyObject *result;4155#if !CYTHON_AVOID_BORROWED_REFS4156#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A14157result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);4158__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)4159if (likely(result)) {4160return __Pyx_NewRef(result);4161} else if (unlikely(PyErr_Occurred())) {4162return NULL;4163}4164#else4165result = PyDict_GetItem(__pyx_d, name);4166__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)4167if (likely(result)) {4168return __Pyx_NewRef(result);4169}4170#endif4171#else4172result = PyObject_GetItem(__pyx_d, name);4173__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)4174if (likely(result)) {4175return __Pyx_NewRef(result);4176}4177PyErr_Clear();4178#endif4179return __Pyx_GetBuiltinName(name);4180}41814182/* Import */4183static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {4184PyObject *empty_list = 0;4185PyObject *module = 0;4186PyObject *global_dict = 0;4187PyObject *empty_dict = 0;4188PyObject *list;4189#if PY_MAJOR_VERSION < 34190PyObject *py_import;4191py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);4192if (!py_import)4193goto bad;4194#endif4195if (from_list)4196list = from_list;4197else {4198empty_list = PyList_New(0);4199if (!empty_list)4200goto bad;4201list = empty_list;4202}4203global_dict = PyModule_GetDict(__pyx_m);4204if (!global_dict)4205goto bad;4206empty_dict = PyDict_New();4207if (!empty_dict)4208goto bad;4209{4210#if PY_MAJOR_VERSION >= 34211if (level == -1) {4212if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {4213module = PyImport_ImportModuleLevelObject(4214name, global_dict, empty_dict, list, 1);4215if (!module) {4216if (!PyErr_ExceptionMatches(PyExc_ImportError))4217goto bad;4218PyErr_Clear();4219}4220}4221level = 0;4222}4223#endif4224if (!module) {4225#if PY_MAJOR_VERSION < 34226PyObject *py_level = PyInt_FromLong(level);4227if (!py_level)4228goto bad;4229module = PyObject_CallFunctionObjArgs(py_import,4230name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);4231Py_DECREF(py_level);4232#else4233module = PyImport_ImportModuleLevelObject(4234name, global_dict, empty_dict, list, level);4235#endif4236}4237}4238bad:4239#if PY_MAJOR_VERSION < 34240Py_XDECREF(py_import);4241#endif4242Py_XDECREF(empty_list);4243Py_XDECREF(empty_dict);4244return module;4245}42464247/* ImportFrom */4248static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {4249PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);4250if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {4251PyErr_Format(PyExc_ImportError,4252#if PY_MAJOR_VERSION < 34253"cannot import name %.230s", PyString_AS_STRING(name));4254#else4255"cannot import name %S", name);4256#endif4257}4258return value;4259}42604261/* HasAttr */4262static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {4263PyObject *r;4264if (unlikely(!__Pyx_PyBaseString_Check(n))) {4265PyErr_SetString(PyExc_TypeError,4266"hasattr(): attribute name must be string");4267return -1;4268}4269r = __Pyx_GetAttr(o, n);4270if (unlikely(!r)) {4271PyErr_Clear();4272return 0;4273} else {4274Py_DECREF(r);4275return 1;4276}4277}42784279/* PyObject_GenericGetAttrNoDict */4280#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x030700004281static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {4282PyErr_Format(PyExc_AttributeError,4283#if PY_MAJOR_VERSION >= 34284"'%.50s' object has no attribute '%U'",4285tp->tp_name, attr_name);4286#else4287"'%.50s' object has no attribute '%.400s'",4288tp->tp_name, PyString_AS_STRING(attr_name));4289#endif4290return NULL;4291}4292static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {4293PyObject *descr;4294PyTypeObject *tp = Py_TYPE(obj);4295if (unlikely(!PyString_Check(attr_name))) {4296return PyObject_GenericGetAttr(obj, attr_name);4297}4298assert(!tp->tp_dictoffset);4299descr = _PyType_Lookup(tp, attr_name);4300if (unlikely(!descr)) {4301return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);4302}4303Py_INCREF(descr);4304#if PY_MAJOR_VERSION < 34305if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))4306#endif4307{4308descrgetfunc f = Py_TYPE(descr)->tp_descr_get;4309if (unlikely(f)) {4310PyObject *res = f(descr, obj, (PyObject *)tp);4311Py_DECREF(descr);4312return res;4313}4314}4315return descr;4316}4317#endif43184319/* PyObject_GenericGetAttr */4320#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x030700004321static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {4322if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {4323return PyObject_GenericGetAttr(obj, attr_name);4324}4325return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);4326}4327#endif43284329/* PyObjectGetAttrStrNoError */4330static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {4331__Pyx_PyThreadState_declare4332__Pyx_PyThreadState_assign4333if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))4334__Pyx_PyErr_Clear();4335}4336static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {4337PyObject *result;4338#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B14339PyTypeObject* tp = Py_TYPE(obj);4340if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {4341return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);4342}4343#endif4344result = __Pyx_PyObject_GetAttrStr(obj, attr_name);4345if (unlikely(!result)) {4346__Pyx_PyObject_GetAttrStr_ClearAttributeError();4347}4348return result;4349}43504351/* SetupReduce */4352static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {4353int ret;4354PyObject *name_attr;4355name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name);4356if (likely(name_attr)) {4357ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);4358} else {4359ret = -1;4360}4361if (unlikely(ret < 0)) {4362PyErr_Clear();4363ret = 0;4364}4365Py_XDECREF(name_attr);4366return ret;4367}4368static int __Pyx_setup_reduce(PyObject* type_obj) {4369int ret = 0;4370PyObject *object_reduce = NULL;4371PyObject *object_reduce_ex = NULL;4372PyObject *reduce = NULL;4373PyObject *reduce_ex = NULL;4374PyObject *reduce_cython = NULL;4375PyObject *setstate = NULL;4376PyObject *setstate_cython = NULL;4377#if CYTHON_USE_PYTYPE_LOOKUP4378if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;4379#else4380if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto __PYX_GOOD;4381#endif4382#if CYTHON_USE_PYTYPE_LOOKUP4383object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;4384#else4385object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;4386#endif4387reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;4388if (reduce_ex == object_reduce_ex) {4389#if CYTHON_USE_PYTYPE_LOOKUP4390object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;4391#else4392object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;4393#endif4394reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD;4395if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {4396reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython);4397if (likely(reduce_cython)) {4398ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;4399ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;4400} else if (reduce == object_reduce || PyErr_Occurred()) {4401goto __PYX_BAD;4402}4403setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate);4404if (!setstate) PyErr_Clear();4405if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {4406setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython);4407if (likely(setstate_cython)) {4408ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;4409ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;4410} else if (!setstate || PyErr_Occurred()) {4411goto __PYX_BAD;4412}4413}4414PyType_Modified((PyTypeObject*)type_obj);4415}4416}4417goto __PYX_GOOD;4418__PYX_BAD:4419if (!PyErr_Occurred())4420PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name);4421ret = -1;4422__PYX_GOOD:4423#if !CYTHON_USE_PYTYPE_LOOKUP4424Py_XDECREF(object_reduce);4425Py_XDECREF(object_reduce_ex);4426#endif4427Py_XDECREF(reduce);4428Py_XDECREF(reduce_ex);4429Py_XDECREF(reduce_cython);4430Py_XDECREF(setstate);4431Py_XDECREF(setstate_cython);4432return ret;4433}44344435/* CLineInTraceback */4436#ifndef CYTHON_CLINE_IN_TRACEBACK4437static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {4438PyObject *use_cline;4439PyObject *ptype, *pvalue, *ptraceback;4440#if CYTHON_COMPILING_IN_CPYTHON4441PyObject **cython_runtime_dict;4442#endif4443if (unlikely(!__pyx_cython_runtime)) {4444return c_line;4445}4446__Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);4447#if CYTHON_COMPILING_IN_CPYTHON4448cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);4449if (likely(cython_runtime_dict)) {4450__PYX_PY_DICT_LOOKUP_IF_MODIFIED(4451use_cline, *cython_runtime_dict,4452__Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))4453} else4454#endif4455{4456PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);4457if (use_cline_obj) {4458use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;4459Py_DECREF(use_cline_obj);4460} else {4461PyErr_Clear();4462use_cline = NULL;4463}4464}4465if (!use_cline) {4466c_line = 0;4467PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);4468}4469else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {4470c_line = 0;4471}4472__Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);4473return c_line;4474}4475#endif44764477/* CodeObjectCache */4478static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {4479int start = 0, mid = 0, end = count - 1;4480if (end >= 0 && code_line > entries[end].code_line) {4481return count;4482}4483while (start < end) {4484mid = start + (end - start) / 2;4485if (code_line < entries[mid].code_line) {4486end = mid;4487} else if (code_line > entries[mid].code_line) {4488start = mid + 1;4489} else {4490return mid;4491}4492}4493if (code_line <= entries[mid].code_line) {4494return mid;4495} else {4496return mid + 1;4497}4498}4499static PyCodeObject *__pyx_find_code_object(int code_line) {4500PyCodeObject* code_object;4501int pos;4502if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {4503return NULL;4504}4505pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);4506if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {4507return NULL;4508}4509code_object = __pyx_code_cache.entries[pos].code_object;4510Py_INCREF(code_object);4511return code_object;4512}4513static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {4514int pos, i;4515__Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;4516if (unlikely(!code_line)) {4517return;4518}4519if (unlikely(!entries)) {4520entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));4521if (likely(entries)) {4522__pyx_code_cache.entries = entries;4523__pyx_code_cache.max_count = 64;4524__pyx_code_cache.count = 1;4525entries[0].code_line = code_line;4526entries[0].code_object = code_object;4527Py_INCREF(code_object);4528}4529return;4530}4531pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);4532if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {4533PyCodeObject* tmp = entries[pos].code_object;4534entries[pos].code_object = code_object;4535Py_DECREF(tmp);4536return;4537}4538if (__pyx_code_cache.count == __pyx_code_cache.max_count) {4539int new_max = __pyx_code_cache.max_count + 64;4540entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(4541__pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));4542if (unlikely(!entries)) {4543return;4544}4545__pyx_code_cache.entries = entries;4546__pyx_code_cache.max_count = new_max;4547}4548for (i=__pyx_code_cache.count; i>pos; i--) {4549entries[i] = entries[i-1];4550}4551entries[pos].code_line = code_line;4552entries[pos].code_object = code_object;4553__pyx_code_cache.count++;4554Py_INCREF(code_object);4555}45564557/* AddTraceback */4558#include "compile.h"4559#include "frameobject.h"4560#include "traceback.h"4561static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(4562const char *funcname, int c_line,4563int py_line, const char *filename) {4564PyCodeObject *py_code = 0;4565PyObject *py_srcfile = 0;4566PyObject *py_funcname = 0;4567#if PY_MAJOR_VERSION < 34568py_srcfile = PyString_FromString(filename);4569#else4570py_srcfile = PyUnicode_FromString(filename);4571#endif4572if (!py_srcfile) goto bad;4573if (c_line) {4574#if PY_MAJOR_VERSION < 34575py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);4576#else4577py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);4578#endif4579}4580else {4581#if PY_MAJOR_VERSION < 34582py_funcname = PyString_FromString(funcname);4583#else4584py_funcname = PyUnicode_FromString(funcname);4585#endif4586}4587if (!py_funcname) goto bad;4588py_code = __Pyx_PyCode_New(45890,45900,45910,45920,45930,4594__pyx_empty_bytes, /*PyObject *code,*/4595__pyx_empty_tuple, /*PyObject *consts,*/4596__pyx_empty_tuple, /*PyObject *names,*/4597__pyx_empty_tuple, /*PyObject *varnames,*/4598__pyx_empty_tuple, /*PyObject *freevars,*/4599__pyx_empty_tuple, /*PyObject *cellvars,*/4600py_srcfile, /*PyObject *filename,*/4601py_funcname, /*PyObject *name,*/4602py_line,4603__pyx_empty_bytes /*PyObject *lnotab*/4604);4605Py_DECREF(py_srcfile);4606Py_DECREF(py_funcname);4607return py_code;4608bad:4609Py_XDECREF(py_srcfile);4610Py_XDECREF(py_funcname);4611return NULL;4612}4613static void __Pyx_AddTraceback(const char *funcname, int c_line,4614int py_line, const char *filename) {4615PyCodeObject *py_code = 0;4616PyFrameObject *py_frame = 0;4617PyThreadState *tstate = __Pyx_PyThreadState_Current;4618if (c_line) {4619c_line = __Pyx_CLineForTraceback(tstate, c_line);4620}4621py_code = __pyx_find_code_object(c_line ? -c_line : py_line);4622if (!py_code) {4623py_code = __Pyx_CreateCodeObjectForTraceback(4624funcname, c_line, py_line, filename);4625if (!py_code) goto bad;4626__pyx_insert_code_object(c_line ? -c_line : py_line, py_code);4627}4628py_frame = PyFrame_New(4629tstate, /*PyThreadState *tstate,*/4630py_code, /*PyCodeObject *code,*/4631__pyx_d, /*PyObject *globals,*/46320 /*PyObject *locals*/4633);4634if (!py_frame) goto bad;4635__Pyx_PyFrame_SetLineNumber(py_frame, py_line);4636PyTraceBack_Here(py_frame);4637bad:4638Py_XDECREF(py_code);4639Py_XDECREF(py_frame);4640}46414642/* CIntFromPyVerify */4643#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\4644__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)4645#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\4646__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)4647#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\4648{\4649func_type value = func_value;\4650if (sizeof(target_type) < sizeof(func_type)) {\4651if (unlikely(value != (func_type) (target_type) value)) {\4652func_type zero = 0;\4653if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\4654return (target_type) -1;\4655if (is_unsigned && unlikely(value < zero))\4656goto raise_neg_overflow;\4657else\4658goto raise_overflow;\4659}\4660}\4661return (target_type) value;\4662}46634664/* CIntFromPy */4665static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {4666#ifdef __Pyx_HAS_GCC_DIAGNOSTIC4667#pragma GCC diagnostic push4668#pragma GCC diagnostic ignored "-Wconversion"4669#endif4670const long neg_one = (long) -1, const_zero = (long) 0;4671#ifdef __Pyx_HAS_GCC_DIAGNOSTIC4672#pragma GCC diagnostic pop4673#endif4674const int is_unsigned = neg_one > const_zero;4675#if PY_MAJOR_VERSION < 34676if (likely(PyInt_Check(x))) {4677if (sizeof(long) < sizeof(long)) {4678__PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))4679} else {4680long val = PyInt_AS_LONG(x);4681if (is_unsigned && unlikely(val < 0)) {4682goto raise_neg_overflow;4683}4684return (long) val;4685}4686} else4687#endif4688if (likely(PyLong_Check(x))) {4689if (is_unsigned) {4690#if CYTHON_USE_PYLONG_INTERNALS4691const digit* digits = ((PyLongObject*)x)->ob_digit;4692switch (Py_SIZE(x)) {4693case 0: return (long) 0;4694case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])4695case 2:4696if (8 * sizeof(long) > 1 * PyLong_SHIFT) {4697if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {4698__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4699} else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {4700return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));4701}4702}4703break;4704case 3:4705if (8 * sizeof(long) > 2 * PyLong_SHIFT) {4706if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {4707__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4708} else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {4709return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));4710}4711}4712break;4713case 4:4714if (8 * sizeof(long) > 3 * PyLong_SHIFT) {4715if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {4716__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4717} else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {4718return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));4719}4720}4721break;4722}4723#endif4724#if CYTHON_COMPILING_IN_CPYTHON4725if (unlikely(Py_SIZE(x) < 0)) {4726goto raise_neg_overflow;4727}4728#else4729{4730int result = PyObject_RichCompareBool(x, Py_False, Py_LT);4731if (unlikely(result < 0))4732return (long) -1;4733if (unlikely(result == 1))4734goto raise_neg_overflow;4735}4736#endif4737if (sizeof(long) <= sizeof(unsigned long)) {4738__PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))4739#ifdef HAVE_LONG_LONG4740} else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {4741__PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))4742#endif4743}4744} else {4745#if CYTHON_USE_PYLONG_INTERNALS4746const digit* digits = ((PyLongObject*)x)->ob_digit;4747switch (Py_SIZE(x)) {4748case 0: return (long) 0;4749case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))4750case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0])4751case -2:4752if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {4753if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {4754__PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4755} else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {4756return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));4757}4758}4759break;4760case 2:4761if (8 * sizeof(long) > 1 * PyLong_SHIFT) {4762if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {4763__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4764} else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {4765return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));4766}4767}4768break;4769case -3:4770if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {4771if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {4772__PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4773} else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {4774return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));4775}4776}4777break;4778case 3:4779if (8 * sizeof(long) > 2 * PyLong_SHIFT) {4780if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {4781__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4782} else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {4783return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));4784}4785}4786break;4787case -4:4788if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {4789if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {4790__PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4791} else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {4792return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));4793}4794}4795break;4796case 4:4797if (8 * sizeof(long) > 3 * PyLong_SHIFT) {4798if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {4799__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4800} else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {4801return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));4802}4803}4804break;4805}4806#endif4807if (sizeof(long) <= sizeof(long)) {4808__PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))4809#ifdef HAVE_LONG_LONG4810} else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {4811__PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))4812#endif4813}4814}4815{4816#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)4817PyErr_SetString(PyExc_RuntimeError,4818"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");4819#else4820long val;4821PyObject *v = __Pyx_PyNumber_IntOrLong(x);4822#if PY_MAJOR_VERSION < 34823if (likely(v) && !PyLong_Check(v)) {4824PyObject *tmp = v;4825v = PyNumber_Long(tmp);4826Py_DECREF(tmp);4827}4828#endif4829if (likely(v)) {4830int one = 1; int is_little = (int)*(unsigned char *)&one;4831unsigned char *bytes = (unsigned char *)&val;4832int ret = _PyLong_AsByteArray((PyLongObject *)v,4833bytes, sizeof(val),4834is_little, !is_unsigned);4835Py_DECREF(v);4836if (likely(!ret))4837return val;4838}4839#endif4840return (long) -1;4841}4842} else {4843long val;4844PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);4845if (!tmp) return (long) -1;4846val = __Pyx_PyInt_As_long(tmp);4847Py_DECREF(tmp);4848return val;4849}4850raise_overflow:4851PyErr_SetString(PyExc_OverflowError,4852"value too large to convert to long");4853return (long) -1;4854raise_neg_overflow:4855PyErr_SetString(PyExc_OverflowError,4856"can't convert negative value to long");4857return (long) -1;4858}48594860/* CIntToPy */4861static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {4862#ifdef __Pyx_HAS_GCC_DIAGNOSTIC4863#pragma GCC diagnostic push4864#pragma GCC diagnostic ignored "-Wconversion"4865#endif4866const long neg_one = (long) -1, const_zero = (long) 0;4867#ifdef __Pyx_HAS_GCC_DIAGNOSTIC4868#pragma GCC diagnostic pop4869#endif4870const int is_unsigned = neg_one > const_zero;4871if (is_unsigned) {4872if (sizeof(long) < sizeof(long)) {4873return PyInt_FromLong((long) value);4874} else if (sizeof(long) <= sizeof(unsigned long)) {4875return PyLong_FromUnsignedLong((unsigned long) value);4876#ifdef HAVE_LONG_LONG4877} else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {4878return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);4879#endif4880}4881} else {4882if (sizeof(long) <= sizeof(long)) {4883return PyInt_FromLong((long) value);4884#ifdef HAVE_LONG_LONG4885} else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {4886return PyLong_FromLongLong((PY_LONG_LONG) value);4887#endif4888}4889}4890{4891int one = 1; int little = (int)*(unsigned char *)&one;4892unsigned char *bytes = (unsigned char *)&value;4893return _PyLong_FromByteArray(bytes, sizeof(long),4894little, !is_unsigned);4895}4896}48974898/* CIntFromPy */4899static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {4900#ifdef __Pyx_HAS_GCC_DIAGNOSTIC4901#pragma GCC diagnostic push4902#pragma GCC diagnostic ignored "-Wconversion"4903#endif4904const int neg_one = (int) -1, const_zero = (int) 0;4905#ifdef __Pyx_HAS_GCC_DIAGNOSTIC4906#pragma GCC diagnostic pop4907#endif4908const int is_unsigned = neg_one > const_zero;4909#if PY_MAJOR_VERSION < 34910if (likely(PyInt_Check(x))) {4911if (sizeof(int) < sizeof(long)) {4912__PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))4913} else {4914long val = PyInt_AS_LONG(x);4915if (is_unsigned && unlikely(val < 0)) {4916goto raise_neg_overflow;4917}4918return (int) val;4919}4920} else4921#endif4922if (likely(PyLong_Check(x))) {4923if (is_unsigned) {4924#if CYTHON_USE_PYLONG_INTERNALS4925const digit* digits = ((PyLongObject*)x)->ob_digit;4926switch (Py_SIZE(x)) {4927case 0: return (int) 0;4928case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])4929case 2:4930if (8 * sizeof(int) > 1 * PyLong_SHIFT) {4931if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {4932__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4933} else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {4934return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));4935}4936}4937break;4938case 3:4939if (8 * sizeof(int) > 2 * PyLong_SHIFT) {4940if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {4941__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4942} else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {4943return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));4944}4945}4946break;4947case 4:4948if (8 * sizeof(int) > 3 * PyLong_SHIFT) {4949if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {4950__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4951} else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {4952return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));4953}4954}4955break;4956}4957#endif4958#if CYTHON_COMPILING_IN_CPYTHON4959if (unlikely(Py_SIZE(x) < 0)) {4960goto raise_neg_overflow;4961}4962#else4963{4964int result = PyObject_RichCompareBool(x, Py_False, Py_LT);4965if (unlikely(result < 0))4966return (int) -1;4967if (unlikely(result == 1))4968goto raise_neg_overflow;4969}4970#endif4971if (sizeof(int) <= sizeof(unsigned long)) {4972__PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))4973#ifdef HAVE_LONG_LONG4974} else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {4975__PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))4976#endif4977}4978} else {4979#if CYTHON_USE_PYLONG_INTERNALS4980const digit* digits = ((PyLongObject*)x)->ob_digit;4981switch (Py_SIZE(x)) {4982case 0: return (int) 0;4983case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))4984case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0])4985case -2:4986if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {4987if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {4988__PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4989} else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {4990return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));4991}4992}4993break;4994case 2:4995if (8 * sizeof(int) > 1 * PyLong_SHIFT) {4996if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {4997__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))4998} else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {4999return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));5000}5001}5002break;5003case -3:5004if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {5005if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {5006__PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))5007} else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {5008return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));5009}5010}5011break;5012case 3:5013if (8 * sizeof(int) > 2 * PyLong_SHIFT) {5014if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {5015__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))5016} else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {5017return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));5018}5019}5020break;5021case -4:5022if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {5023if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {5024__PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))5025} else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {5026return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));5027}5028}5029break;5030case 4:5031if (8 * sizeof(int) > 3 * PyLong_SHIFT) {5032if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {5033__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))5034} else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {5035return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));5036}5037}5038break;5039}5040#endif5041if (sizeof(int) <= sizeof(long)) {5042__PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))5043#ifdef HAVE_LONG_LONG5044} else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {5045__PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))5046#endif5047}5048}5049{5050#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)5051PyErr_SetString(PyExc_RuntimeError,5052"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");5053#else5054int val;5055PyObject *v = __Pyx_PyNumber_IntOrLong(x);5056#if PY_MAJOR_VERSION < 35057if (likely(v) && !PyLong_Check(v)) {5058PyObject *tmp = v;5059v = PyNumber_Long(tmp);5060Py_DECREF(tmp);5061}5062#endif5063if (likely(v)) {5064int one = 1; int is_little = (int)*(unsigned char *)&one;5065unsigned char *bytes = (unsigned char *)&val;5066int ret = _PyLong_AsByteArray((PyLongObject *)v,5067bytes, sizeof(val),5068is_little, !is_unsigned);5069Py_DECREF(v);5070if (likely(!ret))5071return val;5072}5073#endif5074return (int) -1;5075}5076} else {5077int val;5078PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);5079if (!tmp) return (int) -1;5080val = __Pyx_PyInt_As_int(tmp);5081Py_DECREF(tmp);5082return val;5083}5084raise_overflow:5085PyErr_SetString(PyExc_OverflowError,5086"value too large to convert to int");5087return (int) -1;5088raise_neg_overflow:5089PyErr_SetString(PyExc_OverflowError,5090"can't convert negative value to int");5091return (int) -1;5092}50935094/* FastTypeChecks */5095#if CYTHON_COMPILING_IN_CPYTHON5096static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {5097while (a) {5098a = a->tp_base;5099if (a == b)5100return 1;5101}5102return b == &PyBaseObject_Type;5103}5104static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {5105PyObject *mro;5106if (a == b) return 1;5107mro = a->tp_mro;5108if (likely(mro)) {5109Py_ssize_t i, n;5110n = PyTuple_GET_SIZE(mro);5111for (i = 0; i < n; i++) {5112if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)5113return 1;5114}5115return 0;5116}5117return __Pyx_InBases(a, b);5118}5119#if PY_MAJOR_VERSION == 25120static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {5121PyObject *exception, *value, *tb;5122int res;5123__Pyx_PyThreadState_declare5124__Pyx_PyThreadState_assign5125__Pyx_ErrFetch(&exception, &value, &tb);5126res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;5127if (unlikely(res == -1)) {5128PyErr_WriteUnraisable(err);5129res = 0;5130}5131if (!res) {5132res = PyObject_IsSubclass(err, exc_type2);5133if (unlikely(res == -1)) {5134PyErr_WriteUnraisable(err);5135res = 0;5136}5137}5138__Pyx_ErrRestore(exception, value, tb);5139return res;5140}5141#else5142static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {5143int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;5144if (!res) {5145res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);5146}5147return res;5148}5149#endif5150static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {5151Py_ssize_t i, n;5152assert(PyExceptionClass_Check(exc_type));5153n = PyTuple_GET_SIZE(tuple);5154#if PY_MAJOR_VERSION >= 35155for (i=0; i<n; i++) {5156if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;5157}5158#endif5159for (i=0; i<n; i++) {5160PyObject *t = PyTuple_GET_ITEM(tuple, i);5161#if PY_MAJOR_VERSION < 35162if (likely(exc_type == t)) return 1;5163#endif5164if (likely(PyExceptionClass_Check(t))) {5165if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;5166} else {5167}5168}5169return 0;5170}5171static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {5172if (likely(err == exc_type)) return 1;5173if (likely(PyExceptionClass_Check(err))) {5174if (likely(PyExceptionClass_Check(exc_type))) {5175return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);5176} else if (likely(PyTuple_Check(exc_type))) {5177return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);5178} else {5179}5180}5181return PyErr_GivenExceptionMatches(err, exc_type);5182}5183static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {5184assert(PyExceptionClass_Check(exc_type1));5185assert(PyExceptionClass_Check(exc_type2));5186if (likely(err == exc_type1 || err == exc_type2)) return 1;5187if (likely(PyExceptionClass_Check(err))) {5188return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);5189}5190return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));5191}5192#endif51935194/* CheckBinaryVersion */5195static int __Pyx_check_binary_version(void) {5196char ctversion[4], rtversion[4];5197PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);5198PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());5199if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {5200char message[200];5201PyOS_snprintf(message, sizeof(message),5202"compiletime version %s of module '%.100s' "5203"does not match runtime version %s",5204ctversion, __Pyx_MODULE_NAME, rtversion);5205return PyErr_WarnEx(NULL, message, 1);5206}5207return 0;5208}52095210/* InitStrings */5211static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {5212while (t->p) {5213#if PY_MAJOR_VERSION < 35214if (t->is_unicode) {5215*t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);5216} else if (t->intern) {5217*t->p = PyString_InternFromString(t->s);5218} else {5219*t->p = PyString_FromStringAndSize(t->s, t->n - 1);5220}5221#else5222if (t->is_unicode | t->is_str) {5223if (t->intern) {5224*t->p = PyUnicode_InternFromString(t->s);5225} else if (t->encoding) {5226*t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);5227} else {5228*t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);5229}5230} else {5231*t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);5232}5233#endif5234if (!*t->p)5235return -1;5236if (PyObject_Hash(*t->p) == -1)5237return -1;5238++t;5239}5240return 0;5241}52425243static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {5244return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));5245}5246static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {5247Py_ssize_t ignore;5248return __Pyx_PyObject_AsStringAndSize(o, &ignore);5249}5250#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT5251#if !CYTHON_PEP393_ENABLED5252static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {5253char* defenc_c;5254PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);5255if (!defenc) return NULL;5256defenc_c = PyBytes_AS_STRING(defenc);5257#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII5258{5259char* end = defenc_c + PyBytes_GET_SIZE(defenc);5260char* c;5261for (c = defenc_c; c < end; c++) {5262if ((unsigned char) (*c) >= 128) {5263PyUnicode_AsASCIIString(o);5264return NULL;5265}5266}5267}5268#endif5269*length = PyBytes_GET_SIZE(defenc);5270return defenc_c;5271}5272#else5273static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {5274if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;5275#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII5276if (likely(PyUnicode_IS_ASCII(o))) {5277*length = PyUnicode_GET_LENGTH(o);5278return PyUnicode_AsUTF8(o);5279} else {5280PyUnicode_AsASCIIString(o);5281return NULL;5282}5283#else5284return PyUnicode_AsUTF8AndSize(o, length);5285#endif5286}5287#endif5288#endif5289static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {5290#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT5291if (5292#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII5293__Pyx_sys_getdefaultencoding_not_ascii &&5294#endif5295PyUnicode_Check(o)) {5296return __Pyx_PyUnicode_AsStringAndSize(o, length);5297} else5298#endif5299#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))5300if (PyByteArray_Check(o)) {5301*length = PyByteArray_GET_SIZE(o);5302return PyByteArray_AS_STRING(o);5303} else5304#endif5305{5306char* result;5307int r = PyBytes_AsStringAndSize(o, &result, length);5308if (unlikely(r < 0)) {5309return NULL;5310} else {5311return result;5312}5313}5314}5315static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {5316int is_true = x == Py_True;5317if (is_true | (x == Py_False) | (x == Py_None)) return is_true;5318else return PyObject_IsTrue(x);5319}5320static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {5321int retval;5322if (unlikely(!x)) return -1;5323retval = __Pyx_PyObject_IsTrue(x);5324Py_DECREF(x);5325return retval;5326}5327static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {5328#if PY_MAJOR_VERSION >= 35329if (PyLong_Check(result)) {5330if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,5331"__int__ returned non-int (type %.200s). "5332"The ability to return an instance of a strict subclass of int "5333"is deprecated, and may be removed in a future version of Python.",5334Py_TYPE(result)->tp_name)) {5335Py_DECREF(result);5336return NULL;5337}5338return result;5339}5340#endif5341PyErr_Format(PyExc_TypeError,5342"__%.4s__ returned non-%.4s (type %.200s)",5343type_name, type_name, Py_TYPE(result)->tp_name);5344Py_DECREF(result);5345return NULL;5346}5347static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {5348#if CYTHON_USE_TYPE_SLOTS5349PyNumberMethods *m;5350#endif5351const char *name = NULL;5352PyObject *res = NULL;5353#if PY_MAJOR_VERSION < 35354if (likely(PyInt_Check(x) || PyLong_Check(x)))5355#else5356if (likely(PyLong_Check(x)))5357#endif5358return __Pyx_NewRef(x);5359#if CYTHON_USE_TYPE_SLOTS5360m = Py_TYPE(x)->tp_as_number;5361#if PY_MAJOR_VERSION < 35362if (m && m->nb_int) {5363name = "int";5364res = m->nb_int(x);5365}5366else if (m && m->nb_long) {5367name = "long";5368res = m->nb_long(x);5369}5370#else5371if (likely(m && m->nb_int)) {5372name = "int";5373res = m->nb_int(x);5374}5375#endif5376#else5377if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {5378res = PyNumber_Int(x);5379}5380#endif5381if (likely(res)) {5382#if PY_MAJOR_VERSION < 35383if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {5384#else5385if (unlikely(!PyLong_CheckExact(res))) {5386#endif5387return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);5388}5389}5390else if (!PyErr_Occurred()) {5391PyErr_SetString(PyExc_TypeError,5392"an integer is required");5393}5394return res;5395}5396static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {5397Py_ssize_t ival;5398PyObject *x;5399#if PY_MAJOR_VERSION < 35400if (likely(PyInt_CheckExact(b))) {5401if (sizeof(Py_ssize_t) >= sizeof(long))5402return PyInt_AS_LONG(b);5403else5404return PyInt_AsSsize_t(b);5405}5406#endif5407if (likely(PyLong_CheckExact(b))) {5408#if CYTHON_USE_PYLONG_INTERNALS5409const digit* digits = ((PyLongObject*)b)->ob_digit;5410const Py_ssize_t size = Py_SIZE(b);5411if (likely(__Pyx_sst_abs(size) <= 1)) {5412ival = likely(size) ? digits[0] : 0;5413if (size == -1) ival = -ival;5414return ival;5415} else {5416switch (size) {5417case 2:5418if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {5419return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));5420}5421break;5422case -2:5423if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {5424return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));5425}5426break;5427case 3:5428if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {5429return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));5430}5431break;5432case -3:5433if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {5434return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));5435}5436break;5437case 4:5438if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {5439return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));5440}5441break;5442case -4:5443if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {5444return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));5445}5446break;5447}5448}5449#endif5450return PyLong_AsSsize_t(b);5451}5452x = PyNumber_Index(b);5453if (!x) return -1;5454ival = PyInt_AsSsize_t(x);5455Py_DECREF(x);5456return ival;5457}5458static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {5459return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);5460}5461static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {5462return PyInt_FromSize_t(ival);5463}546454655466#endif /* Py_PYTHON_H */546754685469