"Fossies" - the Fresh Open Source Software Archive

Member "recode-3.7.12/tests/Recode.c" (17 Feb 2022, 352554 Bytes) of package /linux/misc/recode-3.7.12.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "Recode.c": 3.7.11_vs_3.7.12.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.


    1 #include "config.h"
    2 /* Generated by Cython 0.29.14 */
    3 
    4 #define PY_SSIZE_T_CLEAN
    5 #include "Python.h"
    6 #ifndef Py_PYTHON_H
    7     #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 #else
   11 #define CYTHON_ABI "0_29_14"
   12 #define CYTHON_HEX_VERSION 0x001D0EF0
   13 #define CYTHON_FUTURE_DIVISION 1
   14 #include <stddef.h>
   15 #ifndef offsetof
   16   #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
   17 #endif
   18 #if !defined(WIN32) && !defined(MS_WINDOWS)
   19   #ifndef __stdcall
   20     #define __stdcall
   21   #endif
   22   #ifndef __cdecl
   23     #define __cdecl
   24   #endif
   25   #ifndef __fastcall
   26     #define __fastcall
   27   #endif
   28 #endif
   29 #ifndef DL_IMPORT
   30   #define DL_IMPORT(t) t
   31 #endif
   32 #ifndef DL_EXPORT
   33   #define DL_EXPORT(t) t
   34 #endif
   35 #define __PYX_COMMA ,
   36 #ifndef HAVE_LONG_LONG
   37   #if PY_VERSION_HEX >= 0x02070000
   38     #define HAVE_LONG_LONG
   39   #endif
   40 #endif
   41 #ifndef PY_LONG_LONG
   42   #define PY_LONG_LONG LONG_LONG
   43 #endif
   44 #ifndef Py_HUGE_VAL
   45   #define Py_HUGE_VAL HUGE_VAL
   46 #endif
   47 #ifdef PYPY_VERSION
   48   #define CYTHON_COMPILING_IN_PYPY 1
   49   #define CYTHON_COMPILING_IN_PYSTON 0
   50   #define CYTHON_COMPILING_IN_CPYTHON 0
   51   #undef CYTHON_USE_TYPE_SLOTS
   52   #define CYTHON_USE_TYPE_SLOTS 0
   53   #undef CYTHON_USE_PYTYPE_LOOKUP
   54   #define CYTHON_USE_PYTYPE_LOOKUP 0
   55   #if PY_VERSION_HEX < 0x03050000
   56     #undef CYTHON_USE_ASYNC_SLOTS
   57     #define CYTHON_USE_ASYNC_SLOTS 0
   58   #elif !defined(CYTHON_USE_ASYNC_SLOTS)
   59     #define CYTHON_USE_ASYNC_SLOTS 1
   60   #endif
   61   #undef CYTHON_USE_PYLIST_INTERNALS
   62   #define CYTHON_USE_PYLIST_INTERNALS 0
   63   #undef CYTHON_USE_UNICODE_INTERNALS
   64   #define CYTHON_USE_UNICODE_INTERNALS 0
   65   #undef CYTHON_USE_UNICODE_WRITER
   66   #define CYTHON_USE_UNICODE_WRITER 0
   67   #undef CYTHON_USE_PYLONG_INTERNALS
   68   #define CYTHON_USE_PYLONG_INTERNALS 0
   69   #undef CYTHON_AVOID_BORROWED_REFS
   70   #define CYTHON_AVOID_BORROWED_REFS 1
   71   #undef CYTHON_ASSUME_SAFE_MACROS
   72   #define CYTHON_ASSUME_SAFE_MACROS 0
   73   #undef CYTHON_UNPACK_METHODS
   74   #define CYTHON_UNPACK_METHODS 0
   75   #undef CYTHON_FAST_THREAD_STATE
   76   #define CYTHON_FAST_THREAD_STATE 0
   77   #undef CYTHON_FAST_PYCALL
   78   #define CYTHON_FAST_PYCALL 0
   79   #undef CYTHON_PEP489_MULTI_PHASE_INIT
   80   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
   81   #undef CYTHON_USE_TP_FINALIZE
   82   #define CYTHON_USE_TP_FINALIZE 0
   83   #undef CYTHON_USE_DICT_VERSIONS
   84   #define CYTHON_USE_DICT_VERSIONS 0
   85   #undef CYTHON_USE_EXC_INFO_STACK
   86   #define CYTHON_USE_EXC_INFO_STACK 0
   87 #elif defined(PYSTON_VERSION)
   88   #define CYTHON_COMPILING_IN_PYPY 0
   89   #define CYTHON_COMPILING_IN_PYSTON 1
   90   #define CYTHON_COMPILING_IN_CPYTHON 0
   91   #ifndef CYTHON_USE_TYPE_SLOTS
   92     #define CYTHON_USE_TYPE_SLOTS 1
   93   #endif
   94   #undef CYTHON_USE_PYTYPE_LOOKUP
   95   #define CYTHON_USE_PYTYPE_LOOKUP 0
   96   #undef CYTHON_USE_ASYNC_SLOTS
   97   #define CYTHON_USE_ASYNC_SLOTS 0
   98   #undef CYTHON_USE_PYLIST_INTERNALS
   99   #define CYTHON_USE_PYLIST_INTERNALS 0
  100   #ifndef CYTHON_USE_UNICODE_INTERNALS
  101     #define CYTHON_USE_UNICODE_INTERNALS 1
  102   #endif
  103   #undef CYTHON_USE_UNICODE_WRITER
  104   #define CYTHON_USE_UNICODE_WRITER 0
  105   #undef CYTHON_USE_PYLONG_INTERNALS
  106   #define CYTHON_USE_PYLONG_INTERNALS 0
  107   #ifndef CYTHON_AVOID_BORROWED_REFS
  108     #define CYTHON_AVOID_BORROWED_REFS 0
  109   #endif
  110   #ifndef CYTHON_ASSUME_SAFE_MACROS
  111     #define CYTHON_ASSUME_SAFE_MACROS 1
  112   #endif
  113   #ifndef CYTHON_UNPACK_METHODS
  114     #define CYTHON_UNPACK_METHODS 1
  115   #endif
  116   #undef CYTHON_FAST_THREAD_STATE
  117   #define CYTHON_FAST_THREAD_STATE 0
  118   #undef CYTHON_FAST_PYCALL
  119   #define CYTHON_FAST_PYCALL 0
  120   #undef CYTHON_PEP489_MULTI_PHASE_INIT
  121   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  122   #undef CYTHON_USE_TP_FINALIZE
  123   #define CYTHON_USE_TP_FINALIZE 0
  124   #undef CYTHON_USE_DICT_VERSIONS
  125   #define CYTHON_USE_DICT_VERSIONS 0
  126   #undef CYTHON_USE_EXC_INFO_STACK
  127   #define CYTHON_USE_EXC_INFO_STACK 0
  128 #else
  129   #define CYTHON_COMPILING_IN_PYPY 0
  130   #define CYTHON_COMPILING_IN_PYSTON 0
  131   #define CYTHON_COMPILING_IN_CPYTHON 1
  132   #ifndef CYTHON_USE_TYPE_SLOTS
  133     #define CYTHON_USE_TYPE_SLOTS 1
  134   #endif
  135   #if PY_VERSION_HEX < 0x02070000
  136     #undef CYTHON_USE_PYTYPE_LOOKUP
  137     #define CYTHON_USE_PYTYPE_LOOKUP 0
  138   #elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
  139     #define CYTHON_USE_PYTYPE_LOOKUP 1
  140   #endif
  141   #if PY_MAJOR_VERSION < 3
  142     #undef CYTHON_USE_ASYNC_SLOTS
  143     #define CYTHON_USE_ASYNC_SLOTS 0
  144   #elif !defined(CYTHON_USE_ASYNC_SLOTS)
  145     #define CYTHON_USE_ASYNC_SLOTS 1
  146   #endif
  147   #if PY_VERSION_HEX < 0x02070000
  148     #undef CYTHON_USE_PYLONG_INTERNALS
  149     #define CYTHON_USE_PYLONG_INTERNALS 0
  150   #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
  151     #define CYTHON_USE_PYLONG_INTERNALS 1
  152   #endif
  153   #ifndef CYTHON_USE_PYLIST_INTERNALS
  154     #define CYTHON_USE_PYLIST_INTERNALS 1
  155   #endif
  156   #ifndef CYTHON_USE_UNICODE_INTERNALS
  157     #define CYTHON_USE_UNICODE_INTERNALS 1
  158   #endif
  159   #if PY_VERSION_HEX < 0x030300F0
  160     #undef CYTHON_USE_UNICODE_WRITER
  161     #define CYTHON_USE_UNICODE_WRITER 0
  162   #elif !defined(CYTHON_USE_UNICODE_WRITER)
  163     #define CYTHON_USE_UNICODE_WRITER 1
  164   #endif
  165   #ifndef CYTHON_AVOID_BORROWED_REFS
  166     #define CYTHON_AVOID_BORROWED_REFS 0
  167   #endif
  168   #ifndef CYTHON_ASSUME_SAFE_MACROS
  169     #define CYTHON_ASSUME_SAFE_MACROS 1
  170   #endif
  171   #ifndef CYTHON_UNPACK_METHODS
  172     #define CYTHON_UNPACK_METHODS 1
  173   #endif
  174   #ifndef CYTHON_FAST_THREAD_STATE
  175     #define CYTHON_FAST_THREAD_STATE 1
  176   #endif
  177   #ifndef CYTHON_FAST_PYCALL
  178     #define CYTHON_FAST_PYCALL 1
  179   #endif
  180   #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
  181     #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
  182   #endif
  183   #ifndef CYTHON_USE_TP_FINALIZE
  184     #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
  185   #endif
  186   #ifndef CYTHON_USE_DICT_VERSIONS
  187     #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
  188   #endif
  189   #ifndef CYTHON_USE_EXC_INFO_STACK
  190     #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
  191   #endif
  192 #endif
  193 #if !defined(CYTHON_FAST_PYCCALL)
  194 #define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
  195 #endif
  196 #if CYTHON_USE_PYLONG_INTERNALS
  197   #include "longintrepr.h"
  198   #undef SHIFT
  199   #undef BASE
  200   #undef MASK
  201   #ifdef SIZEOF_VOID_P
  202     enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
  203   #endif
  204 #endif
  205 #ifndef __has_attribute
  206   #define __has_attribute(x) 0
  207 #endif
  208 #ifndef __has_cpp_attribute
  209   #define __has_cpp_attribute(x) 0
  210 #endif
  211 #ifndef CYTHON_RESTRICT
  212   #if defined(__GNUC__)
  213     #define CYTHON_RESTRICT __restrict__
  214   #elif defined(_MSC_VER) && _MSC_VER >= 1400
  215     #define CYTHON_RESTRICT __restrict
  216   #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  217     #define CYTHON_RESTRICT restrict
  218   #else
  219     #define CYTHON_RESTRICT
  220   #endif
  221 #endif
  222 #ifndef CYTHON_UNUSED
  223 # if defined(__GNUC__)
  224 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
  225 #     define CYTHON_UNUSED __attribute__ ((__unused__))
  226 #   else
  227 #     define CYTHON_UNUSED
  228 #   endif
  229 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
  230 #   define CYTHON_UNUSED __attribute__ ((__unused__))
  231 # else
  232 #   define CYTHON_UNUSED
  233 # endif
  234 #endif
  235 #ifndef CYTHON_MAYBE_UNUSED_VAR
  236 #  if defined(__cplusplus)
  237      template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
  238 #  else
  239 #    define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
  240 #  endif
  241 #endif
  242 #ifndef CYTHON_NCP_UNUSED
  243 # if CYTHON_COMPILING_IN_CPYTHON
  244 #  define CYTHON_NCP_UNUSED
  245 # else
  246 #  define CYTHON_NCP_UNUSED CYTHON_UNUSED
  247 # endif
  248 #endif
  249 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
  250 #ifdef _MSC_VER
  251     #ifndef _MSC_STDINT_H_
  252         #if _MSC_VER < 1300
  253            typedef unsigned char     uint8_t;
  254            typedef unsigned int      uint32_t;
  255         #else
  256            typedef unsigned __int8   uint8_t;
  257            typedef unsigned __int32  uint32_t;
  258         #endif
  259     #endif
  260 #else
  261    #include <stdint.h>
  262 #endif
  263 #ifndef CYTHON_FALLTHROUGH
  264   #if defined(__cplusplus) && __cplusplus >= 201103L
  265     #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     #endif
  272   #endif
  273   #ifndef CYTHON_FALLTHROUGH
  274     #if __has_attribute(fallthrough)
  275       #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
  276     #else
  277       #define CYTHON_FALLTHROUGH
  278     #endif
  279   #endif
  280   #if defined(__clang__ ) && defined(__apple_build_version__)
  281     #if __apple_build_version__ < 7000000
  282       #undef  CYTHON_FALLTHROUGH
  283       #define CYTHON_FALLTHROUGH
  284     #endif
  285   #endif
  286 #endif
  287 
  288 #ifndef CYTHON_INLINE
  289   #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 __inline
  295   #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  296     #define CYTHON_INLINE inline
  297   #else
  298     #define CYTHON_INLINE
  299   #endif
  300 #endif
  301 
  302 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
  303   #define Py_OptimizeFlag 0
  304 #endif
  305 #define __PYX_BUILD_PY_SSIZE_T "n"
  306 #define CYTHON_FORMAT_SSIZE_T "z"
  307 #if PY_MAJOR_VERSION < 3
  308   #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)\
  310           PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  311   #define __Pyx_DefaultClassType PyClass_Type
  312 #else
  313   #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  314 #if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
  315   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
  316           PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  317 #else
  318   #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
  319           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  320 #endif
  321   #define __Pyx_DefaultClassType PyType_Type
  322 #endif
  323 #ifndef Py_TPFLAGS_CHECKTYPES
  324   #define Py_TPFLAGS_CHECKTYPES 0
  325 #endif
  326 #ifndef Py_TPFLAGS_HAVE_INDEX
  327   #define Py_TPFLAGS_HAVE_INDEX 0
  328 #endif
  329 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  330   #define Py_TPFLAGS_HAVE_NEWBUFFER 0
  331 #endif
  332 #ifndef Py_TPFLAGS_HAVE_FINALIZE
  333   #define Py_TPFLAGS_HAVE_FINALIZE 0
  334 #endif
  335 #ifndef METH_STACKLESS
  336   #define METH_STACKLESS 0
  337 #endif
  338 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
  339   #ifndef METH_FASTCALL
  340      #define METH_FASTCALL 0x80
  341   #endif
  342   typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
  343   typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
  344                                                           Py_ssize_t nargs, PyObject *kwnames);
  345 #else
  346   #define __Pyx_PyCFunctionFast _PyCFunctionFast
  347   #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
  348 #endif
  349 #if CYTHON_FAST_PYCCALL
  350 #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 #else
  353 #define __Pyx_PyFastCFunction_Check(func) 0
  354 #endif
  355 #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 #endif
  360 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
  361   #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 #endif
  365 #if CYTHON_COMPILING_IN_PYSTON
  366   #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
  367   #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
  368 #else
  369   #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  370   #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
  371 #endif
  372 #if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
  373   #define __Pyx_PyThreadState_Current PyThreadState_GET()
  374 #elif PY_VERSION_HEX >= 0x03060000
  375   #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
  376 #elif PY_VERSION_HEX >= 0x03000000
  377   #define __Pyx_PyThreadState_Current PyThreadState_GET()
  378 #else
  379   #define __Pyx_PyThreadState_Current _PyThreadState_Current
  380 #endif
  381 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
  382 #include "pythread.h"
  383 #define Py_tss_NEEDS_INIT 0
  384 typedef int Py_tss_t;
  385 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
  386   *key = PyThread_create_key();
  387   return 0;
  388 }
  389 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
  390   Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
  391   *key = Py_tss_NEEDS_INIT;
  392   return key;
  393 }
  394 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
  395   PyObject_Free(key);
  396 }
  397 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
  398   return *key != Py_tss_NEEDS_INIT;
  399 }
  400 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
  401   PyThread_delete_key(*key);
  402   *key = Py_tss_NEEDS_INIT;
  403 }
  404 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
  405   return PyThread_set_key_value(*key, value);
  406 }
  407 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
  408   return PyThread_get_key_value(*key);
  409 }
  410 #endif
  411 #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
  412 #define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
  413 #else
  414 #define __Pyx_PyDict_NewPresized(n)  PyDict_New()
  415 #endif
  416 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
  417   #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  418   #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
  419 #else
  420   #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  421   #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
  422 #endif
  423 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
  424 #define __Pyx_PyDict_GetItemStr(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
  425 #else
  426 #define __Pyx_PyDict_GetItemStr(dict, name)  PyDict_GetItem(dict, name)
  427 #endif
  428 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  429   #define CYTHON_PEP393_ENABLED 1
  430   #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
  431                                               0 : _PyUnicode_Ready((PyObject *)(op)))
  432   #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  433   #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  434   #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  435   #define __Pyx_PyUnicode_KIND(u)         PyUnicode_KIND(u)
  436   #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  437   #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  438   #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
  439   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
  440 #else
  441   #define CYTHON_PEP393_ENABLED 0
  442   #define PyUnicode_1BYTE_KIND  1
  443   #define PyUnicode_2BYTE_KIND  2
  444   #define PyUnicode_4BYTE_KIND  4
  445   #define __Pyx_PyUnicode_READY(op)       (0)
  446   #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  447   #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  448   #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
  449   #define __Pyx_PyUnicode_KIND(u)         (sizeof(Py_UNICODE))
  450   #define __Pyx_PyUnicode_DATA(u)         ((void*)PyUnicode_AS_UNICODE(u))
  451   #define __Pyx_PyUnicode_READ(k, d, i)   ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
  452   #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
  453   #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_SIZE(u))
  454 #endif
  455 #if CYTHON_COMPILING_IN_PYPY
  456   #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  457   #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
  458 #else
  459   #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  460   #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
  461       PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
  462 #endif
  463 #if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
  464   #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
  465 #endif
  466 #if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
  467   #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
  468 #endif
  469 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
  470   #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
  471 #endif
  472 #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))
  473 #define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
  474 #if PY_MAJOR_VERSION >= 3
  475   #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
  476 #else
  477   #define __Pyx_PyString_Format(a, b)  PyString_Format(a, b)
  478 #endif
  479 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
  480   #define PyObject_ASCII(o)            PyObject_Repr(o)
  481 #endif
  482 #if PY_MAJOR_VERSION >= 3
  483   #define PyBaseString_Type            PyUnicode_Type
  484   #define PyStringObject               PyUnicodeObject
  485   #define PyString_Type                PyUnicode_Type
  486   #define PyString_Check               PyUnicode_Check
  487   #define PyString_CheckExact          PyUnicode_CheckExact
  488   #define PyObject_Unicode             PyObject_Str
  489 #endif
  490 #if PY_MAJOR_VERSION >= 3
  491   #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  492   #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
  493 #else
  494   #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
  495   #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
  496 #endif
  497 #ifndef PySet_CheckExact
  498   #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
  499 #endif
  500 #if CYTHON_ASSUME_SAFE_MACROS
  501   #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
  502 #else
  503   #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
  504 #endif
  505 #if PY_MAJOR_VERSION >= 3
  506   #define PyIntObject                  PyLongObject
  507   #define PyInt_Type                   PyLong_Type
  508   #define PyInt_Check(op)              PyLong_Check(op)
  509   #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  510   #define PyInt_FromString             PyLong_FromString
  511   #define PyInt_FromUnicode            PyLong_FromUnicode
  512   #define PyInt_FromLong               PyLong_FromLong
  513   #define PyInt_FromSize_t             PyLong_FromSize_t
  514   #define PyInt_FromSsize_t            PyLong_FromSsize_t
  515   #define PyInt_AsLong                 PyLong_AsLong
  516   #define PyInt_AS_LONG                PyLong_AS_LONG
  517   #define PyInt_AsSsize_t              PyLong_AsSsize_t
  518   #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  519   #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
  520   #define PyNumber_Int                 PyNumber_Long
  521 #endif
  522 #if PY_MAJOR_VERSION >= 3
  523   #define PyBoolObject                 PyLongObject
  524 #endif
  525 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
  526   #ifndef PyUnicode_InternFromString
  527     #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
  528   #endif
  529 #endif
  530 #if PY_VERSION_HEX < 0x030200A4
  531   typedef long Py_hash_t;
  532   #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  533   #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
  534 #else
  535   #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  536   #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
  537 #endif
  538 #if PY_MAJOR_VERSION >= 3
  539   #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func))
  540 #else
  541   #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
  542 #endif
  543 #if CYTHON_USE_ASYNC_SLOTS
  544   #if PY_VERSION_HEX >= 0x030500B1
  545     #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
  546     #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
  547   #else
  548     #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
  549   #endif
  550 #else
  551   #define __Pyx_PyType_AsAsync(obj) NULL
  552 #endif
  553 #ifndef __Pyx_PyAsyncMethodsStruct
  554     typedef struct {
  555         unaryfunc am_await;
  556         unaryfunc am_aiter;
  557         unaryfunc am_anext;
  558     } __Pyx_PyAsyncMethodsStruct;
  559 #endif
  560 
  561 #if defined(WIN32) || defined(MS_WINDOWS)
  562   #define _USE_MATH_DEFINES
  563 #endif
  564 #include <math.h>
  565 #ifdef NAN
  566 #define __PYX_NAN() ((float) NAN)
  567 #else
  568 static CYTHON_INLINE float __PYX_NAN() {
  569   float value;
  570   memset(&value, 0xFF, sizeof(value));
  571   return value;
  572 }
  573 #endif
  574 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
  575 #define __Pyx_truncl trunc
  576 #else
  577 #define __Pyx_truncl truncl
  578 #endif
  579 
  580 
  581 #define __PYX_ERR(f_index, lineno, Ln_error) \
  582 { \
  583   __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
  584 }
  585 
  586 #ifndef __PYX_EXTERN_C
  587   #ifdef __cplusplus
  588     #define __PYX_EXTERN_C extern "C"
  589   #else
  590     #define __PYX_EXTERN_C extern
  591   #endif
  592 #endif
  593 
  594 #define __PYX_HAVE__Recode
  595 #define __PYX_HAVE_API__Recode
  596 /* Early includes */
  597 #include <string.h>
  598 #include <stdlib.h>
  599 #include <stdio.h>
  600 #include "common.h"
  601 #ifdef _OPENMP
  602 #include <omp.h>
  603 #endif /* _OPENMP */
  604 
  605 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
  606 #define CYTHON_WITHOUT_ASSERTIONS
  607 #endif
  608 
  609 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
  610                 const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
  611 
  612 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
  613 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
  614 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
  615 #define __PYX_DEFAULT_STRING_ENCODING ""
  616 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
  617 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
  618 #define __Pyx_uchar_cast(c) ((unsigned char)c)
  619 #define __Pyx_long_cast(x) ((long)x)
  620 #define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
  621     (sizeof(type) < sizeof(Py_ssize_t))  ||\
  622     (sizeof(type) > sizeof(Py_ssize_t) &&\
  623           likely(v < (type)PY_SSIZE_T_MAX ||\
  624                  v == (type)PY_SSIZE_T_MAX)  &&\
  625           (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
  626                                 v == (type)PY_SSIZE_T_MIN)))  ||\
  627     (sizeof(type) == sizeof(Py_ssize_t) &&\
  628           (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
  629                                v == (type)PY_SSIZE_T_MAX)))  )
  630 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
  631     return (size_t) i < (size_t) limit;
  632 }
  633 #if defined (__cplusplus) && __cplusplus >= 201103L
  634     #include <cstdlib>
  635     #define __Pyx_sst_abs(value) std::abs(value)
  636 #elif SIZEOF_INT >= SIZEOF_SIZE_T
  637     #define __Pyx_sst_abs(value) abs(value)
  638 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
  639     #define __Pyx_sst_abs(value) labs(value)
  640 #elif defined (_MSC_VER)
  641     #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
  642 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  643     #define __Pyx_sst_abs(value) llabs(value)
  644 #elif defined (__GNUC__)
  645     #define __Pyx_sst_abs(value) __builtin_llabs(value)
  646 #else
  647     #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
  648 #endif
  649 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
  650 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
  651 #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
  652 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
  653 #define __Pyx_PyBytes_FromString        PyBytes_FromString
  654 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
  655 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
  656 #if PY_MAJOR_VERSION < 3
  657     #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
  658     #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
  659 #else
  660     #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
  661     #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
  662 #endif
  663 #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
  664 #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
  665 #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
  666 #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
  667 #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
  668 #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
  669 #define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
  670 #define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
  671 #define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
  672 #define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
  673 #define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
  674 #define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
  675 #define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
  676 #define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
  677 #define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
  678 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
  679 static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
  680     const Py_UNICODE *u_end = u;
  681     while (*u_end++) ;
  682     return (size_t)(u_end - u - 1);
  683 }
  684 #define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
  685 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
  686 #define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
  687 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
  688 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
  689 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
  690 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
  691 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
  692 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
  693 #define __Pyx_PySequence_Tuple(obj)\
  694     (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
  695 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
  696 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
  697 #if CYTHON_ASSUME_SAFE_MACROS
  698 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
  699 #else
  700 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
  701 #endif
  702 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
  703 #if PY_MAJOR_VERSION >= 3
  704 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
  705 #else
  706 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
  707 #endif
  708 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
  709 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
  710 static int __Pyx_sys_getdefaultencoding_not_ascii;
  711 static int __Pyx_init_sys_getdefaultencoding_params(void) {
  712     PyObject* sys;
  713     PyObject* default_encoding = NULL;
  714     PyObject* ascii_chars_u = NULL;
  715     PyObject* ascii_chars_b = NULL;
  716     const char* default_encoding_c;
  717     sys = PyImport_ImportModule("sys");
  718     if (!sys) goto bad;
  719     default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
  720     Py_DECREF(sys);
  721     if (!default_encoding) goto bad;
  722     default_encoding_c = PyBytes_AsString(default_encoding);
  723     if (!default_encoding_c) goto bad;
  724     if (strcmp(default_encoding_c, "ascii") == 0) {
  725         __Pyx_sys_getdefaultencoding_not_ascii = 0;
  726     } else {
  727         char ascii_chars[128];
  728         int c;
  729         for (c = 0; c < 128; c++) {
  730             ascii_chars[c] = c;
  731         }
  732         __Pyx_sys_getdefaultencoding_not_ascii = 1;
  733         ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
  734         if (!ascii_chars_u) goto bad;
  735         ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
  736         if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
  737             PyErr_Format(
  738                 PyExc_ValueError,
  739                 "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
  740                 default_encoding_c);
  741             goto bad;
  742         }
  743         Py_DECREF(ascii_chars_u);
  744         Py_DECREF(ascii_chars_b);
  745     }
  746     Py_DECREF(default_encoding);
  747     return 0;
  748 bad:
  749     Py_XDECREF(default_encoding);
  750     Py_XDECREF(ascii_chars_u);
  751     Py_XDECREF(ascii_chars_b);
  752     return -1;
  753 }
  754 #endif
  755 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
  756 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
  757 #else
  758 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
  759 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
  760 static char* __PYX_DEFAULT_STRING_ENCODING;
  761 static int __Pyx_init_sys_getdefaultencoding_params(void) {
  762     PyObject* sys;
  763     PyObject* default_encoding = NULL;
  764     char* default_encoding_c;
  765     sys = PyImport_ImportModule("sys");
  766     if (!sys) goto bad;
  767     default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
  768     Py_DECREF(sys);
  769     if (!default_encoding) goto bad;
  770     default_encoding_c = PyBytes_AsString(default_encoding);
  771     if (!default_encoding_c) goto bad;
  772     __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
  773     if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
  774     strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
  775     Py_DECREF(default_encoding);
  776     return 0;
  777 bad:
  778     Py_XDECREF(default_encoding);
  779     return -1;
  780 }
  781 #endif
  782 #endif
  783 
  784 
  785 /* Test for GCC > 2.95 */
  786 #if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  787   #define likely(x)   __builtin_expect(!!(x), 1)
  788   #define unlikely(x) __builtin_expect(!!(x), 0)
  789 #else /* !__GNUC__ or GCC < 2.95 */
  790   #define likely(x)   (x)
  791   #define unlikely(x) (x)
  792 #endif /* __GNUC__ */
  793 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
  794 
  795 static PyObject *__pyx_m = NULL;
  796 static PyObject *__pyx_d;
  797 static PyObject *__pyx_b;
  798 static PyObject *__pyx_cython_runtime = NULL;
  799 static PyObject *__pyx_empty_tuple;
  800 static PyObject *__pyx_empty_bytes;
  801 static PyObject *__pyx_empty_unicode;
  802 static int __pyx_lineno;
  803 static int __pyx_clineno = 0;
  804 static const char * __pyx_cfilenm= __FILE__;
  805 static const char *__pyx_filename;
  806 
  807 
  808 static const char *__pyx_f[] = {
  809   "stringsource",
  810   "Recode.pyx",
  811 };
  812 
  813 /*--- Type declarations ---*/
  814 struct __pyx_obj_6Recode_Outer;
  815 struct __pyx_obj_6Recode_Request;
  816 struct __pyx_obj_6Recode_Task;
  817 
  818 /* "Recode.pyx":522
  819  * ## Recode library at OUTER level.
  820  * 
  821  * cdef class Outer:             # <<<<<<<<<<<<<<
  822  *     cdef RECODE_OUTER outer
  823  * 
  824  */
  825 struct __pyx_obj_6Recode_Outer {
  826   PyObject_HEAD
  827   RECODE_OUTER outer;
  828 };
  829 
  830 
  831 /* "Recode.pyx":589
  832  * # Recode library at REQUEST level.
  833  * 
  834  * cdef class Request:             # <<<<<<<<<<<<<<
  835  *     cdef RECODE_REQUEST request
  836  * 
  837  */
  838 struct __pyx_obj_6Recode_Request {
  839   PyObject_HEAD
  840   RECODE_REQUEST request;
  841 };
  842 
  843 
  844 /* "Recode.pyx":668
  845  * # Recode library at TASK level.
  846  * 
  847  * cdef class Task:             # <<<<<<<<<<<<<<
  848  *     cdef RECODE_TASK task
  849  * 
  850  */
  851 struct __pyx_obj_6Recode_Task {
  852   PyObject_HEAD
  853   RECODE_TASK task;
  854 };
  855 
  856 
  857 /* --- Runtime support code (head) --- */
  858 /* Refnanny.proto */
  859 #ifndef CYTHON_REFNANNY
  860   #define CYTHON_REFNANNY 0
  861 #endif
  862 #if CYTHON_REFNANNY
  863   typedef struct {
  864     void (*INCREF)(void*, PyObject*, int);
  865     void (*DECREF)(void*, PyObject*, int);
  866     void (*GOTREF)(void*, PyObject*, int);
  867     void (*GIVEREF)(void*, PyObject*, int);
  868     void* (*SetupContext)(const char*, int, const char*);
  869     void (*FinishContext)(void**);
  870   } __Pyx_RefNannyAPIStruct;
  871   static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  872   static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  873   #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
  874 #ifdef WITH_THREAD
  875   #define __Pyx_RefNannySetupContext(name, acquire_gil)\
  876           if (acquire_gil) {\
  877               PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
  878               __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
  879               PyGILState_Release(__pyx_gilstate_save);\
  880           } else {\
  881               __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
  882           }
  883 #else
  884   #define __Pyx_RefNannySetupContext(name, acquire_gil)\
  885           __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
  886 #endif
  887   #define __Pyx_RefNannyFinishContext()\
  888           __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  889   #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  890   #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  891   #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  892   #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  893   #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
  894   #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  895   #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  896   #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
  897 #else
  898   #define __Pyx_RefNannyDeclarations
  899   #define __Pyx_RefNannySetupContext(name, acquire_gil)
  900   #define __Pyx_RefNannyFinishContext()
  901   #define __Pyx_INCREF(r) Py_INCREF(r)
  902   #define __Pyx_DECREF(r) Py_DECREF(r)
  903   #define __Pyx_GOTREF(r)
  904   #define __Pyx_GIVEREF(r)
  905   #define __Pyx_XINCREF(r) Py_XINCREF(r)
  906   #define __Pyx_XDECREF(r) Py_XDECREF(r)
  907   #define __Pyx_XGOTREF(r)
  908   #define __Pyx_XGIVEREF(r)
  909 #endif
  910 #define __Pyx_XDECREF_SET(r, v) do {\
  911         PyObject *tmp = (PyObject *) r;\
  912         r = v; __Pyx_XDECREF(tmp);\
  913     } while (0)
  914 #define __Pyx_DECREF_SET(r, v) do {\
  915         PyObject *tmp = (PyObject *) r;\
  916         r = v; __Pyx_DECREF(tmp);\
  917     } while (0)
  918 #define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
  919 #define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
  920 
  921 /* PyObjectGetAttrStr.proto */
  922 #if CYTHON_USE_TYPE_SLOTS
  923 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
  924 #else
  925 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
  926 #endif
  927 
  928 /* GetBuiltinName.proto */
  929 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
  930 
  931 /* RaiseDoubleKeywords.proto */
  932 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
  933 
  934 /* ParseKeywords.proto */
  935 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\
  936     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
  937     const char* function_name);
  938 
  939 /* RaiseArgTupleInvalid.proto */
  940 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
  941     Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
  942 
  943 /* ListAppend.proto */
  944 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
  945 static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
  946     PyListObject* L = (PyListObject*) list;
  947     Py_ssize_t len = Py_SIZE(list);
  948     if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
  949         Py_INCREF(x);
  950         PyList_SET_ITEM(list, len, x);
  951         Py_SIZE(list) = len+1;
  952         return 0;
  953     }
  954     return PyList_Append(list, x);
  955 }
  956 #else
  957 #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
  958 #endif
  959 
  960 /* PyDictVersioning.proto */
  961 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
  962 #define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
  963 #define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
  964 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
  965     (version_var) = __PYX_GET_DICT_VERSION(dict);\
  966     (cache_var) = (value);
  967 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
  968     static PY_UINT64_T __pyx_dict_version = 0;\
  969     static PyObject *__pyx_dict_cached_value = NULL;\
  970     if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
  971         (VAR) = __pyx_dict_cached_value;\
  972     } else {\
  973         (VAR) = __pyx_dict_cached_value = (LOOKUP);\
  974         __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
  975     }\
  976 }
  977 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
  978 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
  979 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
  980 #else
  981 #define __PYX_GET_DICT_VERSION(dict)  (0)
  982 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
  983 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
  984 #endif
  985 
  986 /* GetModuleGlobalName.proto */
  987 #if CYTHON_USE_DICT_VERSIONS
  988 #define __Pyx_GetModuleGlobalName(var, name)  {\
  989     static PY_UINT64_T __pyx_dict_version = 0;\
  990     static PyObject *__pyx_dict_cached_value = NULL;\
  991     (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
  992         (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
  993         __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
  994 }
  995 #define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
  996     PY_UINT64_T __pyx_dict_version;\
  997     PyObject *__pyx_dict_cached_value;\
  998     (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
  999 }
 1000 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
 1001 #else
 1002 #define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
 1003 #define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
 1004 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
 1005 #endif
 1006 
 1007 /* PyThreadStateGet.proto */
 1008 #if CYTHON_FAST_THREAD_STATE
 1009 #define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
 1010 #define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
 1011 #define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
 1012 #else
 1013 #define __Pyx_PyThreadState_declare
 1014 #define __Pyx_PyThreadState_assign
 1015 #define __Pyx_PyErr_Occurred()  PyErr_Occurred()
 1016 #endif
 1017 
 1018 /* PyErrFetchRestore.proto */
 1019 #if CYTHON_FAST_THREAD_STATE
 1020 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
 1021 #define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
 1022 #define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
 1023 #define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
 1024 #define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
 1025 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
 1026 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
 1027 #if CYTHON_COMPILING_IN_CPYTHON
 1028 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
 1029 #else
 1030 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
 1031 #endif
 1032 #else
 1033 #define __Pyx_PyErr_Clear() PyErr_Clear()
 1034 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
 1035 #define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
 1036 #define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
 1037 #define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
 1038 #define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
 1039 #define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
 1040 #define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
 1041 #endif
 1042 
 1043 /* RaiseException.proto */
 1044 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
 1045 
 1046 /* PyCFunctionFastCall.proto */
 1047 #if CYTHON_FAST_PYCCALL
 1048 static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
 1049 #else
 1050 #define __Pyx_PyCFunction_FastCall(func, args, nargs)  (assert(0), NULL)
 1051 #endif
 1052 
 1053 /* PyFunctionFastCall.proto */
 1054 #if CYTHON_FAST_PYCALL
 1055 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
 1056     __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
 1057 #if 1 || PY_VERSION_HEX < 0x030600B1
 1058 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
 1059 #else
 1060 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
 1061 #endif
 1062 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
 1063     (sizeof(char [1 - 2*!(cond)]) - 1)
 1064 #ifndef Py_MEMBER_SIZE
 1065 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
 1066 #endif
 1067   static size_t __pyx_pyframe_localsplus_offset = 0;
 1068   #include "frameobject.h"
 1069   #define __Pxy_PyFrame_Initialize_Offsets()\
 1070     ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
 1071      (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
 1072   #define __Pyx_PyFrame_GetLocalsplus(frame)\
 1073     (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
 1074 #endif
 1075 
 1076 /* PyObjectCall.proto */
 1077 #if CYTHON_COMPILING_IN_CPYTHON
 1078 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
 1079 #else
 1080 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
 1081 #endif
 1082 
 1083 /* PyObjectCallMethO.proto */
 1084 #if CYTHON_COMPILING_IN_CPYTHON
 1085 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
 1086 #endif
 1087 
 1088 /* PyObjectCallOneArg.proto */
 1089 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
 1090 
 1091 /* PyObjectCall2Args.proto */
 1092 static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
 1093 
 1094 /* ArgTypeTest.proto */
 1095 #define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
 1096     ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
 1097         __Pyx__ArgTypeTest(obj, type, name, exact))
 1098 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
 1099 
 1100 /* GetException.proto */
 1101 #if CYTHON_FAST_THREAD_STATE
 1102 #define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
 1103 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
 1104 #else
 1105 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
 1106 #endif
 1107 
 1108 /* SwapException.proto */
 1109 #if CYTHON_FAST_THREAD_STATE
 1110 #define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
 1111 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
 1112 #else
 1113 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
 1114 #endif
 1115 
 1116 /* GetTopmostException.proto */
 1117 #if CYTHON_USE_EXC_INFO_STACK
 1118 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
 1119 #endif
 1120 
 1121 /* SaveResetException.proto */
 1122 #if CYTHON_FAST_THREAD_STATE
 1123 #define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
 1124 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
 1125 #define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
 1126 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
 1127 #else
 1128 #define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
 1129 #define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
 1130 #endif
 1131 
 1132 /* PyObject_GenericGetAttrNoDict.proto */
 1133 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
 1134 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
 1135 #else
 1136 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
 1137 #endif
 1138 
 1139 /* PyObject_GenericGetAttr.proto */
 1140 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
 1141 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
 1142 #else
 1143 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
 1144 #endif
 1145 
 1146 /* SetupReduce.proto */
 1147 static int __Pyx_setup_reduce(PyObject* type_obj);
 1148 
 1149 /* CalculateMetaclass.proto */
 1150 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
 1151 
 1152 /* Py3ClassCreate.proto */
 1153 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
 1154                                            PyObject *mkw, PyObject *modname, PyObject *doc);
 1155 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
 1156                                       PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
 1157 
 1158 /* CLineInTraceback.proto */
 1159 #ifdef CYTHON_CLINE_IN_TRACEBACK
 1160 #define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
 1161 #else
 1162 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
 1163 #endif
 1164 
 1165 /* CodeObjectCache.proto */
 1166 typedef struct {
 1167     PyCodeObject* code_object;
 1168     int code_line;
 1169 } __Pyx_CodeObjectCacheEntry;
 1170 struct __Pyx_CodeObjectCache {
 1171     int count;
 1172     int max_count;
 1173     __Pyx_CodeObjectCacheEntry* entries;
 1174 };
 1175 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
 1176 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
 1177 static PyCodeObject *__pyx_find_code_object(int code_line);
 1178 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
 1179 
 1180 /* AddTraceback.proto */
 1181 static void __Pyx_AddTraceback(const char *funcname, int c_line,
 1182                                int py_line, const char *filename);
 1183 
 1184 /* CIntToPy.proto */
 1185 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_symbol_type(enum recode_symbol_type value);
 1186 
 1187 /* CIntToPy.proto */
 1188 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_data_type(enum recode_data_type value);
 1189 
 1190 /* CIntToPy.proto */
 1191 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_size(enum recode_size value);
 1192 
 1193 /* CIntToPy.proto */
 1194 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_step_type(enum recode_step_type value);
 1195 
 1196 /* CIntToPy.proto */
 1197 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_swap_input(enum recode_swap_input value);
 1198 
 1199 /* CIntToPy.proto */
 1200 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_error(enum recode_error value);
 1201 
 1202 /* CIntToPy.proto */
 1203 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_list_format(enum recode_list_format value);
 1204 
 1205 /* CIntToPy.proto */
 1206 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__recode_programming_language(enum recode_programming_language value);
 1207 
 1208 /* CIntToPy.proto */
 1209 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
 1210 
 1211 /* CIntToPy.proto */
 1212 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__alias_find_type(enum alias_find_type value);
 1213 
 1214 /* CIntFromPy.proto */
 1215 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
 1216 
 1217 /* CIntFromPy.proto */
 1218 static CYTHON_INLINE enum recode_list_format __Pyx_PyInt_As_enum__recode_list_format(PyObject *);
 1219 
 1220 /* CIntFromPy.proto */
 1221 static CYTHON_INLINE enum recode_error __Pyx_PyInt_As_enum__recode_error(PyObject *);
 1222 
 1223 /* CIntToPy.proto */
 1224 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
 1225 
 1226 /* CIntFromPy.proto */
 1227 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
 1228 
 1229 /* FastTypeChecks.proto */
 1230 #if CYTHON_COMPILING_IN_CPYTHON
 1231 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
 1232 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
 1233 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
 1234 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
 1235 #else
 1236 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
 1237 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
 1238 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
 1239 #endif
 1240 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
 1241 
 1242 /* CheckBinaryVersion.proto */
 1243 static int __Pyx_check_binary_version(void);
 1244 
 1245 /* InitStrings.proto */
 1246 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
 1247 
 1248 
 1249 /* Module declarations from 'libcpp' */
 1250 
 1251 /* Module declarations from 'libc.string' */
 1252 
 1253 /* Module declarations from 'libc.stdlib' */
 1254 
 1255 /* Module declarations from 'libc.stdio' */
 1256 
 1257 /* Module declarations from 'Recode' */
 1258 static PyTypeObject *__pyx_ptype_6Recode_Outer = 0;
 1259 static PyTypeObject *__pyx_ptype_6Recode_Request = 0;
 1260 static PyTypeObject *__pyx_ptype_6Recode_Task = 0;
 1261 #define __Pyx_MODULE_NAME "Recode"
 1262 extern int __pyx_module_is_main_Recode;
 1263 int __pyx_module_is_main_Recode = 0;
 1264 
 1265 /* Implementation of 'Recode' */
 1266 static PyObject *__pyx_builtin_TypeError;
 1267 static const char __pyx_k_NUL[] = "NUL";
 1268 static const char __pyx_k_doc[] = "__doc__";
 1269 static const char __pyx_k_Task[] = "Task";
 1270 static const char __pyx_k_main[] = "__main__";
 1271 static const char __pyx_k_name[] = "__name__";
 1272 static const char __pyx_k_scan[] = "scan";
 1273 static const char __pyx_k_test[] = "__test__";
 1274 static const char __pyx_k_Outer[] = "Outer";
 1275 static const char __pyx_k_error[] = "error";
 1276 static const char __pyx_k_iconv[] = "iconv";
 1277 static const char __pyx_k_input[] = "input";
 1278 static const char __pyx_k_outer[] = "outer";
 1279 static const char __pyx_k_xDONE[] = "xDONE";
 1280 static const char __pyx_k_xELSE[] = "xELSE";
 1281 static const char __pyx_k_Recode[] = "Recode";
 1282 static const char __pyx_k_SIZE_1[] = "SIZE_1";
 1283 static const char __pyx_k_SIZE_2[] = "SIZE_2";
 1284 static const char __pyx_k_SIZE_4[] = "SIZE_4";
 1285 static const char __pyx_k_SIZE_N[] = "SIZE_N";
 1286 static const char __pyx_k_format[] = "format";
 1287 static const char __pyx_k_module[] = "__module__";
 1288 static const char __pyx_k_reduce[] = "__reduce__";
 1289 static const char __pyx_k_strict[] = "strict";
 1290 static const char __pyx_k_string[] = "string";
 1291 static const char __pyx_k_CHARSET[] = "CHARSET";
 1292 static const char __pyx_k_Request[] = "Request";
 1293 static const char __pyx_k_SWAP_NO[] = "SWAP_NO";
 1294 static const char __pyx_k_charset[] = "charset";
 1295 static const char __pyx_k_command[] = "command";
 1296 static const char __pyx_k_prepare[] = "__prepare__";
 1297 static const char __pyx_k_request[] = "request";
 1298 static const char __pyx_k_verbose[] = "verbose";
 1299 static const char __pyx_k_NO_ERROR[] = "NO_ERROR";
 1300 static const char __pyx_k_SWAP_YES[] = "SWAP_YES";
 1301 static const char __pyx_k_getstate[] = "__getstate__";
 1302 static const char __pyx_k_language[] = "language";
 1303 static const char __pyx_k_qualname[] = "__qualname__";
 1304 static const char __pyx_k_setstate[] = "__setstate__";
 1305 static const char __pyx_k_NO_FORMAT[] = "NO_FORMAT";
 1306 static const char __pyx_k_TypeError[] = "TypeError";
 1307 static const char __pyx_k_metaclass[] = "__metaclass__";
 1308 static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
 1309 static const char __pyx_k_LANGUAGE_C[] = "LANGUAGE_C";
 1310 static const char __pyx_k_STRIP_DATA[] = "STRIP_DATA";
 1311 static const char __pyx_k_STRIP_SIZE[] = "STRIP_SIZE";
 1312 static const char __pyx_k_USER_ERROR[] = "USER_ERROR";
 1313 static const char __pyx_k_auto_abort[] = "auto_abort";
 1314 static const char __pyx_k_FULL_FORMAT[] = "FULL_FORMAT";
 1315 static const char __pyx_k_NO_LANGUAGE[] = "NO_LANGUAGE";
 1316 static const char __pyx_k_set_verbose[] = "set_verbose";
 1317 static const char __pyx_k_BYTE_TO_BYTE[] = "BYTE_TO_BYTE";
 1318 static const char __pyx_k_COMBINE_STEP[] = "COMBINE_STEP";
 1319 static const char __pyx_k_DATA_SURFACE[] = "DATA_SURFACE";
 1320 static const char __pyx_k_EXPLODE_DATA[] = "EXPLODE_DATA";
 1321 static const char __pyx_k_EXPLODE_STEP[] = "EXPLODE_STEP";
 1322 static const char __pyx_k_OCTAL_FORMAT[] = "OCTAL_FORMAT";
 1323 static const char __pyx_k_SYSTEM_ERROR[] = "SYSTEM_ERROR";
 1324 static const char __pyx_k_UCS2_TO_BYTE[] = "UCS2_TO_BYTE";
 1325 static const char __pyx_k_INVALID_INPUT[] = "INVALID_INPUT";
 1326 static const char __pyx_k_LANGUAGE_PERL[] = "LANGUAGE_PERL";
 1327 static const char __pyx_k_MAXIMUM_ERROR[] = "MAXIMUM_ERROR";
 1328 static const char __pyx_k_NOT_CANONICAL[] = "NOT_CANONICAL";
 1329 static const char __pyx_k_NO_ICONV_FLAG[] = "NO_ICONV_FLAG";
 1330 static const char __pyx_k_NO_STEP_TABLE[] = "NO_STEP_TABLE";
 1331 static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
 1332 static const char __pyx_k_BYTE_TO_STRING[] = "BYTE_TO_STRING";
 1333 static const char __pyx_k_DECIMAL_FORMAT[] = "DECIMAL_FORMAT";
 1334 static const char __pyx_k_INTERNAL_ERROR[] = "INTERNAL_ERROR";
 1335 static const char __pyx_k_NO_SYMBOL_TYPE[] = "NO_SYMBOL_TYPE";
 1336 static const char __pyx_k_STRING_TO_UCS2[] = "STRING_TO_UCS2";
 1337 static const char __pyx_k_SWAP_UNDECIDED[] = "SWAP_UNDECIDED";
 1338 static const char __pyx_k_UCS2_TO_STRING[] = "UCS2_TO_STRING";
 1339 static const char __pyx_k_UNTRANSLATABLE[] = "UNTRANSLATABLE";
 1340 static const char __pyx_k_AUTO_ABORT_FLAG[] = "AUTO_ABORT_FLAG";
 1341 static const char __pyx_k_BYTE_ORDER_MARK[] = "BYTE_ORDER_MARK";
 1342 static const char __pyx_k_COMBINE_EXPLODE[] = "COMBINE_EXPLODE";
 1343 static const char __pyx_k_NOT_A_CHARACTER[] = "NOT_A_CHARACTER";
 1344 static const char __pyx_k_NO_CHARSET_DATA[] = "NO_CHARSET_DATA";
 1345 static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
 1346 static const char __pyx_k_AMBIGUOUS_OUTPUT[] = "AMBIGUOUS_OUTPUT";
 1347 static const char __pyx_k_HEXADECIMAL_FORMAT[] = "HEXADECIMAL_FORMAT";
 1348 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
 1349 static const char __pyx_k_STRICT_MAPPING_FLAG[] = "STRICT_MAPPING_FLAG";
 1350 static const char __pyx_k_ALIAS_FIND_AS_EITHER[] = "ALIAS_FIND_AS_EITHER";
 1351 static const char __pyx_k_ALIAS_FIND_AS_CHARSET[] = "ALIAS_FIND_AS_CHARSET";
 1352 static const char __pyx_k_ALIAS_FIND_AS_SURFACE[] = "ALIAS_FIND_AS_SURFACE";
 1353 static const char __pyx_k_REPLACEMENT_CHARACTER[] = "REPLACEMENT_CHARACTER";
 1354 static const char __pyx_k_SYMBOL_CREATE_CHARSET[] = "SYMBOL_CREATE_CHARSET";
 1355 static const char __pyx_k_BYTE_ORDER_MARK_SWAPPED[] = "BYTE_ORDER_MARK_SWAPPED";
 1356 static const char __pyx_k_SYMBOL_CREATE_DATA_SURFACE[] = "SYMBOL_CREATE_DATA_SURFACE";
 1357 static const char __pyx_k_self_outer_cannot_be_converted_t[] = "self.outer cannot be converted to a Python object for pickling";
 1358 static const char __pyx_k_self_request_cannot_be_converted[] = "self.request cannot be converted to a Python object for pickling";
 1359 static const char __pyx_k_self_task_cannot_be_converted_to[] = "self.task cannot be converted to a Python object for pickling";
 1360 static PyObject *__pyx_n_s_ALIAS_FIND_AS_CHARSET;
 1361 static PyObject *__pyx_n_s_ALIAS_FIND_AS_EITHER;
 1362 static PyObject *__pyx_n_s_ALIAS_FIND_AS_SURFACE;
 1363 static PyObject *__pyx_n_s_AMBIGUOUS_OUTPUT;
 1364 static PyObject *__pyx_n_s_AUTO_ABORT_FLAG;
 1365 static PyObject *__pyx_n_s_BYTE_ORDER_MARK;
 1366 static PyObject *__pyx_n_s_BYTE_ORDER_MARK_SWAPPED;
 1367 static PyObject *__pyx_n_s_BYTE_TO_BYTE;
 1368 static PyObject *__pyx_n_s_BYTE_TO_STRING;
 1369 static PyObject *__pyx_n_s_CHARSET;
 1370 static PyObject *__pyx_n_s_COMBINE_EXPLODE;
 1371 static PyObject *__pyx_n_s_COMBINE_STEP;
 1372 static PyObject *__pyx_n_s_DATA_SURFACE;
 1373 static PyObject *__pyx_n_s_DECIMAL_FORMAT;
 1374 static PyObject *__pyx_n_s_EXPLODE_DATA;
 1375 static PyObject *__pyx_n_s_EXPLODE_STEP;
 1376 static PyObject *__pyx_n_s_FULL_FORMAT;
 1377 static PyObject *__pyx_n_s_HEXADECIMAL_FORMAT;
 1378 static PyObject *__pyx_n_s_INTERNAL_ERROR;
 1379 static PyObject *__pyx_n_s_INVALID_INPUT;
 1380 static PyObject *__pyx_n_s_LANGUAGE_C;
 1381 static PyObject *__pyx_n_s_LANGUAGE_PERL;
 1382 static PyObject *__pyx_n_s_MAXIMUM_ERROR;
 1383 static PyObject *__pyx_n_s_NOT_A_CHARACTER;
 1384 static PyObject *__pyx_n_s_NOT_CANONICAL;
 1385 static PyObject *__pyx_n_s_NO_CHARSET_DATA;
 1386 static PyObject *__pyx_n_s_NO_ERROR;
 1387 static PyObject *__pyx_n_s_NO_FORMAT;
 1388 static PyObject *__pyx_n_s_NO_ICONV_FLAG;
 1389 static PyObject *__pyx_n_s_NO_LANGUAGE;
 1390 static PyObject *__pyx_n_s_NO_STEP_TABLE;
 1391 static PyObject *__pyx_n_s_NO_SYMBOL_TYPE;
 1392 static PyObject *__pyx_n_s_NUL;
 1393 static PyObject *__pyx_n_s_OCTAL_FORMAT;
 1394 static PyObject *__pyx_n_s_Outer;
 1395 static PyObject *__pyx_n_s_REPLACEMENT_CHARACTER;
 1396 static PyObject *__pyx_n_s_Recode;
 1397 static PyObject *__pyx_n_s_Request;
 1398 static PyObject *__pyx_n_s_SIZE_1;
 1399 static PyObject *__pyx_n_s_SIZE_2;
 1400 static PyObject *__pyx_n_s_SIZE_4;
 1401 static PyObject *__pyx_n_s_SIZE_N;
 1402 static PyObject *__pyx_n_s_STRICT_MAPPING_FLAG;
 1403 static PyObject *__pyx_n_s_STRING_TO_UCS2;
 1404 static PyObject *__pyx_n_s_STRIP_DATA;
 1405 static PyObject *__pyx_n_s_STRIP_SIZE;
 1406 static PyObject *__pyx_n_s_SWAP_NO;
 1407 static PyObject *__pyx_n_s_SWAP_UNDECIDED;
 1408 static PyObject *__pyx_n_s_SWAP_YES;
 1409 static PyObject *__pyx_n_s_SYMBOL_CREATE_CHARSET;
 1410 static PyObject *__pyx_n_s_SYMBOL_CREATE_DATA_SURFACE;
 1411 static PyObject *__pyx_n_s_SYSTEM_ERROR;
 1412 static PyObject *__pyx_n_s_Task;
 1413 static PyObject *__pyx_n_s_TypeError;
 1414 static PyObject *__pyx_n_s_UCS2_TO_BYTE;
 1415 static PyObject *__pyx_n_s_UCS2_TO_STRING;
 1416 static PyObject *__pyx_n_s_UNTRANSLATABLE;
 1417 static PyObject *__pyx_n_s_USER_ERROR;
 1418 static PyObject *__pyx_n_s_auto_abort;
 1419 static PyObject *__pyx_n_s_charset;
 1420 static PyObject *__pyx_n_s_cline_in_traceback;
 1421 static PyObject *__pyx_n_s_command;
 1422 static PyObject *__pyx_n_s_doc;
 1423 static PyObject *__pyx_n_s_error;
 1424 static PyObject *__pyx_n_s_format;
 1425 static PyObject *__pyx_n_s_getstate;
 1426 static PyObject *__pyx_n_s_iconv;
 1427 static PyObject *__pyx_n_s_input;
 1428 static PyObject *__pyx_n_s_language;
 1429 static PyObject *__pyx_n_s_main;
 1430 static PyObject *__pyx_n_s_metaclass;
 1431 static PyObject *__pyx_n_s_module;
 1432 static PyObject *__pyx_n_s_name;
 1433 static PyObject *__pyx_n_s_outer;
 1434 static PyObject *__pyx_n_s_prepare;
 1435 static PyObject *__pyx_n_s_qualname;
 1436 static PyObject *__pyx_n_s_reduce;
 1437 static PyObject *__pyx_n_s_reduce_cython;
 1438 static PyObject *__pyx_n_s_reduce_ex;
 1439 static PyObject *__pyx_n_s_request;
 1440 static PyObject *__pyx_n_s_scan;
 1441 static PyObject *__pyx_kp_s_self_outer_cannot_be_converted_t;
 1442 static PyObject *__pyx_kp_s_self_request_cannot_be_converted;
 1443 static PyObject *__pyx_kp_s_self_task_cannot_be_converted_to;
 1444 static PyObject *__pyx_n_s_set_verbose;
 1445 static PyObject *__pyx_n_s_setstate;
 1446 static PyObject *__pyx_n_s_setstate_cython;
 1447 static PyObject *__pyx_n_s_strict;
 1448 static PyObject *__pyx_n_s_string;
 1449 static PyObject *__pyx_n_s_test;
 1450 static PyObject *__pyx_n_s_verbose;
 1451 static PyObject *__pyx_n_s_xDONE;
 1452 static PyObject *__pyx_n_s_xELSE;
 1453 static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__pyx_v_self, PyObject *__pyx_v_auto_abort, PyObject *__pyx_v_iconv, PyObject *__pyx_v_strict); /* proto */
 1454 static void __pyx_pf_6Recode_5Outer_2__dealloc__(struct __pyx_obj_6Recode_Outer *__pyx_v_self); /* proto */
 1455 static PyObject *__pyx_pf_6Recode_5Outer_4default_charset(CYTHON_UNUSED struct __pyx_obj_6Recode_Outer *__pyx_v_self); /* proto */
 1456 static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_Outer *__pyx_v_self); /* proto */
 1457 static PyObject *__pyx_pf_6Recode_5Outer_8all_surfaces(struct __pyx_obj_6Recode_Outer *__pyx_v_self); /* proto */
 1458 static PyObject *__pyx_pf_6Recode_5Outer_10concise_charset(struct __pyx_obj_6Recode_Outer *__pyx_v_self, PyObject *__pyx_v_format); /* proto */
 1459 static PyObject *__pyx_pf_6Recode_5Outer_12full_charset(struct __pyx_obj_6Recode_Outer *__pyx_v_self); /* proto */
 1460 static PyObject *__pyx_pf_6Recode_5Outer_14recode(struct __pyx_obj_6Recode_Outer *__pyx_v_self, char *__pyx_v_command, char *__pyx_v_input, PyObject *__pyx_v_verbose); /* proto */
 1461 static PyObject *__pyx_pf_6Recode_5Outer_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Outer *__pyx_v_self); /* proto */
 1462 static PyObject *__pyx_pf_6Recode_5Outer_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Outer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
 1463 static int __pyx_pf_6Recode_7Request___init__(struct __pyx_obj_6Recode_Request *__pyx_v_self, struct __pyx_obj_6Recode_Outer *__pyx_v_outer); /* proto */
 1464 static void __pyx_pf_6Recode_7Request_2__dealloc__(struct __pyx_obj_6Recode_Request *__pyx_v_self); /* proto */
 1465 static PyObject *__pyx_pf_6Recode_7Request_4set_verbose(struct __pyx_obj_6Recode_Request *__pyx_v_self, PyObject *__pyx_v_flag); /* proto */
 1466 static PyObject *__pyx_pf_6Recode_7Request_6scan(struct __pyx_obj_6Recode_Request *__pyx_v_self, char *__pyx_v_text); /* proto */
 1467 static PyObject *__pyx_pf_6Recode_7Request_8pair_sequence(struct __pyx_obj_6Recode_Request *__pyx_v_self); /* proto */
 1468 static PyObject *__pyx_pf_6Recode_7Request_10format_table(struct __pyx_obj_6Recode_Request *__pyx_v_self, int __pyx_v_language, char *__pyx_v_charset); /* proto */
 1469 static PyObject *__pyx_pf_6Recode_7Request_12string(struct __pyx_obj_6Recode_Request *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
 1470 static PyObject *__pyx_pf_6Recode_7Request_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Request *__pyx_v_self); /* proto */
 1471 static PyObject *__pyx_pf_6Recode_7Request_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Request *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
 1472 static int __pyx_pf_6Recode_4Task___init__(struct __pyx_obj_6Recode_Task *__pyx_v_self, struct __pyx_obj_6Recode_Request *__pyx_v_request); /* proto */
 1473 static void __pyx_pf_6Recode_4Task_2__dealloc__(struct __pyx_obj_6Recode_Task *__pyx_v_self); /* proto */
 1474 static PyObject *__pyx_pf_6Recode_4Task_4set_byte_order_mark(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_flag); /* proto */
 1475 static PyObject *__pyx_pf_6Recode_4Task_6get_error(struct __pyx_obj_6Recode_Task *__pyx_v_self); /* proto */
 1476 static PyObject *__pyx_pf_6Recode_4Task_8set_fail_level(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_fail_level); /* proto */
 1477 static PyObject *__pyx_pf_6Recode_4Task_10set_abort_level(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_abort_level); /* proto */
 1478 static PyObject *__pyx_pf_6Recode_4Task_12set_input(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_text); /* proto */
 1479 static PyObject *__pyx_pf_6Recode_4Task_14get_output(struct __pyx_obj_6Recode_Task *__pyx_v_self); /* proto */
 1480 static PyObject *__pyx_pf_6Recode_4Task_16perform(struct __pyx_obj_6Recode_Task *__pyx_v_self); /* proto */
 1481 static PyObject *__pyx_pf_6Recode_4Task_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Task *__pyx_v_self); /* proto */
 1482 static PyObject *__pyx_pf_6Recode_4Task_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Task *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
 1483 static PyObject *__pyx_tp_new_6Recode_Outer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 1484 static PyObject *__pyx_tp_new_6Recode_Request(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 1485 static PyObject *__pyx_tp_new_6Recode_Task(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 1486 static PyObject *__pyx_k_;
 1487 static PyObject *__pyx_tuple__2;
 1488 static PyObject *__pyx_tuple__3;
 1489 static PyObject *__pyx_tuple__4;
 1490 static PyObject *__pyx_tuple__5;
 1491 static PyObject *__pyx_tuple__6;
 1492 static PyObject *__pyx_tuple__7;
 1493 /* Late includes */
 1494 
 1495 /* "Recode.pyx":525
 1496  *     cdef RECODE_OUTER outer
 1497  * 
 1498  *     def __init__(self, auto_abort=False, iconv=False, strict=False):             # <<<<<<<<<<<<<<
 1499  *         cdef int flags
 1500  *         cdef RECODE_SINGLE single
 1501  */
 1502 
 1503 /* Python wrapper */
 1504 static int __pyx_pw_6Recode_5Outer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 1505 static int __pyx_pw_6Recode_5Outer_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 1506   PyObject *__pyx_v_auto_abort = 0;
 1507   PyObject *__pyx_v_iconv = 0;
 1508   PyObject *__pyx_v_strict = 0;
 1509   int __pyx_r;
 1510   __Pyx_RefNannyDeclarations
 1511   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
 1512   {
 1513     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_auto_abort,&__pyx_n_s_iconv,&__pyx_n_s_strict,0};
 1514     PyObject* values[3] = {0,0,0};
 1515     values[0] = ((PyObject *)Py_False);
 1516     values[1] = ((PyObject *)Py_False);
 1517     values[2] = ((PyObject *)Py_False);
 1518     if (unlikely(__pyx_kwds)) {
 1519       Py_ssize_t kw_args;
 1520       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
 1521       switch (pos_args) {
 1522         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
 1523         CYTHON_FALLTHROUGH;
 1524         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 1525         CYTHON_FALLTHROUGH;
 1526         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 1527         CYTHON_FALLTHROUGH;
 1528         case  0: break;
 1529         default: goto __pyx_L5_argtuple_error;
 1530       }
 1531       kw_args = PyDict_Size(__pyx_kwds);
 1532       switch (pos_args) {
 1533         case  0:
 1534         if (kw_args > 0) {
 1535           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_auto_abort);
 1536           if (value) { values[0] = value; kw_args--; }
 1537         }
 1538         CYTHON_FALLTHROUGH;
 1539         case  1:
 1540         if (kw_args > 0) {
 1541           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iconv);
 1542           if (value) { values[1] = value; kw_args--; }
 1543         }
 1544         CYTHON_FALLTHROUGH;
 1545         case  2:
 1546         if (kw_args > 0) {
 1547           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_strict);
 1548           if (value) { values[2] = value; kw_args--; }
 1549         }
 1550       }
 1551       if (unlikely(kw_args > 0)) {
 1552         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 525, __pyx_L3_error)
 1553       }
 1554     } else {
 1555       switch (PyTuple_GET_SIZE(__pyx_args)) {
 1556         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
 1557         CYTHON_FALLTHROUGH;
 1558         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 1559         CYTHON_FALLTHROUGH;
 1560         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 1561         CYTHON_FALLTHROUGH;
 1562         case  0: break;
 1563         default: goto __pyx_L5_argtuple_error;
 1564       }
 1565     }
 1566     __pyx_v_auto_abort = values[0];
 1567     __pyx_v_iconv = values[1];
 1568     __pyx_v_strict = values[2];
 1569   }
 1570   goto __pyx_L4_argument_unpacking_done;
 1571   __pyx_L5_argtuple_error:;
 1572   __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 525, __pyx_L3_error)
 1573   __pyx_L3_error:;
 1574   __Pyx_AddTraceback("Recode.Outer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 1575   __Pyx_RefNannyFinishContext();
 1576   return -1;
 1577   __pyx_L4_argument_unpacking_done:;
 1578   __pyx_r = __pyx_pf_6Recode_5Outer___init__(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self), __pyx_v_auto_abort, __pyx_v_iconv, __pyx_v_strict);
 1579 
 1580   /* function exit code */
 1581   __Pyx_RefNannyFinishContext();
 1582   return __pyx_r;
 1583 }
 1584 
 1585 static int __pyx_pf_6Recode_5Outer___init__(struct __pyx_obj_6Recode_Outer *__pyx_v_self, PyObject *__pyx_v_auto_abort, PyObject *__pyx_v_iconv, PyObject *__pyx_v_strict) {
 1586   int __pyx_v_flags;
 1587   RECODE_SINGLE __pyx_v_single;
 1588   int __pyx_r;
 1589   __Pyx_RefNannyDeclarations
 1590   int __pyx_t_1;
 1591   int __pyx_t_2;
 1592   struct recode_single *__pyx_t_3;
 1593   __Pyx_RefNannySetupContext("__init__", 0);
 1594 
 1595   /* "Recode.pyx":528
 1596  *         cdef int flags
 1597  *         cdef RECODE_SINGLE single
 1598  *         flags = 0             # <<<<<<<<<<<<<<
 1599  *         if auto_abort:
 1600  *             flags = flags | RECODE_AUTO_ABORT_FLAG
 1601  */
 1602   __pyx_v_flags = 0;
 1603 
 1604   /* "Recode.pyx":529
 1605  *         cdef RECODE_SINGLE single
 1606  *         flags = 0
 1607  *         if auto_abort:             # <<<<<<<<<<<<<<
 1608  *             flags = flags | RECODE_AUTO_ABORT_FLAG
 1609  *         if not iconv:
 1610  */
 1611   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_auto_abort); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 529, __pyx_L1_error)
 1612   if (__pyx_t_1) {
 1613 
 1614     /* "Recode.pyx":530
 1615  *         flags = 0
 1616  *         if auto_abort:
 1617  *             flags = flags | RECODE_AUTO_ABORT_FLAG             # <<<<<<<<<<<<<<
 1618  *         if not iconv:
 1619  *             flags = flags | RECODE_NO_ICONV_FLAG
 1620  */
 1621     __pyx_v_flags = (__pyx_v_flags | RECODE_AUTO_ABORT_FLAG);
 1622 
 1623     /* "Recode.pyx":529
 1624  *         cdef RECODE_SINGLE single
 1625  *         flags = 0
 1626  *         if auto_abort:             # <<<<<<<<<<<<<<
 1627  *             flags = flags | RECODE_AUTO_ABORT_FLAG
 1628  *         if not iconv:
 1629  */
 1630   }
 1631 
 1632   /* "Recode.pyx":531
 1633  *         if auto_abort:
 1634  *             flags = flags | RECODE_AUTO_ABORT_FLAG
 1635  *         if not iconv:             # <<<<<<<<<<<<<<
 1636  *             flags = flags | RECODE_NO_ICONV_FLAG
 1637  *         if strict:
 1638  */
 1639   __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_iconv); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(1, 531, __pyx_L1_error)
 1640   __pyx_t_2 = ((!__pyx_t_1) != 0);
 1641   if (__pyx_t_2) {
 1642 
 1643     /* "Recode.pyx":532
 1644  *             flags = flags | RECODE_AUTO_ABORT_FLAG
 1645  *         if not iconv:
 1646  *             flags = flags | RECODE_NO_ICONV_FLAG             # <<<<<<<<<<<<<<
 1647  *         if strict:
 1648  *             flags = flags | RECODE_STRICT_MAPPING_FLAG
 1649  */
 1650     __pyx_v_flags = (__pyx_v_flags | RECODE_NO_ICONV_FLAG);
 1651 
 1652     /* "Recode.pyx":531
 1653  *         if auto_abort:
 1654  *             flags = flags | RECODE_AUTO_ABORT_FLAG
 1655  *         if not iconv:             # <<<<<<<<<<<<<<
 1656  *             flags = flags | RECODE_NO_ICONV_FLAG
 1657  *         if strict:
 1658  */
 1659   }
 1660 
 1661   /* "Recode.pyx":533
 1662  *         if not iconv:
 1663  *             flags = flags | RECODE_NO_ICONV_FLAG
 1664  *         if strict:             # <<<<<<<<<<<<<<
 1665  *             flags = flags | RECODE_STRICT_MAPPING_FLAG
 1666  *         self.outer = recode_new_outer(flags)
 1667  */
 1668   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 533, __pyx_L1_error)
 1669   if (__pyx_t_2) {
 1670 
 1671     /* "Recode.pyx":534
 1672  *             flags = flags | RECODE_NO_ICONV_FLAG
 1673  *         if strict:
 1674  *             flags = flags | RECODE_STRICT_MAPPING_FLAG             # <<<<<<<<<<<<<<
 1675  *         self.outer = recode_new_outer(flags)
 1676  *         if strict:
 1677  */
 1678     __pyx_v_flags = (__pyx_v_flags | RECODE_STRICT_MAPPING_FLAG);
 1679 
 1680     /* "Recode.pyx":533
 1681  *         if not iconv:
 1682  *             flags = flags | RECODE_NO_ICONV_FLAG
 1683  *         if strict:             # <<<<<<<<<<<<<<
 1684  *             flags = flags | RECODE_STRICT_MAPPING_FLAG
 1685  *         self.outer = recode_new_outer(flags)
 1686  */
 1687   }
 1688 
 1689   /* "Recode.pyx":535
 1690  *         if strict:
 1691  *             flags = flags | RECODE_STRICT_MAPPING_FLAG
 1692  *         self.outer = recode_new_outer(flags)             # <<<<<<<<<<<<<<
 1693  *         if strict:
 1694  *             single = self.outer.single_list
 1695  */
 1696   __pyx_v_self->outer = recode_new_outer(__pyx_v_flags);
 1697 
 1698   /* "Recode.pyx":536
 1699  *             flags = flags | RECODE_STRICT_MAPPING_FLAG
 1700  *         self.outer = recode_new_outer(flags)
 1701  *         if strict:             # <<<<<<<<<<<<<<
 1702  *             single = self.outer.single_list
 1703  *             while single is not NULL:
 1704  */
 1705   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_strict); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(1, 536, __pyx_L1_error)
 1706   if (__pyx_t_2) {
 1707 
 1708     /* "Recode.pyx":537
 1709  *         self.outer = recode_new_outer(flags)
 1710  *         if strict:
 1711  *             single = self.outer.single_list             # <<<<<<<<<<<<<<
 1712  *             while single is not NULL:
 1713  *                 single.fallback_routine = NULL
 1714  */
 1715     __pyx_t_3 = __pyx_v_self->outer->single_list;
 1716     __pyx_v_single = __pyx_t_3;
 1717 
 1718     /* "Recode.pyx":538
 1719  *         if strict:
 1720  *             single = self.outer.single_list
 1721  *             while single is not NULL:             # <<<<<<<<<<<<<<
 1722  *                 single.fallback_routine = NULL
 1723  *                 single = single.next
 1724  */
 1725     while (1) {
 1726       __pyx_t_2 = ((__pyx_v_single != NULL) != 0);
 1727       if (!__pyx_t_2) break;
 1728 
 1729       /* "Recode.pyx":539
 1730  *             single = self.outer.single_list
 1731  *             while single is not NULL:
 1732  *                 single.fallback_routine = NULL             # <<<<<<<<<<<<<<
 1733  *                 single = single.next
 1734  * 
 1735  */
 1736       __pyx_v_single->fallback_routine = NULL;
 1737 
 1738       /* "Recode.pyx":540
 1739  *             while single is not NULL:
 1740  *                 single.fallback_routine = NULL
 1741  *                 single = single.next             # <<<<<<<<<<<<<<
 1742  * 
 1743  *     def __dealloc__(self):
 1744  */
 1745       __pyx_t_3 = __pyx_v_single->next;
 1746       __pyx_v_single = __pyx_t_3;
 1747     }
 1748 
 1749     /* "Recode.pyx":536
 1750  *             flags = flags | RECODE_STRICT_MAPPING_FLAG
 1751  *         self.outer = recode_new_outer(flags)
 1752  *         if strict:             # <<<<<<<<<<<<<<
 1753  *             single = self.outer.single_list
 1754  *             while single is not NULL:
 1755  */
 1756   }
 1757 
 1758   /* "Recode.pyx":525
 1759  *     cdef RECODE_OUTER outer
 1760  * 
 1761  *     def __init__(self, auto_abort=False, iconv=False, strict=False):             # <<<<<<<<<<<<<<
 1762  *         cdef int flags
 1763  *         cdef RECODE_SINGLE single
 1764  */
 1765 
 1766   /* function exit code */
 1767   __pyx_r = 0;
 1768   goto __pyx_L0;
 1769   __pyx_L1_error:;
 1770   __Pyx_AddTraceback("Recode.Outer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 1771   __pyx_r = -1;
 1772   __pyx_L0:;
 1773   __Pyx_RefNannyFinishContext();
 1774   return __pyx_r;
 1775 }
 1776 
 1777 /* "Recode.pyx":542
 1778  *                 single = single.next
 1779  * 
 1780  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 1781  *         recode_delete_outer(self.outer)
 1782  * 
 1783  */
 1784 
 1785 /* Python wrapper */
 1786 static void __pyx_pw_6Recode_5Outer_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
 1787 static void __pyx_pw_6Recode_5Outer_3__dealloc__(PyObject *__pyx_v_self) {
 1788   __Pyx_RefNannyDeclarations
 1789   __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
 1790   __pyx_pf_6Recode_5Outer_2__dealloc__(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self));
 1791 
 1792   /* function exit code */
 1793   __Pyx_RefNannyFinishContext();
 1794 }
 1795 
 1796 static void __pyx_pf_6Recode_5Outer_2__dealloc__(struct __pyx_obj_6Recode_Outer *__pyx_v_self) {
 1797   __Pyx_RefNannyDeclarations
 1798   __Pyx_RefNannySetupContext("__dealloc__", 0);
 1799 
 1800   /* "Recode.pyx":543
 1801  * 
 1802  *     def __dealloc__(self):
 1803  *         recode_delete_outer(self.outer)             # <<<<<<<<<<<<<<
 1804  * 
 1805  *     def default_charset(self):
 1806  */
 1807   (void)(recode_delete_outer(__pyx_v_self->outer));
 1808 
 1809   /* "Recode.pyx":542
 1810  *                 single = single.next
 1811  * 
 1812  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 1813  *         recode_delete_outer(self.outer)
 1814  * 
 1815  */
 1816 
 1817   /* function exit code */
 1818   __Pyx_RefNannyFinishContext();
 1819 }
 1820 
 1821 /* "Recode.pyx":545
 1822  *         recode_delete_outer(self.outer)
 1823  * 
 1824  *     def default_charset(self):             # <<<<<<<<<<<<<<
 1825  *         return locale_charset()
 1826  * 
 1827  */
 1828 
 1829 /* Python wrapper */
 1830 static PyObject *__pyx_pw_6Recode_5Outer_5default_charset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 1831 static PyObject *__pyx_pw_6Recode_5Outer_5default_charset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 1832   PyObject *__pyx_r = 0;
 1833   __Pyx_RefNannyDeclarations
 1834   __Pyx_RefNannySetupContext("default_charset (wrapper)", 0);
 1835   __pyx_r = __pyx_pf_6Recode_5Outer_4default_charset(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self));
 1836 
 1837   /* function exit code */
 1838   __Pyx_RefNannyFinishContext();
 1839   return __pyx_r;
 1840 }
 1841 
 1842 static PyObject *__pyx_pf_6Recode_5Outer_4default_charset(CYTHON_UNUSED struct __pyx_obj_6Recode_Outer *__pyx_v_self) {
 1843   PyObject *__pyx_r = NULL;
 1844   __Pyx_RefNannyDeclarations
 1845   PyObject *__pyx_t_1 = NULL;
 1846   __Pyx_RefNannySetupContext("default_charset", 0);
 1847 
 1848   /* "Recode.pyx":546
 1849  * 
 1850  *     def default_charset(self):
 1851  *         return locale_charset()             # <<<<<<<<<<<<<<
 1852  * 
 1853  *     def all_charsets(self):
 1854  */
 1855   __Pyx_XDECREF(__pyx_r);
 1856   __pyx_t_1 = __Pyx_PyBytes_FromString(locale_charset()); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 546, __pyx_L1_error)
 1857   __Pyx_GOTREF(__pyx_t_1);
 1858   __pyx_r = __pyx_t_1;
 1859   __pyx_t_1 = 0;
 1860   goto __pyx_L0;
 1861 
 1862   /* "Recode.pyx":545
 1863  *         recode_delete_outer(self.outer)
 1864  * 
 1865  *     def default_charset(self):             # <<<<<<<<<<<<<<
 1866  *         return locale_charset()
 1867  * 
 1868  */
 1869 
 1870   /* function exit code */
 1871   __pyx_L1_error:;
 1872   __Pyx_XDECREF(__pyx_t_1);
 1873   __Pyx_AddTraceback("Recode.Outer.default_charset", __pyx_clineno, __pyx_lineno, __pyx_filename);
 1874   __pyx_r = NULL;
 1875   __pyx_L0:;
 1876   __Pyx_XGIVEREF(__pyx_r);
 1877   __Pyx_RefNannyFinishContext();
 1878   return __pyx_r;
 1879 }
 1880 
 1881 /* "Recode.pyx":548
 1882  *         return locale_charset()
 1883  * 
 1884  *     def all_charsets(self):             # <<<<<<<<<<<<<<
 1885  *         list = []
 1886  *         cdef RECODE_SYMBOL symbol
 1887  */
 1888 
 1889 /* Python wrapper */
 1890 static PyObject *__pyx_pw_6Recode_5Outer_7all_charsets(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 1891 static PyObject *__pyx_pw_6Recode_5Outer_7all_charsets(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 1892   PyObject *__pyx_r = 0;
 1893   __Pyx_RefNannyDeclarations
 1894   __Pyx_RefNannySetupContext("all_charsets (wrapper)", 0);
 1895   __pyx_r = __pyx_pf_6Recode_5Outer_6all_charsets(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self));
 1896 
 1897   /* function exit code */
 1898   __Pyx_RefNannyFinishContext();
 1899   return __pyx_r;
 1900 }
 1901 
 1902 static PyObject *__pyx_pf_6Recode_5Outer_6all_charsets(struct __pyx_obj_6Recode_Outer *__pyx_v_self) {
 1903   PyObject *__pyx_v_list = NULL;
 1904   RECODE_SYMBOL __pyx_v_symbol;
 1905   PyObject *__pyx_r = NULL;
 1906   __Pyx_RefNannyDeclarations
 1907   PyObject *__pyx_t_1 = NULL;
 1908   RECODE_SYMBOL __pyx_t_2;
 1909   int __pyx_t_3;
 1910   int __pyx_t_4;
 1911   int __pyx_t_5;
 1912   struct recode_symbol *__pyx_t_6;
 1913   __Pyx_RefNannySetupContext("all_charsets", 0);
 1914 
 1915   /* "Recode.pyx":549
 1916  * 
 1917  *     def all_charsets(self):
 1918  *         list = []             # <<<<<<<<<<<<<<
 1919  *         cdef RECODE_SYMBOL symbol
 1920  *         symbol = self.outer.symbol_list
 1921  */
 1922   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 549, __pyx_L1_error)
 1923   __Pyx_GOTREF(__pyx_t_1);
 1924   __pyx_v_list = ((PyObject*)__pyx_t_1);
 1925   __pyx_t_1 = 0;
 1926 
 1927   /* "Recode.pyx":551
 1928  *         list = []
 1929  *         cdef RECODE_SYMBOL symbol
 1930  *         symbol = self.outer.symbol_list             # <<<<<<<<<<<<<<
 1931  *         while symbol is not NULL:
 1932  *             if (symbol.type == RECODE_CHARSET
 1933  */
 1934   __pyx_t_2 = __pyx_v_self->outer->symbol_list;
 1935   __pyx_v_symbol = __pyx_t_2;
 1936 
 1937   /* "Recode.pyx":552
 1938  *         cdef RECODE_SYMBOL symbol
 1939  *         symbol = self.outer.symbol_list
 1940  *         while symbol is not NULL:             # <<<<<<<<<<<<<<
 1941  *             if (symbol.type == RECODE_CHARSET
 1942  *                     and symbol is not self.outer.iconv_pivot
 1943  */
 1944   while (1) {
 1945     __pyx_t_3 = ((__pyx_v_symbol != NULL) != 0);
 1946     if (!__pyx_t_3) break;
 1947 
 1948     /* "Recode.pyx":553
 1949  *         symbol = self.outer.symbol_list
 1950  *         while symbol is not NULL:
 1951  *             if (symbol.type == RECODE_CHARSET             # <<<<<<<<<<<<<<
 1952  *                     and symbol is not self.outer.iconv_pivot
 1953  *                     and symbol is not self.outer.data_symbol):
 1954  */
 1955     __pyx_t_4 = ((__pyx_v_symbol->type == RECODE_CHARSET) != 0);
 1956     if (__pyx_t_4) {
 1957     } else {
 1958       __pyx_t_3 = __pyx_t_4;
 1959       goto __pyx_L6_bool_binop_done;
 1960     }
 1961 
 1962     /* "Recode.pyx":554
 1963  *         while symbol is not NULL:
 1964  *             if (symbol.type == RECODE_CHARSET
 1965  *                     and symbol is not self.outer.iconv_pivot             # <<<<<<<<<<<<<<
 1966  *                     and symbol is not self.outer.data_symbol):
 1967  *                 list.append(symbol.name)
 1968  */
 1969     __pyx_t_4 = ((__pyx_v_symbol != __pyx_v_self->outer->iconv_pivot) != 0);
 1970     if (__pyx_t_4) {
 1971     } else {
 1972       __pyx_t_3 = __pyx_t_4;
 1973       goto __pyx_L6_bool_binop_done;
 1974     }
 1975 
 1976     /* "Recode.pyx":555
 1977  *             if (symbol.type == RECODE_CHARSET
 1978  *                     and symbol is not self.outer.iconv_pivot
 1979  *                     and symbol is not self.outer.data_symbol):             # <<<<<<<<<<<<<<
 1980  *                 list.append(symbol.name)
 1981  *             symbol = symbol.next
 1982  */
 1983     __pyx_t_4 = ((__pyx_v_symbol != __pyx_v_self->outer->data_symbol) != 0);
 1984     __pyx_t_3 = __pyx_t_4;
 1985     __pyx_L6_bool_binop_done:;
 1986 
 1987     /* "Recode.pyx":553
 1988  *         symbol = self.outer.symbol_list
 1989  *         while symbol is not NULL:
 1990  *             if (symbol.type == RECODE_CHARSET             # <<<<<<<<<<<<<<
 1991  *                     and symbol is not self.outer.iconv_pivot
 1992  *                     and symbol is not self.outer.data_symbol):
 1993  */
 1994     if (__pyx_t_3) {
 1995 
 1996       /* "Recode.pyx":556
 1997  *                     and symbol is not self.outer.iconv_pivot
 1998  *                     and symbol is not self.outer.data_symbol):
 1999  *                 list.append(symbol.name)             # <<<<<<<<<<<<<<
 2000  *             symbol = symbol.next
 2001  *         return list
 2002  */
 2003       __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_symbol->name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 556, __pyx_L1_error)
 2004       __Pyx_GOTREF(__pyx_t_1);
 2005       __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_list, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 556, __pyx_L1_error)
 2006       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 2007 
 2008       /* "Recode.pyx":553
 2009  *         symbol = self.outer.symbol_list
 2010  *         while symbol is not NULL:
 2011  *             if (symbol.type == RECODE_CHARSET             # <<<<<<<<<<<<<<
 2012  *                     and symbol is not self.outer.iconv_pivot
 2013  *                     and symbol is not self.outer.data_symbol):
 2014  */
 2015     }
 2016 
 2017     /* "Recode.pyx":557
 2018  *                     and symbol is not self.outer.data_symbol):
 2019  *                 list.append(symbol.name)
 2020  *             symbol = symbol.next             # <<<<<<<<<<<<<<
 2021  *         return list
 2022  * 
 2023  */
 2024     __pyx_t_6 = __pyx_v_symbol->next;
 2025     __pyx_v_symbol = __pyx_t_6;
 2026   }
 2027 
 2028   /* "Recode.pyx":558
 2029  *                 list.append(symbol.name)
 2030  *             symbol = symbol.next
 2031  *         return list             # <<<<<<<<<<<<<<
 2032  * 
 2033  *     def all_surfaces(self):
 2034  */
 2035   __Pyx_XDECREF(__pyx_r);
 2036   __Pyx_INCREF(__pyx_v_list);
 2037   __pyx_r = __pyx_v_list;
 2038   goto __pyx_L0;
 2039 
 2040   /* "Recode.pyx":548
 2041  *         return locale_charset()
 2042  * 
 2043  *     def all_charsets(self):             # <<<<<<<<<<<<<<
 2044  *         list = []
 2045  *         cdef RECODE_SYMBOL symbol
 2046  */
 2047 
 2048   /* function exit code */
 2049   __pyx_L1_error:;
 2050   __Pyx_XDECREF(__pyx_t_1);
 2051   __Pyx_AddTraceback("Recode.Outer.all_charsets", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2052   __pyx_r = NULL;
 2053   __pyx_L0:;
 2054   __Pyx_XDECREF(__pyx_v_list);
 2055   __Pyx_XGIVEREF(__pyx_r);
 2056   __Pyx_RefNannyFinishContext();
 2057   return __pyx_r;
 2058 }
 2059 
 2060 /* "Recode.pyx":560
 2061  *         return list
 2062  * 
 2063  *     def all_surfaces(self):             # <<<<<<<<<<<<<<
 2064  *         list = []
 2065  *         cdef RECODE_SYMBOL symbol
 2066  */
 2067 
 2068 /* Python wrapper */
 2069 static PyObject *__pyx_pw_6Recode_5Outer_9all_surfaces(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 2070 static PyObject *__pyx_pw_6Recode_5Outer_9all_surfaces(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 2071   PyObject *__pyx_r = 0;
 2072   __Pyx_RefNannyDeclarations
 2073   __Pyx_RefNannySetupContext("all_surfaces (wrapper)", 0);
 2074   __pyx_r = __pyx_pf_6Recode_5Outer_8all_surfaces(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self));
 2075 
 2076   /* function exit code */
 2077   __Pyx_RefNannyFinishContext();
 2078   return __pyx_r;
 2079 }
 2080 
 2081 static PyObject *__pyx_pf_6Recode_5Outer_8all_surfaces(struct __pyx_obj_6Recode_Outer *__pyx_v_self) {
 2082   PyObject *__pyx_v_list = NULL;
 2083   RECODE_SYMBOL __pyx_v_symbol;
 2084   PyObject *__pyx_r = NULL;
 2085   __Pyx_RefNannyDeclarations
 2086   PyObject *__pyx_t_1 = NULL;
 2087   RECODE_SYMBOL __pyx_t_2;
 2088   int __pyx_t_3;
 2089   int __pyx_t_4;
 2090   struct recode_symbol *__pyx_t_5;
 2091   __Pyx_RefNannySetupContext("all_surfaces", 0);
 2092 
 2093   /* "Recode.pyx":561
 2094  * 
 2095  *     def all_surfaces(self):
 2096  *         list = []             # <<<<<<<<<<<<<<
 2097  *         cdef RECODE_SYMBOL symbol
 2098  *         symbol = self.outer.symbol_list
 2099  */
 2100   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 561, __pyx_L1_error)
 2101   __Pyx_GOTREF(__pyx_t_1);
 2102   __pyx_v_list = ((PyObject*)__pyx_t_1);
 2103   __pyx_t_1 = 0;
 2104 
 2105   /* "Recode.pyx":563
 2106  *         list = []
 2107  *         cdef RECODE_SYMBOL symbol
 2108  *         symbol = self.outer.symbol_list             # <<<<<<<<<<<<<<
 2109  *         while symbol is not NULL:
 2110  *             if symbol.type != RECODE_CHARSET:
 2111  */
 2112   __pyx_t_2 = __pyx_v_self->outer->symbol_list;
 2113   __pyx_v_symbol = __pyx_t_2;
 2114 
 2115   /* "Recode.pyx":564
 2116  *         cdef RECODE_SYMBOL symbol
 2117  *         symbol = self.outer.symbol_list
 2118  *         while symbol is not NULL:             # <<<<<<<<<<<<<<
 2119  *             if symbol.type != RECODE_CHARSET:
 2120  *                 list.append(symbol.name)
 2121  */
 2122   while (1) {
 2123     __pyx_t_3 = ((__pyx_v_symbol != NULL) != 0);
 2124     if (!__pyx_t_3) break;
 2125 
 2126     /* "Recode.pyx":565
 2127  *         symbol = self.outer.symbol_list
 2128  *         while symbol is not NULL:
 2129  *             if symbol.type != RECODE_CHARSET:             # <<<<<<<<<<<<<<
 2130  *                 list.append(symbol.name)
 2131  *             symbol = symbol.next
 2132  */
 2133     __pyx_t_3 = ((__pyx_v_symbol->type != RECODE_CHARSET) != 0);
 2134     if (__pyx_t_3) {
 2135 
 2136       /* "Recode.pyx":566
 2137  *         while symbol is not NULL:
 2138  *             if symbol.type != RECODE_CHARSET:
 2139  *                 list.append(symbol.name)             # <<<<<<<<<<<<<<
 2140  *             symbol = symbol.next
 2141  *         return list
 2142  */
 2143       __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_symbol->name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 566, __pyx_L1_error)
 2144       __Pyx_GOTREF(__pyx_t_1);
 2145       __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_list, __pyx_t_1); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 566, __pyx_L1_error)
 2146       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 2147 
 2148       /* "Recode.pyx":565
 2149  *         symbol = self.outer.symbol_list
 2150  *         while symbol is not NULL:
 2151  *             if symbol.type != RECODE_CHARSET:             # <<<<<<<<<<<<<<
 2152  *                 list.append(symbol.name)
 2153  *             symbol = symbol.next
 2154  */
 2155     }
 2156 
 2157     /* "Recode.pyx":567
 2158  *             if symbol.type != RECODE_CHARSET:
 2159  *                 list.append(symbol.name)
 2160  *             symbol = symbol.next             # <<<<<<<<<<<<<<
 2161  *         return list
 2162  * 
 2163  */
 2164     __pyx_t_5 = __pyx_v_symbol->next;
 2165     __pyx_v_symbol = __pyx_t_5;
 2166   }
 2167 
 2168   /* "Recode.pyx":568
 2169  *                 list.append(symbol.name)
 2170  *             symbol = symbol.next
 2171  *         return list             # <<<<<<<<<<<<<<
 2172  * 
 2173  *     def concise_charset(self, format=NO_FORMAT):
 2174  */
 2175   __Pyx_XDECREF(__pyx_r);
 2176   __Pyx_INCREF(__pyx_v_list);
 2177   __pyx_r = __pyx_v_list;
 2178   goto __pyx_L0;
 2179 
 2180   /* "Recode.pyx":560
 2181  *         return list
 2182  * 
 2183  *     def all_surfaces(self):             # <<<<<<<<<<<<<<
 2184  *         list = []
 2185  *         cdef RECODE_SYMBOL symbol
 2186  */
 2187 
 2188   /* function exit code */
 2189   __pyx_L1_error:;
 2190   __Pyx_XDECREF(__pyx_t_1);
 2191   __Pyx_AddTraceback("Recode.Outer.all_surfaces", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2192   __pyx_r = NULL;
 2193   __pyx_L0:;
 2194   __Pyx_XDECREF(__pyx_v_list);
 2195   __Pyx_XGIVEREF(__pyx_r);
 2196   __Pyx_RefNannyFinishContext();
 2197   return __pyx_r;
 2198 }
 2199 
 2200 /* "Recode.pyx":570
 2201  *         return list
 2202  * 
 2203  *     def concise_charset(self, format=NO_FORMAT):             # <<<<<<<<<<<<<<
 2204  *         ok = list_concise_charset(self.outer, NULL, format)
 2205  *         if not ok:
 2206  */
 2207 
 2208 /* Python wrapper */
 2209 static PyObject *__pyx_pw_6Recode_5Outer_11concise_charset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 2210 static PyObject *__pyx_pw_6Recode_5Outer_11concise_charset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 2211   PyObject *__pyx_v_format = 0;
 2212   PyObject *__pyx_r = 0;
 2213   __Pyx_RefNannyDeclarations
 2214   __Pyx_RefNannySetupContext("concise_charset (wrapper)", 0);
 2215   {
 2216     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_format,0};
 2217     PyObject* values[1] = {0};
 2218     values[0] = __pyx_k_;
 2219     if (unlikely(__pyx_kwds)) {
 2220       Py_ssize_t kw_args;
 2221       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
 2222       switch (pos_args) {
 2223         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 2224         CYTHON_FALLTHROUGH;
 2225         case  0: break;
 2226         default: goto __pyx_L5_argtuple_error;
 2227       }
 2228       kw_args = PyDict_Size(__pyx_kwds);
 2229       switch (pos_args) {
 2230         case  0:
 2231         if (kw_args > 0) {
 2232           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_format);
 2233           if (value) { values[0] = value; kw_args--; }
 2234         }
 2235       }
 2236       if (unlikely(kw_args > 0)) {
 2237         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "concise_charset") < 0)) __PYX_ERR(1, 570, __pyx_L3_error)
 2238       }
 2239     } else {
 2240       switch (PyTuple_GET_SIZE(__pyx_args)) {
 2241         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 2242         CYTHON_FALLTHROUGH;
 2243         case  0: break;
 2244         default: goto __pyx_L5_argtuple_error;
 2245       }
 2246     }
 2247     __pyx_v_format = values[0];
 2248   }
 2249   goto __pyx_L4_argument_unpacking_done;
 2250   __pyx_L5_argtuple_error:;
 2251   __Pyx_RaiseArgtupleInvalid("concise_charset", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 570, __pyx_L3_error)
 2252   __pyx_L3_error:;
 2253   __Pyx_AddTraceback("Recode.Outer.concise_charset", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2254   __Pyx_RefNannyFinishContext();
 2255   return NULL;
 2256   __pyx_L4_argument_unpacking_done:;
 2257   __pyx_r = __pyx_pf_6Recode_5Outer_10concise_charset(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self), __pyx_v_format);
 2258 
 2259   /* function exit code */
 2260   __Pyx_RefNannyFinishContext();
 2261   return __pyx_r;
 2262 }
 2263 
 2264 static PyObject *__pyx_pf_6Recode_5Outer_10concise_charset(struct __pyx_obj_6Recode_Outer *__pyx_v_self, PyObject *__pyx_v_format) {
 2265   bool __pyx_v_ok;
 2266   PyObject *__pyx_r = NULL;
 2267   __Pyx_RefNannyDeclarations
 2268   enum recode_list_format __pyx_t_1;
 2269   int __pyx_t_2;
 2270   PyObject *__pyx_t_3 = NULL;
 2271   __Pyx_RefNannySetupContext("concise_charset", 0);
 2272 
 2273   /* "Recode.pyx":571
 2274  * 
 2275  *     def concise_charset(self, format=NO_FORMAT):
 2276  *         ok = list_concise_charset(self.outer, NULL, format)             # <<<<<<<<<<<<<<
 2277  *         if not ok:
 2278  *             raise error
 2279  */
 2280   __pyx_t_1 = ((enum recode_list_format)__Pyx_PyInt_As_enum__recode_list_format(__pyx_v_format)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 571, __pyx_L1_error)
 2281   __pyx_v_ok = list_concise_charset(__pyx_v_self->outer, NULL, __pyx_t_1);
 2282 
 2283   /* "Recode.pyx":572
 2284  *     def concise_charset(self, format=NO_FORMAT):
 2285  *         ok = list_concise_charset(self.outer, NULL, format)
 2286  *         if not ok:             # <<<<<<<<<<<<<<
 2287  *             raise error
 2288  * 
 2289  */
 2290   __pyx_t_2 = ((!(__pyx_v_ok != 0)) != 0);
 2291   if (unlikely(__pyx_t_2)) {
 2292 
 2293     /* "Recode.pyx":573
 2294  *         ok = list_concise_charset(self.outer, NULL, format)
 2295  *         if not ok:
 2296  *             raise error             # <<<<<<<<<<<<<<
 2297  * 
 2298  *     def full_charset(self):
 2299  */
 2300     __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 573, __pyx_L1_error)
 2301     __Pyx_GOTREF(__pyx_t_3);
 2302     __Pyx_Raise(__pyx_t_3, 0, 0, 0);
 2303     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 2304     __PYX_ERR(1, 573, __pyx_L1_error)
 2305 
 2306     /* "Recode.pyx":572
 2307  *     def concise_charset(self, format=NO_FORMAT):
 2308  *         ok = list_concise_charset(self.outer, NULL, format)
 2309  *         if not ok:             # <<<<<<<<<<<<<<
 2310  *             raise error
 2311  * 
 2312  */
 2313   }
 2314 
 2315   /* "Recode.pyx":570
 2316  *         return list
 2317  * 
 2318  *     def concise_charset(self, format=NO_FORMAT):             # <<<<<<<<<<<<<<
 2319  *         ok = list_concise_charset(self.outer, NULL, format)
 2320  *         if not ok:
 2321  */
 2322 
 2323   /* function exit code */
 2324   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 2325   goto __pyx_L0;
 2326   __pyx_L1_error:;
 2327   __Pyx_XDECREF(__pyx_t_3);
 2328   __Pyx_AddTraceback("Recode.Outer.concise_charset", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2329   __pyx_r = NULL;
 2330   __pyx_L0:;
 2331   __Pyx_XGIVEREF(__pyx_r);
 2332   __Pyx_RefNannyFinishContext();
 2333   return __pyx_r;
 2334 }
 2335 
 2336 /* "Recode.pyx":575
 2337  *             raise error
 2338  * 
 2339  *     def full_charset(self):             # <<<<<<<<<<<<<<
 2340  *         ok = list_full_charset(self.outer, NULL)
 2341  *         if not ok:
 2342  */
 2343 
 2344 /* Python wrapper */
 2345 static PyObject *__pyx_pw_6Recode_5Outer_13full_charset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 2346 static PyObject *__pyx_pw_6Recode_5Outer_13full_charset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 2347   PyObject *__pyx_r = 0;
 2348   __Pyx_RefNannyDeclarations
 2349   __Pyx_RefNannySetupContext("full_charset (wrapper)", 0);
 2350   __pyx_r = __pyx_pf_6Recode_5Outer_12full_charset(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self));
 2351 
 2352   /* function exit code */
 2353   __Pyx_RefNannyFinishContext();
 2354   return __pyx_r;
 2355 }
 2356 
 2357 static PyObject *__pyx_pf_6Recode_5Outer_12full_charset(struct __pyx_obj_6Recode_Outer *__pyx_v_self) {
 2358   bool __pyx_v_ok;
 2359   PyObject *__pyx_r = NULL;
 2360   __Pyx_RefNannyDeclarations
 2361   int __pyx_t_1;
 2362   PyObject *__pyx_t_2 = NULL;
 2363   __Pyx_RefNannySetupContext("full_charset", 0);
 2364 
 2365   /* "Recode.pyx":576
 2366  * 
 2367  *     def full_charset(self):
 2368  *         ok = list_full_charset(self.outer, NULL)             # <<<<<<<<<<<<<<
 2369  *         if not ok:
 2370  *             raise error
 2371  */
 2372   __pyx_v_ok = list_full_charset(__pyx_v_self->outer, NULL);
 2373 
 2374   /* "Recode.pyx":577
 2375  *     def full_charset(self):
 2376  *         ok = list_full_charset(self.outer, NULL)
 2377  *         if not ok:             # <<<<<<<<<<<<<<
 2378  *             raise error
 2379  * 
 2380  */
 2381   __pyx_t_1 = ((!(__pyx_v_ok != 0)) != 0);
 2382   if (unlikely(__pyx_t_1)) {
 2383 
 2384     /* "Recode.pyx":578
 2385  *         ok = list_full_charset(self.outer, NULL)
 2386  *         if not ok:
 2387  *             raise error             # <<<<<<<<<<<<<<
 2388  * 
 2389  *     # Lazy, all in one call.
 2390  */
 2391     __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 578, __pyx_L1_error)
 2392     __Pyx_GOTREF(__pyx_t_2);
 2393     __Pyx_Raise(__pyx_t_2, 0, 0, 0);
 2394     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 2395     __PYX_ERR(1, 578, __pyx_L1_error)
 2396 
 2397     /* "Recode.pyx":577
 2398  *     def full_charset(self):
 2399  *         ok = list_full_charset(self.outer, NULL)
 2400  *         if not ok:             # <<<<<<<<<<<<<<
 2401  *             raise error
 2402  * 
 2403  */
 2404   }
 2405 
 2406   /* "Recode.pyx":575
 2407  *             raise error
 2408  * 
 2409  *     def full_charset(self):             # <<<<<<<<<<<<<<
 2410  *         ok = list_full_charset(self.outer, NULL)
 2411  *         if not ok:
 2412  */
 2413 
 2414   /* function exit code */
 2415   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 2416   goto __pyx_L0;
 2417   __pyx_L1_error:;
 2418   __Pyx_XDECREF(__pyx_t_2);
 2419   __Pyx_AddTraceback("Recode.Outer.full_charset", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2420   __pyx_r = NULL;
 2421   __pyx_L0:;
 2422   __Pyx_XGIVEREF(__pyx_r);
 2423   __Pyx_RefNannyFinishContext();
 2424   return __pyx_r;
 2425 }
 2426 
 2427 /* "Recode.pyx":581
 2428  * 
 2429  *     # Lazy, all in one call.
 2430  *     def recode(self, char *command, char *input, verbose=False):             # <<<<<<<<<<<<<<
 2431  *         request = Request(self)
 2432  *         request.set_verbose(verbose)
 2433  */
 2434 
 2435 /* Python wrapper */
 2436 static PyObject *__pyx_pw_6Recode_5Outer_15recode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 2437 static PyObject *__pyx_pw_6Recode_5Outer_15recode(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 2438   char *__pyx_v_command;
 2439   char *__pyx_v_input;
 2440   PyObject *__pyx_v_verbose = 0;
 2441   PyObject *__pyx_r = 0;
 2442   __Pyx_RefNannyDeclarations
 2443   __Pyx_RefNannySetupContext("recode (wrapper)", 0);
 2444   {
 2445     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_command,&__pyx_n_s_input,&__pyx_n_s_verbose,0};
 2446     PyObject* values[3] = {0,0,0};
 2447     values[2] = ((PyObject *)Py_False);
 2448     if (unlikely(__pyx_kwds)) {
 2449       Py_ssize_t kw_args;
 2450       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
 2451       switch (pos_args) {
 2452         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
 2453         CYTHON_FALLTHROUGH;
 2454         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 2455         CYTHON_FALLTHROUGH;
 2456         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 2457         CYTHON_FALLTHROUGH;
 2458         case  0: break;
 2459         default: goto __pyx_L5_argtuple_error;
 2460       }
 2461       kw_args = PyDict_Size(__pyx_kwds);
 2462       switch (pos_args) {
 2463         case  0:
 2464         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_command)) != 0)) kw_args--;
 2465         else goto __pyx_L5_argtuple_error;
 2466         CYTHON_FALLTHROUGH;
 2467         case  1:
 2468         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_input)) != 0)) kw_args--;
 2469         else {
 2470           __Pyx_RaiseArgtupleInvalid("recode", 0, 2, 3, 1); __PYX_ERR(1, 581, __pyx_L3_error)
 2471         }
 2472         CYTHON_FALLTHROUGH;
 2473         case  2:
 2474         if (kw_args > 0) {
 2475           PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_verbose);
 2476           if (value) { values[2] = value; kw_args--; }
 2477         }
 2478       }
 2479       if (unlikely(kw_args > 0)) {
 2480         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "recode") < 0)) __PYX_ERR(1, 581, __pyx_L3_error)
 2481       }
 2482     } else {
 2483       switch (PyTuple_GET_SIZE(__pyx_args)) {
 2484         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
 2485         CYTHON_FALLTHROUGH;
 2486         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 2487         values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 2488         break;
 2489         default: goto __pyx_L5_argtuple_error;
 2490       }
 2491     }
 2492     __pyx_v_command = __Pyx_PyObject_AsWritableString(values[0]); if (unlikely((!__pyx_v_command) && PyErr_Occurred())) __PYX_ERR(1, 581, __pyx_L3_error)
 2493     __pyx_v_input = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_input) && PyErr_Occurred())) __PYX_ERR(1, 581, __pyx_L3_error)
 2494     __pyx_v_verbose = values[2];
 2495   }
 2496   goto __pyx_L4_argument_unpacking_done;
 2497   __pyx_L5_argtuple_error:;
 2498   __Pyx_RaiseArgtupleInvalid("recode", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 581, __pyx_L3_error)
 2499   __pyx_L3_error:;
 2500   __Pyx_AddTraceback("Recode.Outer.recode", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2501   __Pyx_RefNannyFinishContext();
 2502   return NULL;
 2503   __pyx_L4_argument_unpacking_done:;
 2504   __pyx_r = __pyx_pf_6Recode_5Outer_14recode(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self), __pyx_v_command, __pyx_v_input, __pyx_v_verbose);
 2505 
 2506   /* function exit code */
 2507   __Pyx_RefNannyFinishContext();
 2508   return __pyx_r;
 2509 }
 2510 
 2511 static PyObject *__pyx_pf_6Recode_5Outer_14recode(struct __pyx_obj_6Recode_Outer *__pyx_v_self, char *__pyx_v_command, char *__pyx_v_input, PyObject *__pyx_v_verbose) {
 2512   struct __pyx_obj_6Recode_Request *__pyx_v_request = NULL;
 2513   PyObject *__pyx_r = NULL;
 2514   __Pyx_RefNannyDeclarations
 2515   PyObject *__pyx_t_1 = NULL;
 2516   PyObject *__pyx_t_2 = NULL;
 2517   PyObject *__pyx_t_3 = NULL;
 2518   PyObject *__pyx_t_4 = NULL;
 2519   __Pyx_RefNannySetupContext("recode", 0);
 2520 
 2521   /* "Recode.pyx":582
 2522  *     # Lazy, all in one call.
 2523  *     def recode(self, char *command, char *input, verbose=False):
 2524  *         request = Request(self)             # <<<<<<<<<<<<<<
 2525  *         request.set_verbose(verbose)
 2526  *         request.scan(command)
 2527  */
 2528   __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_6Recode_Request), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 582, __pyx_L1_error)
 2529   __Pyx_GOTREF(__pyx_t_1);
 2530   __pyx_v_request = ((struct __pyx_obj_6Recode_Request *)__pyx_t_1);
 2531   __pyx_t_1 = 0;
 2532 
 2533   /* "Recode.pyx":583
 2534  *     def recode(self, char *command, char *input, verbose=False):
 2535  *         request = Request(self)
 2536  *         request.set_verbose(verbose)             # <<<<<<<<<<<<<<
 2537  *         request.scan(command)
 2538  *         return request.string(input)
 2539  */
 2540   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_request), __pyx_n_s_set_verbose); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 583, __pyx_L1_error)
 2541   __Pyx_GOTREF(__pyx_t_2);
 2542   __pyx_t_3 = NULL;
 2543   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
 2544     __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
 2545     if (likely(__pyx_t_3)) {
 2546       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
 2547       __Pyx_INCREF(__pyx_t_3);
 2548       __Pyx_INCREF(function);
 2549       __Pyx_DECREF_SET(__pyx_t_2, function);
 2550     }
 2551   }
 2552   __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_verbose) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_verbose);
 2553   __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
 2554   if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 583, __pyx_L1_error)
 2555   __Pyx_GOTREF(__pyx_t_1);
 2556   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 2557   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 2558 
 2559   /* "Recode.pyx":584
 2560  *         request = Request(self)
 2561  *         request.set_verbose(verbose)
 2562  *         request.scan(command)             # <<<<<<<<<<<<<<
 2563  *         return request.string(input)
 2564  * 
 2565  */
 2566   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_request), __pyx_n_s_scan); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 584, __pyx_L1_error)
 2567   __Pyx_GOTREF(__pyx_t_2);
 2568   __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_command); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 584, __pyx_L1_error)
 2569   __Pyx_GOTREF(__pyx_t_3);
 2570   __pyx_t_4 = NULL;
 2571   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
 2572     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
 2573     if (likely(__pyx_t_4)) {
 2574       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
 2575       __Pyx_INCREF(__pyx_t_4);
 2576       __Pyx_INCREF(function);
 2577       __Pyx_DECREF_SET(__pyx_t_2, function);
 2578     }
 2579   }
 2580   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
 2581   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
 2582   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 2583   if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 584, __pyx_L1_error)
 2584   __Pyx_GOTREF(__pyx_t_1);
 2585   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 2586   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 2587 
 2588   /* "Recode.pyx":585
 2589  *         request.set_verbose(verbose)
 2590  *         request.scan(command)
 2591  *         return request.string(input)             # <<<<<<<<<<<<<<
 2592  * 
 2593  * # Recode library at REQUEST level.
 2594  */
 2595   __Pyx_XDECREF(__pyx_r);
 2596   __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_request), __pyx_n_s_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 585, __pyx_L1_error)
 2597   __Pyx_GOTREF(__pyx_t_2);
 2598   __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_input); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 585, __pyx_L1_error)
 2599   __Pyx_GOTREF(__pyx_t_3);
 2600   __pyx_t_4 = NULL;
 2601   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
 2602     __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
 2603     if (likely(__pyx_t_4)) {
 2604       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
 2605       __Pyx_INCREF(__pyx_t_4);
 2606       __Pyx_INCREF(function);
 2607       __Pyx_DECREF_SET(__pyx_t_2, function);
 2608     }
 2609   }
 2610   __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
 2611   __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
 2612   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 2613   if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 585, __pyx_L1_error)
 2614   __Pyx_GOTREF(__pyx_t_1);
 2615   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 2616   __pyx_r = __pyx_t_1;
 2617   __pyx_t_1 = 0;
 2618   goto __pyx_L0;
 2619 
 2620   /* "Recode.pyx":581
 2621  * 
 2622  *     # Lazy, all in one call.
 2623  *     def recode(self, char *command, char *input, verbose=False):             # <<<<<<<<<<<<<<
 2624  *         request = Request(self)
 2625  *         request.set_verbose(verbose)
 2626  */
 2627 
 2628   /* function exit code */
 2629   __pyx_L1_error:;
 2630   __Pyx_XDECREF(__pyx_t_1);
 2631   __Pyx_XDECREF(__pyx_t_2);
 2632   __Pyx_XDECREF(__pyx_t_3);
 2633   __Pyx_XDECREF(__pyx_t_4);
 2634   __Pyx_AddTraceback("Recode.Outer.recode", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2635   __pyx_r = NULL;
 2636   __pyx_L0:;
 2637   __Pyx_XDECREF((PyObject *)__pyx_v_request);
 2638   __Pyx_XGIVEREF(__pyx_r);
 2639   __Pyx_RefNannyFinishContext();
 2640   return __pyx_r;
 2641 }
 2642 
 2643 /* "(tree fragment)":1
 2644  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 2645  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2646  * def __setstate_cython__(self, __pyx_state):
 2647  */
 2648 
 2649 /* Python wrapper */
 2650 static PyObject *__pyx_pw_6Recode_5Outer_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 2651 static PyObject *__pyx_pw_6Recode_5Outer_17__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 2652   PyObject *__pyx_r = 0;
 2653   __Pyx_RefNannyDeclarations
 2654   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
 2655   __pyx_r = __pyx_pf_6Recode_5Outer_16__reduce_cython__(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self));
 2656 
 2657   /* function exit code */
 2658   __Pyx_RefNannyFinishContext();
 2659   return __pyx_r;
 2660 }
 2661 
 2662 static PyObject *__pyx_pf_6Recode_5Outer_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Outer *__pyx_v_self) {
 2663   PyObject *__pyx_r = NULL;
 2664   __Pyx_RefNannyDeclarations
 2665   PyObject *__pyx_t_1 = NULL;
 2666   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
 2667 
 2668   /* "(tree fragment)":2
 2669  * def __reduce_cython__(self):
 2670  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 2671  * def __setstate_cython__(self, __pyx_state):
 2672  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2673  */
 2674   __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
 2675   __Pyx_GOTREF(__pyx_t_1);
 2676   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
 2677   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 2678   __PYX_ERR(0, 2, __pyx_L1_error)
 2679 
 2680   /* "(tree fragment)":1
 2681  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 2682  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2683  * def __setstate_cython__(self, __pyx_state):
 2684  */
 2685 
 2686   /* function exit code */
 2687   __pyx_L1_error:;
 2688   __Pyx_XDECREF(__pyx_t_1);
 2689   __Pyx_AddTraceback("Recode.Outer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2690   __pyx_r = NULL;
 2691   __Pyx_XGIVEREF(__pyx_r);
 2692   __Pyx_RefNannyFinishContext();
 2693   return __pyx_r;
 2694 }
 2695 
 2696 /* "(tree fragment)":3
 2697  * def __reduce_cython__(self):
 2698  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2699  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 2700  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2701  */
 2702 
 2703 /* Python wrapper */
 2704 static PyObject *__pyx_pw_6Recode_5Outer_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
 2705 static PyObject *__pyx_pw_6Recode_5Outer_19__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
 2706   PyObject *__pyx_r = 0;
 2707   __Pyx_RefNannyDeclarations
 2708   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
 2709   __pyx_r = __pyx_pf_6Recode_5Outer_18__setstate_cython__(((struct __pyx_obj_6Recode_Outer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
 2710 
 2711   /* function exit code */
 2712   __Pyx_RefNannyFinishContext();
 2713   return __pyx_r;
 2714 }
 2715 
 2716 static PyObject *__pyx_pf_6Recode_5Outer_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Outer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
 2717   PyObject *__pyx_r = NULL;
 2718   __Pyx_RefNannyDeclarations
 2719   PyObject *__pyx_t_1 = NULL;
 2720   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
 2721 
 2722   /* "(tree fragment)":4
 2723  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2724  * def __setstate_cython__(self, __pyx_state):
 2725  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 2726  */
 2727   __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
 2728   __Pyx_GOTREF(__pyx_t_1);
 2729   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
 2730   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 2731   __PYX_ERR(0, 4, __pyx_L1_error)
 2732 
 2733   /* "(tree fragment)":3
 2734  * def __reduce_cython__(self):
 2735  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2736  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 2737  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 2738  */
 2739 
 2740   /* function exit code */
 2741   __pyx_L1_error:;
 2742   __Pyx_XDECREF(__pyx_t_1);
 2743   __Pyx_AddTraceback("Recode.Outer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2744   __pyx_r = NULL;
 2745   __Pyx_XGIVEREF(__pyx_r);
 2746   __Pyx_RefNannyFinishContext();
 2747   return __pyx_r;
 2748 }
 2749 
 2750 /* "Recode.pyx":592
 2751  *     cdef RECODE_REQUEST request
 2752  * 
 2753  *     def __init__(self, Outer outer):             # <<<<<<<<<<<<<<
 2754  *         self.request = recode_new_request(outer.outer)
 2755  * 
 2756  */
 2757 
 2758 /* Python wrapper */
 2759 static int __pyx_pw_6Recode_7Request_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 2760 static int __pyx_pw_6Recode_7Request_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 2761   struct __pyx_obj_6Recode_Outer *__pyx_v_outer = 0;
 2762   int __pyx_r;
 2763   __Pyx_RefNannyDeclarations
 2764   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
 2765   {
 2766     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_outer,0};
 2767     PyObject* values[1] = {0};
 2768     if (unlikely(__pyx_kwds)) {
 2769       Py_ssize_t kw_args;
 2770       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
 2771       switch (pos_args) {
 2772         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 2773         CYTHON_FALLTHROUGH;
 2774         case  0: break;
 2775         default: goto __pyx_L5_argtuple_error;
 2776       }
 2777       kw_args = PyDict_Size(__pyx_kwds);
 2778       switch (pos_args) {
 2779         case  0:
 2780         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_outer)) != 0)) kw_args--;
 2781         else goto __pyx_L5_argtuple_error;
 2782       }
 2783       if (unlikely(kw_args > 0)) {
 2784         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 592, __pyx_L3_error)
 2785       }
 2786     } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
 2787       goto __pyx_L5_argtuple_error;
 2788     } else {
 2789       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 2790     }
 2791     __pyx_v_outer = ((struct __pyx_obj_6Recode_Outer *)values[0]);
 2792   }
 2793   goto __pyx_L4_argument_unpacking_done;
 2794   __pyx_L5_argtuple_error:;
 2795   __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 592, __pyx_L3_error)
 2796   __pyx_L3_error:;
 2797   __Pyx_AddTraceback("Recode.Request.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2798   __Pyx_RefNannyFinishContext();
 2799   return -1;
 2800   __pyx_L4_argument_unpacking_done:;
 2801   if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_outer), __pyx_ptype_6Recode_Outer, 1, "outer", 0))) __PYX_ERR(1, 592, __pyx_L1_error)
 2802   __pyx_r = __pyx_pf_6Recode_7Request___init__(((struct __pyx_obj_6Recode_Request *)__pyx_v_self), __pyx_v_outer);
 2803 
 2804   /* function exit code */
 2805   goto __pyx_L0;
 2806   __pyx_L1_error:;
 2807   __pyx_r = -1;
 2808   __pyx_L0:;
 2809   __Pyx_RefNannyFinishContext();
 2810   return __pyx_r;
 2811 }
 2812 
 2813 static int __pyx_pf_6Recode_7Request___init__(struct __pyx_obj_6Recode_Request *__pyx_v_self, struct __pyx_obj_6Recode_Outer *__pyx_v_outer) {
 2814   int __pyx_r;
 2815   __Pyx_RefNannyDeclarations
 2816   __Pyx_RefNannySetupContext("__init__", 0);
 2817 
 2818   /* "Recode.pyx":593
 2819  * 
 2820  *     def __init__(self, Outer outer):
 2821  *         self.request = recode_new_request(outer.outer)             # <<<<<<<<<<<<<<
 2822  * 
 2823  *     def __dealloc__(self):
 2824  */
 2825   __pyx_v_self->request = recode_new_request(__pyx_v_outer->outer);
 2826 
 2827   /* "Recode.pyx":592
 2828  *     cdef RECODE_REQUEST request
 2829  * 
 2830  *     def __init__(self, Outer outer):             # <<<<<<<<<<<<<<
 2831  *         self.request = recode_new_request(outer.outer)
 2832  * 
 2833  */
 2834 
 2835   /* function exit code */
 2836   __pyx_r = 0;
 2837   __Pyx_RefNannyFinishContext();
 2838   return __pyx_r;
 2839 }
 2840 
 2841 /* "Recode.pyx":595
 2842  *         self.request = recode_new_request(outer.outer)
 2843  * 
 2844  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 2845  *         recode_delete_request(self.request)
 2846  * 
 2847  */
 2848 
 2849 /* Python wrapper */
 2850 static void __pyx_pw_6Recode_7Request_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
 2851 static void __pyx_pw_6Recode_7Request_3__dealloc__(PyObject *__pyx_v_self) {
 2852   __Pyx_RefNannyDeclarations
 2853   __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
 2854   __pyx_pf_6Recode_7Request_2__dealloc__(((struct __pyx_obj_6Recode_Request *)__pyx_v_self));
 2855 
 2856   /* function exit code */
 2857   __Pyx_RefNannyFinishContext();
 2858 }
 2859 
 2860 static void __pyx_pf_6Recode_7Request_2__dealloc__(struct __pyx_obj_6Recode_Request *__pyx_v_self) {
 2861   __Pyx_RefNannyDeclarations
 2862   __Pyx_RefNannySetupContext("__dealloc__", 0);
 2863 
 2864   /* "Recode.pyx":596
 2865  * 
 2866  *     def __dealloc__(self):
 2867  *         recode_delete_request(self.request)             # <<<<<<<<<<<<<<
 2868  * 
 2869  *     def set_verbose(self, flag):
 2870  */
 2871   (void)(recode_delete_request(__pyx_v_self->request));
 2872 
 2873   /* "Recode.pyx":595
 2874  *         self.request = recode_new_request(outer.outer)
 2875  * 
 2876  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 2877  *         recode_delete_request(self.request)
 2878  * 
 2879  */
 2880 
 2881   /* function exit code */
 2882   __Pyx_RefNannyFinishContext();
 2883 }
 2884 
 2885 /* "Recode.pyx":598
 2886  *         recode_delete_request(self.request)
 2887  * 
 2888  *     def set_verbose(self, flag):             # <<<<<<<<<<<<<<
 2889  *         previous = self.request.verbose_flag != 0
 2890  *         self.request.verbose_flag = int(flag)
 2891  */
 2892 
 2893 /* Python wrapper */
 2894 static PyObject *__pyx_pw_6Recode_7Request_5set_verbose(PyObject *__pyx_v_self, PyObject *__pyx_v_flag); /*proto*/
 2895 static PyObject *__pyx_pw_6Recode_7Request_5set_verbose(PyObject *__pyx_v_self, PyObject *__pyx_v_flag) {
 2896   PyObject *__pyx_r = 0;
 2897   __Pyx_RefNannyDeclarations
 2898   __Pyx_RefNannySetupContext("set_verbose (wrapper)", 0);
 2899   __pyx_r = __pyx_pf_6Recode_7Request_4set_verbose(((struct __pyx_obj_6Recode_Request *)__pyx_v_self), ((PyObject *)__pyx_v_flag));
 2900 
 2901   /* function exit code */
 2902   __Pyx_RefNannyFinishContext();
 2903   return __pyx_r;
 2904 }
 2905 
 2906 static PyObject *__pyx_pf_6Recode_7Request_4set_verbose(struct __pyx_obj_6Recode_Request *__pyx_v_self, PyObject *__pyx_v_flag) {
 2907   PyObject *__pyx_v_previous = NULL;
 2908   PyObject *__pyx_r = NULL;
 2909   __Pyx_RefNannyDeclarations
 2910   PyObject *__pyx_t_1 = NULL;
 2911   bool __pyx_t_2;
 2912   __Pyx_RefNannySetupContext("set_verbose", 0);
 2913 
 2914   /* "Recode.pyx":599
 2915  * 
 2916  *     def set_verbose(self, flag):
 2917  *         previous = self.request.verbose_flag != 0             # <<<<<<<<<<<<<<
 2918  *         self.request.verbose_flag = int(flag)
 2919  *         return previous
 2920  */
 2921   __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->request->verbose_flag != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 599, __pyx_L1_error)
 2922   __Pyx_GOTREF(__pyx_t_1);
 2923   __pyx_v_previous = __pyx_t_1;
 2924   __pyx_t_1 = 0;
 2925 
 2926   /* "Recode.pyx":600
 2927  *     def set_verbose(self, flag):
 2928  *         previous = self.request.verbose_flag != 0
 2929  *         self.request.verbose_flag = int(flag)             # <<<<<<<<<<<<<<
 2930  *         return previous
 2931  * 
 2932  */
 2933   __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_flag); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 600, __pyx_L1_error)
 2934   __Pyx_GOTREF(__pyx_t_1);
 2935   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(1, 600, __pyx_L1_error)
 2936   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 2937   __pyx_v_self->request->verbose_flag = __pyx_t_2;
 2938 
 2939   /* "Recode.pyx":601
 2940  *         previous = self.request.verbose_flag != 0
 2941  *         self.request.verbose_flag = int(flag)
 2942  *         return previous             # <<<<<<<<<<<<<<
 2943  * 
 2944  *     def scan(self, char *text):
 2945  */
 2946   __Pyx_XDECREF(__pyx_r);
 2947   __Pyx_INCREF(__pyx_v_previous);
 2948   __pyx_r = __pyx_v_previous;
 2949   goto __pyx_L0;
 2950 
 2951   /* "Recode.pyx":598
 2952  *         recode_delete_request(self.request)
 2953  * 
 2954  *     def set_verbose(self, flag):             # <<<<<<<<<<<<<<
 2955  *         previous = self.request.verbose_flag != 0
 2956  *         self.request.verbose_flag = int(flag)
 2957  */
 2958 
 2959   /* function exit code */
 2960   __pyx_L1_error:;
 2961   __Pyx_XDECREF(__pyx_t_1);
 2962   __Pyx_AddTraceback("Recode.Request.set_verbose", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2963   __pyx_r = NULL;
 2964   __pyx_L0:;
 2965   __Pyx_XDECREF(__pyx_v_previous);
 2966   __Pyx_XGIVEREF(__pyx_r);
 2967   __Pyx_RefNannyFinishContext();
 2968   return __pyx_r;
 2969 }
 2970 
 2971 /* "Recode.pyx":603
 2972  *         return previous
 2973  * 
 2974  *     def scan(self, char *text):             # <<<<<<<<<<<<<<
 2975  *         ok = recode_scan_request(self.request, text)
 2976  *         if not ok:
 2977  */
 2978 
 2979 /* Python wrapper */
 2980 static PyObject *__pyx_pw_6Recode_7Request_7scan(PyObject *__pyx_v_self, PyObject *__pyx_arg_text); /*proto*/
 2981 static PyObject *__pyx_pw_6Recode_7Request_7scan(PyObject *__pyx_v_self, PyObject *__pyx_arg_text) {
 2982   char *__pyx_v_text;
 2983   PyObject *__pyx_r = 0;
 2984   __Pyx_RefNannyDeclarations
 2985   __Pyx_RefNannySetupContext("scan (wrapper)", 0);
 2986   assert(__pyx_arg_text); {
 2987     __pyx_v_text = __Pyx_PyObject_AsWritableString(__pyx_arg_text); if (unlikely((!__pyx_v_text) && PyErr_Occurred())) __PYX_ERR(1, 603, __pyx_L3_error)
 2988   }
 2989   goto __pyx_L4_argument_unpacking_done;
 2990   __pyx_L3_error:;
 2991   __Pyx_AddTraceback("Recode.Request.scan", __pyx_clineno, __pyx_lineno, __pyx_filename);
 2992   __Pyx_RefNannyFinishContext();
 2993   return NULL;
 2994   __pyx_L4_argument_unpacking_done:;
 2995   __pyx_r = __pyx_pf_6Recode_7Request_6scan(((struct __pyx_obj_6Recode_Request *)__pyx_v_self), ((char *)__pyx_v_text));
 2996 
 2997   /* function exit code */
 2998   __Pyx_RefNannyFinishContext();
 2999   return __pyx_r;
 3000 }
 3001 
 3002 static PyObject *__pyx_pf_6Recode_7Request_6scan(struct __pyx_obj_6Recode_Request *__pyx_v_self, char *__pyx_v_text) {
 3003   bool __pyx_v_ok;
 3004   PyObject *__pyx_r = NULL;
 3005   __Pyx_RefNannyDeclarations
 3006   int __pyx_t_1;
 3007   PyObject *__pyx_t_2 = NULL;
 3008   __Pyx_RefNannySetupContext("scan", 0);
 3009 
 3010   /* "Recode.pyx":604
 3011  * 
 3012  *     def scan(self, char *text):
 3013  *         ok = recode_scan_request(self.request, text)             # <<<<<<<<<<<<<<
 3014  *         if not ok:
 3015  *             raise error
 3016  */
 3017   __pyx_v_ok = recode_scan_request(__pyx_v_self->request, __pyx_v_text);
 3018 
 3019   /* "Recode.pyx":605
 3020  *     def scan(self, char *text):
 3021  *         ok = recode_scan_request(self.request, text)
 3022  *         if not ok:             # <<<<<<<<<<<<<<
 3023  *             raise error
 3024  * 
 3025  */
 3026   __pyx_t_1 = ((!(__pyx_v_ok != 0)) != 0);
 3027   if (unlikely(__pyx_t_1)) {
 3028 
 3029     /* "Recode.pyx":606
 3030  *         ok = recode_scan_request(self.request, text)
 3031  *         if not ok:
 3032  *             raise error             # <<<<<<<<<<<<<<
 3033  * 
 3034  *     def pair_sequence(self):
 3035  */
 3036     __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 606, __pyx_L1_error)
 3037     __Pyx_GOTREF(__pyx_t_2);
 3038     __Pyx_Raise(__pyx_t_2, 0, 0, 0);
 3039     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 3040     __PYX_ERR(1, 606, __pyx_L1_error)
 3041 
 3042     /* "Recode.pyx":605
 3043  *     def scan(self, char *text):
 3044  *         ok = recode_scan_request(self.request, text)
 3045  *         if not ok:             # <<<<<<<<<<<<<<
 3046  *             raise error
 3047  * 
 3048  */
 3049   }
 3050 
 3051   /* "Recode.pyx":603
 3052  *         return previous
 3053  * 
 3054  *     def scan(self, char *text):             # <<<<<<<<<<<<<<
 3055  *         ok = recode_scan_request(self.request, text)
 3056  *         if not ok:
 3057  */
 3058 
 3059   /* function exit code */
 3060   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 3061   goto __pyx_L0;
 3062   __pyx_L1_error:;
 3063   __Pyx_XDECREF(__pyx_t_2);
 3064   __Pyx_AddTraceback("Recode.Request.scan", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3065   __pyx_r = NULL;
 3066   __pyx_L0:;
 3067   __Pyx_XGIVEREF(__pyx_r);
 3068   __Pyx_RefNannyFinishContext();
 3069   return __pyx_r;
 3070 }
 3071 
 3072 /* "Recode.pyx":608
 3073  *             raise error
 3074  * 
 3075  *     def pair_sequence(self):             # <<<<<<<<<<<<<<
 3076  *         list = []
 3077  *         cdef recode_step step
 3078  */
 3079 
 3080 /* Python wrapper */
 3081 static PyObject *__pyx_pw_6Recode_7Request_9pair_sequence(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 3082 static PyObject *__pyx_pw_6Recode_7Request_9pair_sequence(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 3083   PyObject *__pyx_r = 0;
 3084   __Pyx_RefNannyDeclarations
 3085   __Pyx_RefNannySetupContext("pair_sequence (wrapper)", 0);
 3086   __pyx_r = __pyx_pf_6Recode_7Request_8pair_sequence(((struct __pyx_obj_6Recode_Request *)__pyx_v_self));
 3087 
 3088   /* function exit code */
 3089   __Pyx_RefNannyFinishContext();
 3090   return __pyx_r;
 3091 }
 3092 
 3093 static PyObject *__pyx_pf_6Recode_7Request_8pair_sequence(struct __pyx_obj_6Recode_Request *__pyx_v_self) {
 3094   PyObject *__pyx_v_list = NULL;
 3095   struct recode_step __pyx_v_step;
 3096   short __pyx_v_counter;
 3097   PyObject *__pyx_r = NULL;
 3098   __Pyx_RefNannyDeclarations
 3099   PyObject *__pyx_t_1 = NULL;
 3100   short __pyx_t_2;
 3101   PyObject *__pyx_t_3 = NULL;
 3102   PyObject *__pyx_t_4 = NULL;
 3103   int __pyx_t_5;
 3104   __Pyx_RefNannySetupContext("pair_sequence", 0);
 3105 
 3106   /* "Recode.pyx":609
 3107  * 
 3108  *     def pair_sequence(self):
 3109  *         list = []             # <<<<<<<<<<<<<<
 3110  *         cdef recode_step step
 3111  *         cdef short counter
 3112  */
 3113   __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 609, __pyx_L1_error)
 3114   __Pyx_GOTREF(__pyx_t_1);
 3115   __pyx_v_list = ((PyObject*)__pyx_t_1);
 3116   __pyx_t_1 = 0;
 3117 
 3118   /* "Recode.pyx":612
 3119  *         cdef recode_step step
 3120  *         cdef short counter
 3121  *         for counter from 0 <= counter < self.request.sequence_length:             # <<<<<<<<<<<<<<
 3122  *             step = self.request.sequence_array[counter]
 3123  *             list.append((step.before.name, step.after.name))
 3124  */
 3125   __pyx_t_2 = __pyx_v_self->request->sequence_length;
 3126   for (__pyx_v_counter = 0; __pyx_v_counter < __pyx_t_2; __pyx_v_counter++) {
 3127 
 3128     /* "Recode.pyx":613
 3129  *         cdef short counter
 3130  *         for counter from 0 <= counter < self.request.sequence_length:
 3131  *             step = self.request.sequence_array[counter]             # <<<<<<<<<<<<<<
 3132  *             list.append((step.before.name, step.after.name))
 3133  *         return list
 3134  */
 3135     __pyx_v_step = (__pyx_v_self->request->sequence_array[__pyx_v_counter]);
 3136 
 3137     /* "Recode.pyx":614
 3138  *         for counter from 0 <= counter < self.request.sequence_length:
 3139  *             step = self.request.sequence_array[counter]
 3140  *             list.append((step.before.name, step.after.name))             # <<<<<<<<<<<<<<
 3141  *         return list
 3142  * 
 3143  */
 3144     __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_step.before->name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 614, __pyx_L1_error)
 3145     __Pyx_GOTREF(__pyx_t_1);
 3146     __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_step.after->name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 614, __pyx_L1_error)
 3147     __Pyx_GOTREF(__pyx_t_3);
 3148     __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 614, __pyx_L1_error)
 3149     __Pyx_GOTREF(__pyx_t_4);
 3150     __Pyx_GIVEREF(__pyx_t_1);
 3151     PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
 3152     __Pyx_GIVEREF(__pyx_t_3);
 3153     PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
 3154     __pyx_t_1 = 0;
 3155     __pyx_t_3 = 0;
 3156     __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_list, __pyx_t_4); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 614, __pyx_L1_error)
 3157     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 3158   }
 3159 
 3160   /* "Recode.pyx":615
 3161  *             step = self.request.sequence_array[counter]
 3162  *             list.append((step.before.name, step.after.name))
 3163  *         return list             # <<<<<<<<<<<<<<
 3164  * 
 3165  *     def format_table(self, int language, char *charset):
 3166  */
 3167   __Pyx_XDECREF(__pyx_r);
 3168   __Pyx_INCREF(__pyx_v_list);
 3169   __pyx_r = __pyx_v_list;
 3170   goto __pyx_L0;
 3171 
 3172   /* "Recode.pyx":608
 3173  *             raise error
 3174  * 
 3175  *     def pair_sequence(self):             # <<<<<<<<<<<<<<
 3176  *         list = []
 3177  *         cdef recode_step step
 3178  */
 3179 
 3180   /* function exit code */
 3181   __pyx_L1_error:;
 3182   __Pyx_XDECREF(__pyx_t_1);
 3183   __Pyx_XDECREF(__pyx_t_3);
 3184   __Pyx_XDECREF(__pyx_t_4);
 3185   __Pyx_AddTraceback("Recode.Request.pair_sequence", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3186   __pyx_r = NULL;
 3187   __pyx_L0:;
 3188   __Pyx_XDECREF(__pyx_v_list);
 3189   __Pyx_XGIVEREF(__pyx_r);
 3190   __Pyx_RefNannyFinishContext();
 3191   return __pyx_r;
 3192 }
 3193 
 3194 /* "Recode.pyx":617
 3195  *         return list
 3196  * 
 3197  *     def format_table(self, int language, char *charset):             # <<<<<<<<<<<<<<
 3198  *         cdef RECODE_OUTER outer
 3199  *         cdef bool saved
 3200  */
 3201 
 3202 /* Python wrapper */
 3203 static PyObject *__pyx_pw_6Recode_7Request_11format_table(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 3204 static PyObject *__pyx_pw_6Recode_7Request_11format_table(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 3205   int __pyx_v_language;
 3206   char *__pyx_v_charset;
 3207   PyObject *__pyx_r = 0;
 3208   __Pyx_RefNannyDeclarations
 3209   __Pyx_RefNannySetupContext("format_table (wrapper)", 0);
 3210   {
 3211     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_language,&__pyx_n_s_charset,0};
 3212     PyObject* values[2] = {0,0};
 3213     if (unlikely(__pyx_kwds)) {
 3214       Py_ssize_t kw_args;
 3215       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
 3216       switch (pos_args) {
 3217         case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 3218         CYTHON_FALLTHROUGH;
 3219         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 3220         CYTHON_FALLTHROUGH;
 3221         case  0: break;
 3222         default: goto __pyx_L5_argtuple_error;
 3223       }
 3224       kw_args = PyDict_Size(__pyx_kwds);
 3225       switch (pos_args) {
 3226         case  0:
 3227         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_language)) != 0)) kw_args--;
 3228         else goto __pyx_L5_argtuple_error;
 3229         CYTHON_FALLTHROUGH;
 3230         case  1:
 3231         if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_charset)) != 0)) kw_args--;
 3232         else {
 3233           __Pyx_RaiseArgtupleInvalid("format_table", 1, 2, 2, 1); __PYX_ERR(1, 617, __pyx_L3_error)
 3234         }
 3235       }
 3236       if (unlikely(kw_args > 0)) {
 3237         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "format_table") < 0)) __PYX_ERR(1, 617, __pyx_L3_error)
 3238       }
 3239     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
 3240       goto __pyx_L5_argtuple_error;
 3241     } else {
 3242       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 3243       values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 3244     }
 3245     __pyx_v_language = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_language == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 617, __pyx_L3_error)
 3246     __pyx_v_charset = __Pyx_PyObject_AsWritableString(values[1]); if (unlikely((!__pyx_v_charset) && PyErr_Occurred())) __PYX_ERR(1, 617, __pyx_L3_error)
 3247   }
 3248   goto __pyx_L4_argument_unpacking_done;
 3249   __pyx_L5_argtuple_error:;
 3250   __Pyx_RaiseArgtupleInvalid("format_table", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 617, __pyx_L3_error)
 3251   __pyx_L3_error:;
 3252   __Pyx_AddTraceback("Recode.Request.format_table", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3253   __Pyx_RefNannyFinishContext();
 3254   return NULL;
 3255   __pyx_L4_argument_unpacking_done:;
 3256   __pyx_r = __pyx_pf_6Recode_7Request_10format_table(((struct __pyx_obj_6Recode_Request *)__pyx_v_self), __pyx_v_language, __pyx_v_charset);
 3257 
 3258   /* function exit code */
 3259   __Pyx_RefNannyFinishContext();
 3260   return __pyx_r;
 3261 }
 3262 
 3263 static PyObject *__pyx_pf_6Recode_7Request_10format_table(struct __pyx_obj_6Recode_Request *__pyx_v_self, int __pyx_v_language, char *__pyx_v_charset) {
 3264   RECODE_OUTER __pyx_v_outer;
 3265   bool __pyx_v_saved;
 3266   bool __pyx_v_ok;
 3267   PyObject *__pyx_r = NULL;
 3268   __Pyx_RefNannyDeclarations
 3269   RECODE_OUTER __pyx_t_1;
 3270   bool __pyx_t_2;
 3271   int __pyx_t_3;
 3272   PyObject *__pyx_t_4 = NULL;
 3273   __Pyx_RefNannySetupContext("format_table", 0);
 3274 
 3275   /* "Recode.pyx":620
 3276  *         cdef RECODE_OUTER outer
 3277  *         cdef bool saved
 3278  *         outer = self.request.outer             # <<<<<<<<<<<<<<
 3279  *         saved = outer.iconv_pivot.ignore
 3280  *         outer.iconv_pivot.ignore = True
 3281  */
 3282   __pyx_t_1 = __pyx_v_self->request->outer;
 3283   __pyx_v_outer = __pyx_t_1;
 3284 
 3285   /* "Recode.pyx":621
 3286  *         cdef bool saved
 3287  *         outer = self.request.outer
 3288  *         saved = outer.iconv_pivot.ignore             # <<<<<<<<<<<<<<
 3289  *         outer.iconv_pivot.ignore = True
 3290  *         ok = recode_format_table(
 3291  */
 3292   __pyx_t_2 = __pyx_v_outer->iconv_pivot->ignore;
 3293   __pyx_v_saved = __pyx_t_2;
 3294 
 3295   /* "Recode.pyx":622
 3296  *         outer = self.request.outer
 3297  *         saved = outer.iconv_pivot.ignore
 3298  *         outer.iconv_pivot.ignore = True             # <<<<<<<<<<<<<<
 3299  *         ok = recode_format_table(
 3300  *                 self.request, <recode_programming_language> language, charset)
 3301  */
 3302   __pyx_v_outer->iconv_pivot->ignore = 1;
 3303 
 3304   /* "Recode.pyx":623
 3305  *         saved = outer.iconv_pivot.ignore
 3306  *         outer.iconv_pivot.ignore = True
 3307  *         ok = recode_format_table(             # <<<<<<<<<<<<<<
 3308  *                 self.request, <recode_programming_language> language, charset)
 3309  *         outer.iconv_pivot.ignore = saved
 3310  */
 3311   __pyx_v_ok = recode_format_table(__pyx_v_self->request, ((enum recode_programming_language)__pyx_v_language), __pyx_v_charset);
 3312 
 3313   /* "Recode.pyx":625
 3314  *         ok = recode_format_table(
 3315  *                 self.request, <recode_programming_language> language, charset)
 3316  *         outer.iconv_pivot.ignore = saved             # <<<<<<<<<<<<<<
 3317  *         if not ok:
 3318  *             raise error
 3319  */
 3320   __pyx_v_outer->iconv_pivot->ignore = __pyx_v_saved;
 3321 
 3322   /* "Recode.pyx":626
 3323  *                 self.request, <recode_programming_language> language, charset)
 3324  *         outer.iconv_pivot.ignore = saved
 3325  *         if not ok:             # <<<<<<<<<<<<<<
 3326  *             raise error
 3327  * 
 3328  */
 3329   __pyx_t_3 = ((!(__pyx_v_ok != 0)) != 0);
 3330   if (unlikely(__pyx_t_3)) {
 3331 
 3332     /* "Recode.pyx":627
 3333  *         outer.iconv_pivot.ignore = saved
 3334  *         if not ok:
 3335  *             raise error             # <<<<<<<<<<<<<<
 3336  * 
 3337  *     def string(self, text):
 3338  */
 3339     __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 627, __pyx_L1_error)
 3340     __Pyx_GOTREF(__pyx_t_4);
 3341     __Pyx_Raise(__pyx_t_4, 0, 0, 0);
 3342     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 3343     __PYX_ERR(1, 627, __pyx_L1_error)
 3344 
 3345     /* "Recode.pyx":626
 3346  *                 self.request, <recode_programming_language> language, charset)
 3347  *         outer.iconv_pivot.ignore = saved
 3348  *         if not ok:             # <<<<<<<<<<<<<<
 3349  *             raise error
 3350  * 
 3351  */
 3352   }
 3353 
 3354   /* "Recode.pyx":617
 3355  *         return list
 3356  * 
 3357  *     def format_table(self, int language, char *charset):             # <<<<<<<<<<<<<<
 3358  *         cdef RECODE_OUTER outer
 3359  *         cdef bool saved
 3360  */
 3361 
 3362   /* function exit code */
 3363   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 3364   goto __pyx_L0;
 3365   __pyx_L1_error:;
 3366   __Pyx_XDECREF(__pyx_t_4);
 3367   __Pyx_AddTraceback("Recode.Request.format_table", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3368   __pyx_r = NULL;
 3369   __pyx_L0:;
 3370   __Pyx_XGIVEREF(__pyx_r);
 3371   __Pyx_RefNannyFinishContext();
 3372   return __pyx_r;
 3373 }
 3374 
 3375 /* "Recode.pyx":629
 3376  *             raise error
 3377  * 
 3378  *     def string(self, text):             # <<<<<<<<<<<<<<
 3379  *         cdef char *input = text
 3380  *         cdef size_t input_len = len(text)
 3381  */
 3382 
 3383 /* Python wrapper */
 3384 static PyObject *__pyx_pw_6Recode_7Request_13string(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
 3385 static PyObject *__pyx_pw_6Recode_7Request_13string(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
 3386   PyObject *__pyx_r = 0;
 3387   __Pyx_RefNannyDeclarations
 3388   __Pyx_RefNannySetupContext("string (wrapper)", 0);
 3389   __pyx_r = __pyx_pf_6Recode_7Request_12string(((struct __pyx_obj_6Recode_Request *)__pyx_v_self), ((PyObject *)__pyx_v_text));
 3390 
 3391   /* function exit code */
 3392   __Pyx_RefNannyFinishContext();
 3393   return __pyx_r;
 3394 }
 3395 
 3396 static PyObject *__pyx_pf_6Recode_7Request_12string(struct __pyx_obj_6Recode_Request *__pyx_v_self, PyObject *__pyx_v_text) {
 3397   char *__pyx_v_input;
 3398   size_t __pyx_v_input_len;
 3399   char *__pyx_v_output;
 3400   size_t __pyx_v_output_len;
 3401   size_t __pyx_v_output_allocated;
 3402   bool __pyx_v_result;
 3403   PyObject *__pyx_v_py_string = NULL;
 3404   PyObject *__pyx_r = NULL;
 3405   __Pyx_RefNannyDeclarations
 3406   char *__pyx_t_1;
 3407   Py_ssize_t __pyx_t_2;
 3408   int __pyx_t_3;
 3409   int __pyx_t_4;
 3410   PyObject *__pyx_t_5 = NULL;
 3411   int __pyx_t_6;
 3412   int __pyx_t_7;
 3413   char const *__pyx_t_8;
 3414   PyObject *__pyx_t_9 = NULL;
 3415   PyObject *__pyx_t_10 = NULL;
 3416   PyObject *__pyx_t_11 = NULL;
 3417   PyObject *__pyx_t_12 = NULL;
 3418   PyObject *__pyx_t_13 = NULL;
 3419   PyObject *__pyx_t_14 = NULL;
 3420   __Pyx_RefNannySetupContext("string", 0);
 3421 
 3422   /* "Recode.pyx":630
 3423  * 
 3424  *     def string(self, text):
 3425  *         cdef char *input = text             # <<<<<<<<<<<<<<
 3426  *         cdef size_t input_len = len(text)
 3427  *         cdef char *output = NULL
 3428  */
 3429   __pyx_t_1 = __Pyx_PyObject_AsWritableString(__pyx_v_text); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(1, 630, __pyx_L1_error)
 3430   __pyx_v_input = __pyx_t_1;
 3431 
 3432   /* "Recode.pyx":631
 3433  *     def string(self, text):
 3434  *         cdef char *input = text
 3435  *         cdef size_t input_len = len(text)             # <<<<<<<<<<<<<<
 3436  *         cdef char *output = NULL
 3437  *         cdef size_t output_len
 3438  */
 3439   __pyx_t_2 = PyObject_Length(__pyx_v_text); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 631, __pyx_L1_error)
 3440   __pyx_v_input_len = __pyx_t_2;
 3441 
 3442   /* "Recode.pyx":632
 3443  *         cdef char *input = text
 3444  *         cdef size_t input_len = len(text)
 3445  *         cdef char *output = NULL             # <<<<<<<<<<<<<<
 3446  *         cdef size_t output_len
 3447  *         cdef size_t output_allocated = 0
 3448  */
 3449   __pyx_v_output = NULL;
 3450 
 3451   /* "Recode.pyx":634
 3452  *         cdef char *output = NULL
 3453  *         cdef size_t output_len
 3454  *         cdef size_t output_allocated = 0             # <<<<<<<<<<<<<<
 3455  *         result = recode_buffer_to_buffer(self.request, input, input_len, &output, &output_len, &output_allocated)
 3456  *         if result is False or output is NULL:
 3457  */
 3458   __pyx_v_output_allocated = 0;
 3459 
 3460   /* "Recode.pyx":635
 3461  *         cdef size_t output_len
 3462  *         cdef size_t output_allocated = 0
 3463  *         result = recode_buffer_to_buffer(self.request, input, input_len, &output, &output_len, &output_allocated)             # <<<<<<<<<<<<<<
 3464  *         if result is False or output is NULL:
 3465  *             raise error
 3466  */
 3467   __pyx_v_result = recode_buffer_to_buffer(__pyx_v_self->request, __pyx_v_input, __pyx_v_input_len, (&__pyx_v_output), (&__pyx_v_output_len), (&__pyx_v_output_allocated));
 3468 
 3469   /* "Recode.pyx":636
 3470  *         cdef size_t output_allocated = 0
 3471  *         result = recode_buffer_to_buffer(self.request, input, input_len, &output, &output_len, &output_allocated)
 3472  *         if result is False or output is NULL:             # <<<<<<<<<<<<<<
 3473  *             raise error
 3474  *         try:
 3475  */
 3476   __pyx_t_4 = ((__pyx_v_result == 0) != 0);
 3477   if (!__pyx_t_4) {
 3478   } else {
 3479     __pyx_t_3 = __pyx_t_4;
 3480     goto __pyx_L4_bool_binop_done;
 3481   }
 3482   __pyx_t_4 = ((__pyx_v_output == NULL) != 0);
 3483   __pyx_t_3 = __pyx_t_4;
 3484   __pyx_L4_bool_binop_done:;
 3485   if (unlikely(__pyx_t_3)) {
 3486 
 3487     /* "Recode.pyx":637
 3488  *         result = recode_buffer_to_buffer(self.request, input, input_len, &output, &output_len, &output_allocated)
 3489  *         if result is False or output is NULL:
 3490  *             raise error             # <<<<<<<<<<<<<<
 3491  *         try:
 3492  *             py_string = output[:output_len]
 3493  */
 3494     __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 637, __pyx_L1_error)
 3495     __Pyx_GOTREF(__pyx_t_5);
 3496     __Pyx_Raise(__pyx_t_5, 0, 0, 0);
 3497     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 3498     __PYX_ERR(1, 637, __pyx_L1_error)
 3499 
 3500     /* "Recode.pyx":636
 3501  *         cdef size_t output_allocated = 0
 3502  *         result = recode_buffer_to_buffer(self.request, input, input_len, &output, &output_len, &output_allocated)
 3503  *         if result is False or output is NULL:             # <<<<<<<<<<<<<<
 3504  *             raise error
 3505  *         try:
 3506  */
 3507   }
 3508 
 3509   /* "Recode.pyx":638
 3510  *         if result is False or output is NULL:
 3511  *             raise error
 3512  *         try:             # <<<<<<<<<<<<<<
 3513  *             py_string = output[:output_len]
 3514  *         finally:
 3515  */
 3516   /*try:*/ {
 3517 
 3518     /* "Recode.pyx":639
 3519  *             raise error
 3520  *         try:
 3521  *             py_string = output[:output_len]             # <<<<<<<<<<<<<<
 3522  *         finally:
 3523  *             free (output)
 3524  */
 3525     __pyx_t_5 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_output + 0, __pyx_v_output_len - 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 639, __pyx_L7_error)
 3526     __Pyx_GOTREF(__pyx_t_5);
 3527     __pyx_v_py_string = ((PyObject*)__pyx_t_5);
 3528     __pyx_t_5 = 0;
 3529   }
 3530 
 3531   /* "Recode.pyx":641
 3532  *             py_string = output[:output_len]
 3533  *         finally:
 3534  *             free (output)             # <<<<<<<<<<<<<<
 3535  *         return py_string
 3536  * 
 3537  */
 3538   /*finally:*/ {
 3539     /*normal exit:*/{
 3540       free(__pyx_v_output);
 3541       goto __pyx_L8;
 3542     }
 3543     __pyx_L7_error:;
 3544     /*exception exit:*/{
 3545       __Pyx_PyThreadState_declare
 3546       __Pyx_PyThreadState_assign
 3547       __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
 3548       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
 3549       if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
 3550       if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
 3551       __Pyx_XGOTREF(__pyx_t_9);
 3552       __Pyx_XGOTREF(__pyx_t_10);
 3553       __Pyx_XGOTREF(__pyx_t_11);
 3554       __Pyx_XGOTREF(__pyx_t_12);
 3555       __Pyx_XGOTREF(__pyx_t_13);
 3556       __Pyx_XGOTREF(__pyx_t_14);
 3557       __pyx_t_6 = __pyx_lineno; __pyx_t_7 = __pyx_clineno; __pyx_t_8 = __pyx_filename;
 3558       {
 3559         free(__pyx_v_output);
 3560       }
 3561       if (PY_MAJOR_VERSION >= 3) {
 3562         __Pyx_XGIVEREF(__pyx_t_12);
 3563         __Pyx_XGIVEREF(__pyx_t_13);
 3564         __Pyx_XGIVEREF(__pyx_t_14);
 3565         __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
 3566       }
 3567       __Pyx_XGIVEREF(__pyx_t_9);
 3568       __Pyx_XGIVEREF(__pyx_t_10);
 3569       __Pyx_XGIVEREF(__pyx_t_11);
 3570       __Pyx_ErrRestore(__pyx_t_9, __pyx_t_10, __pyx_t_11);
 3571       __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0;
 3572       __pyx_lineno = __pyx_t_6; __pyx_clineno = __pyx_t_7; __pyx_filename = __pyx_t_8;
 3573       goto __pyx_L1_error;
 3574     }
 3575     __pyx_L8:;
 3576   }
 3577 
 3578   /* "Recode.pyx":642
 3579  *         finally:
 3580  *             free (output)
 3581  *         return py_string             # <<<<<<<<<<<<<<
 3582  * 
 3583  *     # Unexposed APIs:
 3584  */
 3585   __Pyx_XDECREF(__pyx_r);
 3586   __Pyx_INCREF(__pyx_v_py_string);
 3587   __pyx_r = __pyx_v_py_string;
 3588   goto __pyx_L0;
 3589 
 3590   /* "Recode.pyx":629
 3591  *             raise error
 3592  * 
 3593  *     def string(self, text):             # <<<<<<<<<<<<<<
 3594  *         cdef char *input = text
 3595  *         cdef size_t input_len = len(text)
 3596  */
 3597 
 3598   /* function exit code */
 3599   __pyx_L1_error:;
 3600   __Pyx_XDECREF(__pyx_t_5);
 3601   __Pyx_AddTraceback("Recode.Request.string", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3602   __pyx_r = NULL;
 3603   __pyx_L0:;
 3604   __Pyx_XDECREF(__pyx_v_py_string);
 3605   __Pyx_XGIVEREF(__pyx_r);
 3606   __Pyx_RefNannyFinishContext();
 3607   return __pyx_r;
 3608 }
 3609 
 3610 /* "(tree fragment)":1
 3611  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 3612  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3613  * def __setstate_cython__(self, __pyx_state):
 3614  */
 3615 
 3616 /* Python wrapper */
 3617 static PyObject *__pyx_pw_6Recode_7Request_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 3618 static PyObject *__pyx_pw_6Recode_7Request_15__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 3619   PyObject *__pyx_r = 0;
 3620   __Pyx_RefNannyDeclarations
 3621   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
 3622   __pyx_r = __pyx_pf_6Recode_7Request_14__reduce_cython__(((struct __pyx_obj_6Recode_Request *)__pyx_v_self));
 3623 
 3624   /* function exit code */
 3625   __Pyx_RefNannyFinishContext();
 3626   return __pyx_r;
 3627 }
 3628 
 3629 static PyObject *__pyx_pf_6Recode_7Request_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Request *__pyx_v_self) {
 3630   PyObject *__pyx_r = NULL;
 3631   __Pyx_RefNannyDeclarations
 3632   PyObject *__pyx_t_1 = NULL;
 3633   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
 3634 
 3635   /* "(tree fragment)":2
 3636  * def __reduce_cython__(self):
 3637  *     raise TypeError("self.request cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 3638  * def __setstate_cython__(self, __pyx_state):
 3639  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3640  */
 3641   __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
 3642   __Pyx_GOTREF(__pyx_t_1);
 3643   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
 3644   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 3645   __PYX_ERR(0, 2, __pyx_L1_error)
 3646 
 3647   /* "(tree fragment)":1
 3648  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 3649  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3650  * def __setstate_cython__(self, __pyx_state):
 3651  */
 3652 
 3653   /* function exit code */
 3654   __pyx_L1_error:;
 3655   __Pyx_XDECREF(__pyx_t_1);
 3656   __Pyx_AddTraceback("Recode.Request.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3657   __pyx_r = NULL;
 3658   __Pyx_XGIVEREF(__pyx_r);
 3659   __Pyx_RefNannyFinishContext();
 3660   return __pyx_r;
 3661 }
 3662 
 3663 /* "(tree fragment)":3
 3664  * def __reduce_cython__(self):
 3665  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3666  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 3667  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3668  */
 3669 
 3670 /* Python wrapper */
 3671 static PyObject *__pyx_pw_6Recode_7Request_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
 3672 static PyObject *__pyx_pw_6Recode_7Request_17__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
 3673   PyObject *__pyx_r = 0;
 3674   __Pyx_RefNannyDeclarations
 3675   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
 3676   __pyx_r = __pyx_pf_6Recode_7Request_16__setstate_cython__(((struct __pyx_obj_6Recode_Request *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
 3677 
 3678   /* function exit code */
 3679   __Pyx_RefNannyFinishContext();
 3680   return __pyx_r;
 3681 }
 3682 
 3683 static PyObject *__pyx_pf_6Recode_7Request_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Request *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
 3684   PyObject *__pyx_r = NULL;
 3685   __Pyx_RefNannyDeclarations
 3686   PyObject *__pyx_t_1 = NULL;
 3687   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
 3688 
 3689   /* "(tree fragment)":4
 3690  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3691  * def __setstate_cython__(self, __pyx_state):
 3692  *     raise TypeError("self.request cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 3693  */
 3694   __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
 3695   __Pyx_GOTREF(__pyx_t_1);
 3696   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
 3697   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 3698   __PYX_ERR(0, 4, __pyx_L1_error)
 3699 
 3700   /* "(tree fragment)":3
 3701  * def __reduce_cython__(self):
 3702  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3703  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 3704  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 3705  */
 3706 
 3707   /* function exit code */
 3708   __pyx_L1_error:;
 3709   __Pyx_XDECREF(__pyx_t_1);
 3710   __Pyx_AddTraceback("Recode.Request.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3711   __pyx_r = NULL;
 3712   __Pyx_XGIVEREF(__pyx_r);
 3713   __Pyx_RefNannyFinishContext();
 3714   return __pyx_r;
 3715 }
 3716 
 3717 /* "Recode.pyx":671
 3718  *     cdef RECODE_TASK task
 3719  * 
 3720  *     def __init__(self, Request request):             # <<<<<<<<<<<<<<
 3721  *         self.task = recode_new_task(request.request)
 3722  * 
 3723  */
 3724 
 3725 /* Python wrapper */
 3726 static int __pyx_pw_6Recode_4Task_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 3727 static int __pyx_pw_6Recode_4Task_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 3728   struct __pyx_obj_6Recode_Request *__pyx_v_request = 0;
 3729   int __pyx_r;
 3730   __Pyx_RefNannyDeclarations
 3731   __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
 3732   {
 3733     static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0};
 3734     PyObject* values[1] = {0};
 3735     if (unlikely(__pyx_kwds)) {
 3736       Py_ssize_t kw_args;
 3737       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
 3738       switch (pos_args) {
 3739         case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 3740         CYTHON_FALLTHROUGH;
 3741         case  0: break;
 3742         default: goto __pyx_L5_argtuple_error;
 3743       }
 3744       kw_args = PyDict_Size(__pyx_kwds);
 3745       switch (pos_args) {
 3746         case  0:
 3747         if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_request)) != 0)) kw_args--;
 3748         else goto __pyx_L5_argtuple_error;
 3749       }
 3750       if (unlikely(kw_args > 0)) {
 3751         if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(1, 671, __pyx_L3_error)
 3752       }
 3753     } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
 3754       goto __pyx_L5_argtuple_error;
 3755     } else {
 3756       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 3757     }
 3758     __pyx_v_request = ((struct __pyx_obj_6Recode_Request *)values[0]);
 3759   }
 3760   goto __pyx_L4_argument_unpacking_done;
 3761   __pyx_L5_argtuple_error:;
 3762   __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(1, 671, __pyx_L3_error)
 3763   __pyx_L3_error:;
 3764   __Pyx_AddTraceback("Recode.Task.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3765   __Pyx_RefNannyFinishContext();
 3766   return -1;
 3767   __pyx_L4_argument_unpacking_done:;
 3768   if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_request), __pyx_ptype_6Recode_Request, 1, "request", 0))) __PYX_ERR(1, 671, __pyx_L1_error)
 3769   __pyx_r = __pyx_pf_6Recode_4Task___init__(((struct __pyx_obj_6Recode_Task *)__pyx_v_self), __pyx_v_request);
 3770 
 3771   /* function exit code */
 3772   goto __pyx_L0;
 3773   __pyx_L1_error:;
 3774   __pyx_r = -1;
 3775   __pyx_L0:;
 3776   __Pyx_RefNannyFinishContext();
 3777   return __pyx_r;
 3778 }
 3779 
 3780 static int __pyx_pf_6Recode_4Task___init__(struct __pyx_obj_6Recode_Task *__pyx_v_self, struct __pyx_obj_6Recode_Request *__pyx_v_request) {
 3781   int __pyx_r;
 3782   __Pyx_RefNannyDeclarations
 3783   __Pyx_RefNannySetupContext("__init__", 0);
 3784 
 3785   /* "Recode.pyx":672
 3786  * 
 3787  *     def __init__(self, Request request):
 3788  *         self.task = recode_new_task(request.request)             # <<<<<<<<<<<<<<
 3789  * 
 3790  *     def __dealloc__(self):
 3791  */
 3792   __pyx_v_self->task = recode_new_task(__pyx_v_request->request);
 3793 
 3794   /* "Recode.pyx":671
 3795  *     cdef RECODE_TASK task
 3796  * 
 3797  *     def __init__(self, Request request):             # <<<<<<<<<<<<<<
 3798  *         self.task = recode_new_task(request.request)
 3799  * 
 3800  */
 3801 
 3802   /* function exit code */
 3803   __pyx_r = 0;
 3804   __Pyx_RefNannyFinishContext();
 3805   return __pyx_r;
 3806 }
 3807 
 3808 /* "Recode.pyx":674
 3809  *         self.task = recode_new_task(request.request)
 3810  * 
 3811  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 3812  *         free (self.task.output.buffer)
 3813  *         recode_delete_task(self.task)
 3814  */
 3815 
 3816 /* Python wrapper */
 3817 static void __pyx_pw_6Recode_4Task_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
 3818 static void __pyx_pw_6Recode_4Task_3__dealloc__(PyObject *__pyx_v_self) {
 3819   __Pyx_RefNannyDeclarations
 3820   __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
 3821   __pyx_pf_6Recode_4Task_2__dealloc__(((struct __pyx_obj_6Recode_Task *)__pyx_v_self));
 3822 
 3823   /* function exit code */
 3824   __Pyx_RefNannyFinishContext();
 3825 }
 3826 
 3827 static void __pyx_pf_6Recode_4Task_2__dealloc__(struct __pyx_obj_6Recode_Task *__pyx_v_self) {
 3828   __Pyx_RefNannyDeclarations
 3829   __Pyx_RefNannySetupContext("__dealloc__", 0);
 3830 
 3831   /* "Recode.pyx":675
 3832  * 
 3833  *     def __dealloc__(self):
 3834  *         free (self.task.output.buffer)             # <<<<<<<<<<<<<<
 3835  *         recode_delete_task(self.task)
 3836  * 
 3837  */
 3838   free(__pyx_v_self->task->output.buffer);
 3839 
 3840   /* "Recode.pyx":676
 3841  *     def __dealloc__(self):
 3842  *         free (self.task.output.buffer)
 3843  *         recode_delete_task(self.task)             # <<<<<<<<<<<<<<
 3844  * 
 3845  *     def set_byte_order_mark(self, flag):
 3846  */
 3847   (void)(recode_delete_task(__pyx_v_self->task));
 3848 
 3849   /* "Recode.pyx":674
 3850  *         self.task = recode_new_task(request.request)
 3851  * 
 3852  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 3853  *         free (self.task.output.buffer)
 3854  *         recode_delete_task(self.task)
 3855  */
 3856 
 3857   /* function exit code */
 3858   __Pyx_RefNannyFinishContext();
 3859 }
 3860 
 3861 /* "Recode.pyx":678
 3862  *         recode_delete_task(self.task)
 3863  * 
 3864  *     def set_byte_order_mark(self, flag):             # <<<<<<<<<<<<<<
 3865  *         previous = self.task.byte_order_mark != 0
 3866  *         self.task.byte_order_mark = int(flag)
 3867  */
 3868 
 3869 /* Python wrapper */
 3870 static PyObject *__pyx_pw_6Recode_4Task_5set_byte_order_mark(PyObject *__pyx_v_self, PyObject *__pyx_v_flag); /*proto*/
 3871 static PyObject *__pyx_pw_6Recode_4Task_5set_byte_order_mark(PyObject *__pyx_v_self, PyObject *__pyx_v_flag) {
 3872   PyObject *__pyx_r = 0;
 3873   __Pyx_RefNannyDeclarations
 3874   __Pyx_RefNannySetupContext("set_byte_order_mark (wrapper)", 0);
 3875   __pyx_r = __pyx_pf_6Recode_4Task_4set_byte_order_mark(((struct __pyx_obj_6Recode_Task *)__pyx_v_self), ((PyObject *)__pyx_v_flag));
 3876 
 3877   /* function exit code */
 3878   __Pyx_RefNannyFinishContext();
 3879   return __pyx_r;
 3880 }
 3881 
 3882 static PyObject *__pyx_pf_6Recode_4Task_4set_byte_order_mark(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_flag) {
 3883   PyObject *__pyx_v_previous = NULL;
 3884   PyObject *__pyx_r = NULL;
 3885   __Pyx_RefNannyDeclarations
 3886   PyObject *__pyx_t_1 = NULL;
 3887   bool __pyx_t_2;
 3888   __Pyx_RefNannySetupContext("set_byte_order_mark", 0);
 3889 
 3890   /* "Recode.pyx":679
 3891  * 
 3892  *     def set_byte_order_mark(self, flag):
 3893  *         previous = self.task.byte_order_mark != 0             # <<<<<<<<<<<<<<
 3894  *         self.task.byte_order_mark = int(flag)
 3895  *         return previous
 3896  */
 3897   __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->task->byte_order_mark != 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 679, __pyx_L1_error)
 3898   __Pyx_GOTREF(__pyx_t_1);
 3899   __pyx_v_previous = __pyx_t_1;
 3900   __pyx_t_1 = 0;
 3901 
 3902   /* "Recode.pyx":680
 3903  *     def set_byte_order_mark(self, flag):
 3904  *         previous = self.task.byte_order_mark != 0
 3905  *         self.task.byte_order_mark = int(flag)             # <<<<<<<<<<<<<<
 3906  *         return previous
 3907  * 
 3908  */
 3909   __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_v_flag); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 680, __pyx_L1_error)
 3910   __Pyx_GOTREF(__pyx_t_1);
 3911   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(1, 680, __pyx_L1_error)
 3912   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 3913   __pyx_v_self->task->byte_order_mark = __pyx_t_2;
 3914 
 3915   /* "Recode.pyx":681
 3916  *         previous = self.task.byte_order_mark != 0
 3917  *         self.task.byte_order_mark = int(flag)
 3918  *         return previous             # <<<<<<<<<<<<<<
 3919  * 
 3920  *     def get_error(self):
 3921  */
 3922   __Pyx_XDECREF(__pyx_r);
 3923   __Pyx_INCREF(__pyx_v_previous);
 3924   __pyx_r = __pyx_v_previous;
 3925   goto __pyx_L0;
 3926 
 3927   /* "Recode.pyx":678
 3928  *         recode_delete_task(self.task)
 3929  * 
 3930  *     def set_byte_order_mark(self, flag):             # <<<<<<<<<<<<<<
 3931  *         previous = self.task.byte_order_mark != 0
 3932  *         self.task.byte_order_mark = int(flag)
 3933  */
 3934 
 3935   /* function exit code */
 3936   __pyx_L1_error:;
 3937   __Pyx_XDECREF(__pyx_t_1);
 3938   __Pyx_AddTraceback("Recode.Task.set_byte_order_mark", __pyx_clineno, __pyx_lineno, __pyx_filename);
 3939   __pyx_r = NULL;
 3940   __pyx_L0:;
 3941   __Pyx_XDECREF(__pyx_v_previous);
 3942   __Pyx_XGIVEREF(__pyx_r);
 3943   __Pyx_RefNannyFinishContext();
 3944   return __pyx_r;
 3945 }
 3946 
 3947 /* "Recode.pyx":683
 3948  *         return previous
 3949  * 
 3950  *     def get_error(self):             # <<<<<<<<<<<<<<
 3951  *         return self.task.error_so_far
 3952  * 
 3953  */
 3954 
 3955 /* Python wrapper */
 3956 static PyObject *__pyx_pw_6Recode_4Task_7get_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 3957 static PyObject *__pyx_pw_6Recode_4Task_7get_error(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 3958   PyObject *__pyx_r = 0;
 3959   __Pyx_RefNannyDeclarations
 3960   __Pyx_RefNannySetupContext("get_error (wrapper)", 0);
 3961   __pyx_r = __pyx_pf_6Recode_4Task_6get_error(((struct __pyx_obj_6Recode_Task *)__pyx_v_self));
 3962 
 3963   /* function exit code */
 3964   __Pyx_RefNannyFinishContext();
 3965   return __pyx_r;
 3966 }
 3967 
 3968 static PyObject *__pyx_pf_6Recode_4Task_6get_error(struct __pyx_obj_6Recode_Task *__pyx_v_self) {
 3969   PyObject *__pyx_r = NULL;
 3970   __Pyx_RefNannyDeclarations
 3971   PyObject *__pyx_t_1 = NULL;
 3972   __Pyx_RefNannySetupContext("get_error", 0);
 3973 
 3974   /* "Recode.pyx":684
 3975  * 
 3976  *     def get_error(self):
 3977  *         return self.task.error_so_far             # <<<<<<<<<<<<<<
 3978  * 
 3979  *     def set_fail_level(self, fail_level):
 3980  */
 3981   __Pyx_XDECREF(__pyx_r);
 3982   __pyx_t_1 = __Pyx_PyInt_From_enum__recode_error(__pyx_v_self->task->error_so_far); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 684, __pyx_L1_error)
 3983   __Pyx_GOTREF(__pyx_t_1);
 3984   __pyx_r = __pyx_t_1;
 3985   __pyx_t_1 = 0;
 3986   goto __pyx_L0;
 3987 
 3988   /* "Recode.pyx":683
 3989  *         return previous
 3990  * 
 3991  *     def get_error(self):             # <<<<<<<<<<<<<<
 3992  *         return self.task.error_so_far
 3993  * 
 3994  */
 3995 
 3996   /* function exit code */
 3997   __pyx_L1_error:;
 3998   __Pyx_XDECREF(__pyx_t_1);
 3999   __Pyx_AddTraceback("Recode.Task.get_error", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4000   __pyx_r = NULL;
 4001   __pyx_L0:;
 4002   __Pyx_XGIVEREF(__pyx_r);
 4003   __Pyx_RefNannyFinishContext();
 4004   return __pyx_r;
 4005 }
 4006 
 4007 /* "Recode.pyx":686
 4008  *         return self.task.error_so_far
 4009  * 
 4010  *     def set_fail_level(self, fail_level):             # <<<<<<<<<<<<<<
 4011  *         previous = self.task.fail_level
 4012  *         self.task.fail_level = fail_level
 4013  */
 4014 
 4015 /* Python wrapper */
 4016 static PyObject *__pyx_pw_6Recode_4Task_9set_fail_level(PyObject *__pyx_v_self, PyObject *__pyx_v_fail_level); /*proto*/
 4017 static PyObject *__pyx_pw_6Recode_4Task_9set_fail_level(PyObject *__pyx_v_self, PyObject *__pyx_v_fail_level) {
 4018   PyObject *__pyx_r = 0;
 4019   __Pyx_RefNannyDeclarations
 4020   __Pyx_RefNannySetupContext("set_fail_level (wrapper)", 0);
 4021   __pyx_r = __pyx_pf_6Recode_4Task_8set_fail_level(((struct __pyx_obj_6Recode_Task *)__pyx_v_self), ((PyObject *)__pyx_v_fail_level));
 4022 
 4023   /* function exit code */
 4024   __Pyx_RefNannyFinishContext();
 4025   return __pyx_r;
 4026 }
 4027 
 4028 static PyObject *__pyx_pf_6Recode_4Task_8set_fail_level(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_fail_level) {
 4029   enum recode_error __pyx_v_previous;
 4030   PyObject *__pyx_r = NULL;
 4031   __Pyx_RefNannyDeclarations
 4032   enum recode_error __pyx_t_1;
 4033   PyObject *__pyx_t_2 = NULL;
 4034   __Pyx_RefNannySetupContext("set_fail_level", 0);
 4035 
 4036   /* "Recode.pyx":687
 4037  * 
 4038  *     def set_fail_level(self, fail_level):
 4039  *         previous = self.task.fail_level             # <<<<<<<<<<<<<<
 4040  *         self.task.fail_level = fail_level
 4041  *         return previous
 4042  */
 4043   __pyx_t_1 = __pyx_v_self->task->fail_level;
 4044   __pyx_v_previous = __pyx_t_1;
 4045 
 4046   /* "Recode.pyx":688
 4047  *     def set_fail_level(self, fail_level):
 4048  *         previous = self.task.fail_level
 4049  *         self.task.fail_level = fail_level             # <<<<<<<<<<<<<<
 4050  *         return previous
 4051  * 
 4052  */
 4053   __pyx_t_1 = ((enum recode_error)__Pyx_PyInt_As_enum__recode_error(__pyx_v_fail_level)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 688, __pyx_L1_error)
 4054   __pyx_v_self->task->fail_level = __pyx_t_1;
 4055 
 4056   /* "Recode.pyx":689
 4057  *         previous = self.task.fail_level
 4058  *         self.task.fail_level = fail_level
 4059  *         return previous             # <<<<<<<<<<<<<<
 4060  * 
 4061  *     def set_abort_level(self, abort_level):
 4062  */
 4063   __Pyx_XDECREF(__pyx_r);
 4064   __pyx_t_2 = __Pyx_PyInt_From_enum__recode_error(__pyx_v_previous); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 689, __pyx_L1_error)
 4065   __Pyx_GOTREF(__pyx_t_2);
 4066   __pyx_r = __pyx_t_2;
 4067   __pyx_t_2 = 0;
 4068   goto __pyx_L0;
 4069 
 4070   /* "Recode.pyx":686
 4071  *         return self.task.error_so_far
 4072  * 
 4073  *     def set_fail_level(self, fail_level):             # <<<<<<<<<<<<<<
 4074  *         previous = self.task.fail_level
 4075  *         self.task.fail_level = fail_level
 4076  */
 4077 
 4078   /* function exit code */
 4079   __pyx_L1_error:;
 4080   __Pyx_XDECREF(__pyx_t_2);
 4081   __Pyx_AddTraceback("Recode.Task.set_fail_level", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4082   __pyx_r = NULL;
 4083   __pyx_L0:;
 4084   __Pyx_XGIVEREF(__pyx_r);
 4085   __Pyx_RefNannyFinishContext();
 4086   return __pyx_r;
 4087 }
 4088 
 4089 /* "Recode.pyx":691
 4090  *         return previous
 4091  * 
 4092  *     def set_abort_level(self, abort_level):             # <<<<<<<<<<<<<<
 4093  *         previous = self.task.abort_level
 4094  *         self.task.abort_level = abort_level
 4095  */
 4096 
 4097 /* Python wrapper */
 4098 static PyObject *__pyx_pw_6Recode_4Task_11set_abort_level(PyObject *__pyx_v_self, PyObject *__pyx_v_abort_level); /*proto*/
 4099 static PyObject *__pyx_pw_6Recode_4Task_11set_abort_level(PyObject *__pyx_v_self, PyObject *__pyx_v_abort_level) {
 4100   PyObject *__pyx_r = 0;
 4101   __Pyx_RefNannyDeclarations
 4102   __Pyx_RefNannySetupContext("set_abort_level (wrapper)", 0);
 4103   __pyx_r = __pyx_pf_6Recode_4Task_10set_abort_level(((struct __pyx_obj_6Recode_Task *)__pyx_v_self), ((PyObject *)__pyx_v_abort_level));
 4104 
 4105   /* function exit code */
 4106   __Pyx_RefNannyFinishContext();
 4107   return __pyx_r;
 4108 }
 4109 
 4110 static PyObject *__pyx_pf_6Recode_4Task_10set_abort_level(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_abort_level) {
 4111   enum recode_error __pyx_v_previous;
 4112   PyObject *__pyx_r = NULL;
 4113   __Pyx_RefNannyDeclarations
 4114   enum recode_error __pyx_t_1;
 4115   PyObject *__pyx_t_2 = NULL;
 4116   __Pyx_RefNannySetupContext("set_abort_level", 0);
 4117 
 4118   /* "Recode.pyx":692
 4119  * 
 4120  *     def set_abort_level(self, abort_level):
 4121  *         previous = self.task.abort_level             # <<<<<<<<<<<<<<
 4122  *         self.task.abort_level = abort_level
 4123  *         return previous
 4124  */
 4125   __pyx_t_1 = __pyx_v_self->task->abort_level;
 4126   __pyx_v_previous = __pyx_t_1;
 4127 
 4128   /* "Recode.pyx":693
 4129  *     def set_abort_level(self, abort_level):
 4130  *         previous = self.task.abort_level
 4131  *         self.task.abort_level = abort_level             # <<<<<<<<<<<<<<
 4132  *         return previous
 4133  * 
 4134  */
 4135   __pyx_t_1 = ((enum recode_error)__Pyx_PyInt_As_enum__recode_error(__pyx_v_abort_level)); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 693, __pyx_L1_error)
 4136   __pyx_v_self->task->abort_level = __pyx_t_1;
 4137 
 4138   /* "Recode.pyx":694
 4139  *         previous = self.task.abort_level
 4140  *         self.task.abort_level = abort_level
 4141  *         return previous             # <<<<<<<<<<<<<<
 4142  * 
 4143  *     def set_input(self, text):
 4144  */
 4145   __Pyx_XDECREF(__pyx_r);
 4146   __pyx_t_2 = __Pyx_PyInt_From_enum__recode_error(__pyx_v_previous); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 694, __pyx_L1_error)
 4147   __Pyx_GOTREF(__pyx_t_2);
 4148   __pyx_r = __pyx_t_2;
 4149   __pyx_t_2 = 0;
 4150   goto __pyx_L0;
 4151 
 4152   /* "Recode.pyx":691
 4153  *         return previous
 4154  * 
 4155  *     def set_abort_level(self, abort_level):             # <<<<<<<<<<<<<<
 4156  *         previous = self.task.abort_level
 4157  *         self.task.abort_level = abort_level
 4158  */
 4159 
 4160   /* function exit code */
 4161   __pyx_L1_error:;
 4162   __Pyx_XDECREF(__pyx_t_2);
 4163   __Pyx_AddTraceback("Recode.Task.set_abort_level", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4164   __pyx_r = NULL;
 4165   __pyx_L0:;
 4166   __Pyx_XGIVEREF(__pyx_r);
 4167   __Pyx_RefNannyFinishContext();
 4168   return __pyx_r;
 4169 }
 4170 
 4171 /* "Recode.pyx":696
 4172  *         return previous
 4173  * 
 4174  *     def set_input(self, text):             # <<<<<<<<<<<<<<
 4175  *         cdef char *input = text
 4176  *         cdef size_t input_len = len(text)
 4177  */
 4178 
 4179 /* Python wrapper */
 4180 static PyObject *__pyx_pw_6Recode_4Task_13set_input(PyObject *__pyx_v_self, PyObject *__pyx_v_text); /*proto*/
 4181 static PyObject *__pyx_pw_6Recode_4Task_13set_input(PyObject *__pyx_v_self, PyObject *__pyx_v_text) {
 4182   PyObject *__pyx_r = 0;
 4183   __Pyx_RefNannyDeclarations
 4184   __Pyx_RefNannySetupContext("set_input (wrapper)", 0);
 4185   __pyx_r = __pyx_pf_6Recode_4Task_12set_input(((struct __pyx_obj_6Recode_Task *)__pyx_v_self), ((PyObject *)__pyx_v_text));
 4186 
 4187   /* function exit code */
 4188   __Pyx_RefNannyFinishContext();
 4189   return __pyx_r;
 4190 }
 4191 
 4192 static PyObject *__pyx_pf_6Recode_4Task_12set_input(struct __pyx_obj_6Recode_Task *__pyx_v_self, PyObject *__pyx_v_text) {
 4193   char *__pyx_v_input;
 4194   size_t __pyx_v_input_len;
 4195   PyObject *__pyx_r = NULL;
 4196   __Pyx_RefNannyDeclarations
 4197   char *__pyx_t_1;
 4198   Py_ssize_t __pyx_t_2;
 4199   __Pyx_RefNannySetupContext("set_input", 0);
 4200 
 4201   /* "Recode.pyx":697
 4202  * 
 4203  *     def set_input(self, text):
 4204  *         cdef char *input = text             # <<<<<<<<<<<<<<
 4205  *         cdef size_t input_len = len(text)
 4206  *         self.task.input.buffer = input
 4207  */
 4208   __pyx_t_1 = __Pyx_PyObject_AsWritableString(__pyx_v_text); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(1, 697, __pyx_L1_error)
 4209   __pyx_v_input = __pyx_t_1;
 4210 
 4211   /* "Recode.pyx":698
 4212  *     def set_input(self, text):
 4213  *         cdef char *input = text
 4214  *         cdef size_t input_len = len(text)             # <<<<<<<<<<<<<<
 4215  *         self.task.input.buffer = input
 4216  *         self.task.input.cursor = input
 4217  */
 4218   __pyx_t_2 = PyObject_Length(__pyx_v_text); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 698, __pyx_L1_error)
 4219   __pyx_v_input_len = __pyx_t_2;
 4220 
 4221   /* "Recode.pyx":699
 4222  *         cdef char *input = text
 4223  *         cdef size_t input_len = len(text)
 4224  *         self.task.input.buffer = input             # <<<<<<<<<<<<<<
 4225  *         self.task.input.cursor = input
 4226  *         self.task.input.limit = input + input_len
 4227  */
 4228   __pyx_v_self->task->input.buffer = __pyx_v_input;
 4229 
 4230   /* "Recode.pyx":700
 4231  *         cdef size_t input_len = len(text)
 4232  *         self.task.input.buffer = input
 4233  *         self.task.input.cursor = input             # <<<<<<<<<<<<<<
 4234  *         self.task.input.limit = input + input_len
 4235  * 
 4236  */
 4237   __pyx_v_self->task->input.cursor = __pyx_v_input;
 4238 
 4239   /* "Recode.pyx":701
 4240  *         self.task.input.buffer = input
 4241  *         self.task.input.cursor = input
 4242  *         self.task.input.limit = input + input_len             # <<<<<<<<<<<<<<
 4243  * 
 4244  *     def get_output(self):
 4245  */
 4246   __pyx_v_self->task->input.limit = (__pyx_v_input + __pyx_v_input_len);
 4247 
 4248   /* "Recode.pyx":696
 4249  *         return previous
 4250  * 
 4251  *     def set_input(self, text):             # <<<<<<<<<<<<<<
 4252  *         cdef char *input = text
 4253  *         cdef size_t input_len = len(text)
 4254  */
 4255 
 4256   /* function exit code */
 4257   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 4258   goto __pyx_L0;
 4259   __pyx_L1_error:;
 4260   __Pyx_AddTraceback("Recode.Task.set_input", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4261   __pyx_r = NULL;
 4262   __pyx_L0:;
 4263   __Pyx_XGIVEREF(__pyx_r);
 4264   __Pyx_RefNannyFinishContext();
 4265   return __pyx_r;
 4266 }
 4267 
 4268 /* "Recode.pyx":703
 4269  *         self.task.input.limit = input + input_len
 4270  * 
 4271  *     def get_output(self):             # <<<<<<<<<<<<<<
 4272  *         return self.task.output.buffer[:self.task.output.cursor - self.task.output.buffer]
 4273  * 
 4274  */
 4275 
 4276 /* Python wrapper */
 4277 static PyObject *__pyx_pw_6Recode_4Task_15get_output(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 4278 static PyObject *__pyx_pw_6Recode_4Task_15get_output(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 4279   PyObject *__pyx_r = 0;
 4280   __Pyx_RefNannyDeclarations
 4281   __Pyx_RefNannySetupContext("get_output (wrapper)", 0);
 4282   __pyx_r = __pyx_pf_6Recode_4Task_14get_output(((struct __pyx_obj_6Recode_Task *)__pyx_v_self));
 4283 
 4284   /* function exit code */
 4285   __Pyx_RefNannyFinishContext();
 4286   return __pyx_r;
 4287 }
 4288 
 4289 static PyObject *__pyx_pf_6Recode_4Task_14get_output(struct __pyx_obj_6Recode_Task *__pyx_v_self) {
 4290   PyObject *__pyx_r = NULL;
 4291   __Pyx_RefNannyDeclarations
 4292   PyObject *__pyx_t_1 = NULL;
 4293   __Pyx_RefNannySetupContext("get_output", 0);
 4294 
 4295   /* "Recode.pyx":704
 4296  * 
 4297  *     def get_output(self):
 4298  *         return self.task.output.buffer[:self.task.output.cursor - self.task.output.buffer]             # <<<<<<<<<<<<<<
 4299  * 
 4300  *     def perform(self):
 4301  */
 4302   __Pyx_XDECREF(__pyx_r);
 4303   __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_self->task->output.buffer + 0, (__pyx_v_self->task->output.cursor - __pyx_v_self->task->output.buffer) - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 704, __pyx_L1_error)
 4304   __Pyx_GOTREF(__pyx_t_1);
 4305   __pyx_r = __pyx_t_1;
 4306   __pyx_t_1 = 0;
 4307   goto __pyx_L0;
 4308 
 4309   /* "Recode.pyx":703
 4310  *         self.task.input.limit = input + input_len
 4311  * 
 4312  *     def get_output(self):             # <<<<<<<<<<<<<<
 4313  *         return self.task.output.buffer[:self.task.output.cursor - self.task.output.buffer]
 4314  * 
 4315  */
 4316 
 4317   /* function exit code */
 4318   __pyx_L1_error:;
 4319   __Pyx_XDECREF(__pyx_t_1);
 4320   __Pyx_AddTraceback("Recode.Task.get_output", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4321   __pyx_r = NULL;
 4322   __pyx_L0:;
 4323   __Pyx_XGIVEREF(__pyx_r);
 4324   __Pyx_RefNannyFinishContext();
 4325   return __pyx_r;
 4326 }
 4327 
 4328 /* "Recode.pyx":706
 4329  *         return self.task.output.buffer[:self.task.output.cursor - self.task.output.buffer]
 4330  * 
 4331  *     def perform(self):             # <<<<<<<<<<<<<<
 4332  *         return recode_perform_task(self.task)
 4333  */
 4334 
 4335 /* Python wrapper */
 4336 static PyObject *__pyx_pw_6Recode_4Task_17perform(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 4337 static PyObject *__pyx_pw_6Recode_4Task_17perform(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 4338   PyObject *__pyx_r = 0;
 4339   __Pyx_RefNannyDeclarations
 4340   __Pyx_RefNannySetupContext("perform (wrapper)", 0);
 4341   __pyx_r = __pyx_pf_6Recode_4Task_16perform(((struct __pyx_obj_6Recode_Task *)__pyx_v_self));
 4342 
 4343   /* function exit code */
 4344   __Pyx_RefNannyFinishContext();
 4345   return __pyx_r;
 4346 }
 4347 
 4348 static PyObject *__pyx_pf_6Recode_4Task_16perform(struct __pyx_obj_6Recode_Task *__pyx_v_self) {
 4349   PyObject *__pyx_r = NULL;
 4350   __Pyx_RefNannyDeclarations
 4351   PyObject *__pyx_t_1 = NULL;
 4352   __Pyx_RefNannySetupContext("perform", 0);
 4353 
 4354   /* "Recode.pyx":707
 4355  * 
 4356  *     def perform(self):
 4357  *         return recode_perform_task(self.task)             # <<<<<<<<<<<<<<
 4358  */
 4359   __Pyx_XDECREF(__pyx_r);
 4360   __pyx_t_1 = __Pyx_PyBool_FromLong(recode_perform_task(__pyx_v_self->task)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 707, __pyx_L1_error)
 4361   __Pyx_GOTREF(__pyx_t_1);
 4362   __pyx_r = __pyx_t_1;
 4363   __pyx_t_1 = 0;
 4364   goto __pyx_L0;
 4365 
 4366   /* "Recode.pyx":706
 4367  *         return self.task.output.buffer[:self.task.output.cursor - self.task.output.buffer]
 4368  * 
 4369  *     def perform(self):             # <<<<<<<<<<<<<<
 4370  *         return recode_perform_task(self.task)
 4371  */
 4372 
 4373   /* function exit code */
 4374   __pyx_L1_error:;
 4375   __Pyx_XDECREF(__pyx_t_1);
 4376   __Pyx_AddTraceback("Recode.Task.perform", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4377   __pyx_r = NULL;
 4378   __pyx_L0:;
 4379   __Pyx_XGIVEREF(__pyx_r);
 4380   __Pyx_RefNannyFinishContext();
 4381   return __pyx_r;
 4382 }
 4383 
 4384 /* "(tree fragment)":1
 4385  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 4386  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4387  * def __setstate_cython__(self, __pyx_state):
 4388  */
 4389 
 4390 /* Python wrapper */
 4391 static PyObject *__pyx_pw_6Recode_4Task_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 4392 static PyObject *__pyx_pw_6Recode_4Task_19__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
 4393   PyObject *__pyx_r = 0;
 4394   __Pyx_RefNannyDeclarations
 4395   __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
 4396   __pyx_r = __pyx_pf_6Recode_4Task_18__reduce_cython__(((struct __pyx_obj_6Recode_Task *)__pyx_v_self));
 4397 
 4398   /* function exit code */
 4399   __Pyx_RefNannyFinishContext();
 4400   return __pyx_r;
 4401 }
 4402 
 4403 static PyObject *__pyx_pf_6Recode_4Task_18__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Task *__pyx_v_self) {
 4404   PyObject *__pyx_r = NULL;
 4405   __Pyx_RefNannyDeclarations
 4406   PyObject *__pyx_t_1 = NULL;
 4407   __Pyx_RefNannySetupContext("__reduce_cython__", 0);
 4408 
 4409   /* "(tree fragment)":2
 4410  * def __reduce_cython__(self):
 4411  *     raise TypeError("self.task cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 4412  * def __setstate_cython__(self, __pyx_state):
 4413  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4414  */
 4415   __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
 4416   __Pyx_GOTREF(__pyx_t_1);
 4417   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
 4418   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 4419   __PYX_ERR(0, 2, __pyx_L1_error)
 4420 
 4421   /* "(tree fragment)":1
 4422  * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 4423  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4424  * def __setstate_cython__(self, __pyx_state):
 4425  */
 4426 
 4427   /* function exit code */
 4428   __pyx_L1_error:;
 4429   __Pyx_XDECREF(__pyx_t_1);
 4430   __Pyx_AddTraceback("Recode.Task.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4431   __pyx_r = NULL;
 4432   __Pyx_XGIVEREF(__pyx_r);
 4433   __Pyx_RefNannyFinishContext();
 4434   return __pyx_r;
 4435 }
 4436 
 4437 /* "(tree fragment)":3
 4438  * def __reduce_cython__(self):
 4439  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4440  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 4441  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4442  */
 4443 
 4444 /* Python wrapper */
 4445 static PyObject *__pyx_pw_6Recode_4Task_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/
 4446 static PyObject *__pyx_pw_6Recode_4Task_21__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
 4447   PyObject *__pyx_r = 0;
 4448   __Pyx_RefNannyDeclarations
 4449   __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
 4450   __pyx_r = __pyx_pf_6Recode_4Task_20__setstate_cython__(((struct __pyx_obj_6Recode_Task *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state));
 4451 
 4452   /* function exit code */
 4453   __Pyx_RefNannyFinishContext();
 4454   return __pyx_r;
 4455 }
 4456 
 4457 static PyObject *__pyx_pf_6Recode_4Task_20__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_6Recode_Task *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
 4458   PyObject *__pyx_r = NULL;
 4459   __Pyx_RefNannyDeclarations
 4460   PyObject *__pyx_t_1 = NULL;
 4461   __Pyx_RefNannySetupContext("__setstate_cython__", 0);
 4462 
 4463   /* "(tree fragment)":4
 4464  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4465  * def __setstate_cython__(self, __pyx_state):
 4466  *     raise TypeError("self.task cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 4467  */
 4468   __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
 4469   __Pyx_GOTREF(__pyx_t_1);
 4470   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
 4471   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 4472   __PYX_ERR(0, 4, __pyx_L1_error)
 4473 
 4474   /* "(tree fragment)":3
 4475  * def __reduce_cython__(self):
 4476  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4477  * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 4478  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 4479  */
 4480 
 4481   /* function exit code */
 4482   __pyx_L1_error:;
 4483   __Pyx_XDECREF(__pyx_t_1);
 4484   __Pyx_AddTraceback("Recode.Task.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
 4485   __pyx_r = NULL;
 4486   __Pyx_XGIVEREF(__pyx_r);
 4487   __Pyx_RefNannyFinishContext();
 4488   return __pyx_r;
 4489 }
 4490 
 4491 static PyObject *__pyx_tp_new_6Recode_Outer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
 4492   PyObject *o;
 4493   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
 4494     o = (*t->tp_alloc)(t, 0);
 4495   } else {
 4496     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
 4497   }
 4498   if (unlikely(!o)) return 0;
 4499   return o;
 4500 }
 4501 
 4502 static void __pyx_tp_dealloc_6Recode_Outer(PyObject *o) {
 4503   #if CYTHON_USE_TP_FINALIZE
 4504   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
 4505     if (PyObject_CallFinalizerFromDealloc(o)) return;
 4506   }
 4507   #endif
 4508   {
 4509     PyObject *etype, *eval, *etb;
 4510     PyErr_Fetch(&etype, &eval, &etb);
 4511     ++Py_REFCNT(o);
 4512     __pyx_pw_6Recode_5Outer_3__dealloc__(o);
 4513     --Py_REFCNT(o);
 4514     PyErr_Restore(etype, eval, etb);
 4515   }
 4516   (*Py_TYPE(o)->tp_free)(o);
 4517 }
 4518 
 4519 static PyMethodDef __pyx_methods_6Recode_Outer[] = {
 4520   {"default_charset", (PyCFunction)__pyx_pw_6Recode_5Outer_5default_charset, METH_NOARGS, 0},
 4521   {"all_charsets", (PyCFunction)__pyx_pw_6Recode_5Outer_7all_charsets, METH_NOARGS, 0},
 4522   {"all_surfaces", (PyCFunction)__pyx_pw_6Recode_5Outer_9all_surfaces, METH_NOARGS, 0},
 4523   {"concise_charset", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Recode_5Outer_11concise_charset, METH_VARARGS|METH_KEYWORDS, 0},
 4524   {"full_charset", (PyCFunction)__pyx_pw_6Recode_5Outer_13full_charset, METH_NOARGS, 0},
 4525   {"recode", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Recode_5Outer_15recode, METH_VARARGS|METH_KEYWORDS, 0},
 4526   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Recode_5Outer_17__reduce_cython__, METH_NOARGS, 0},
 4527   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Recode_5Outer_19__setstate_cython__, METH_O, 0},
 4528   {0, 0, 0, 0}
 4529 };
 4530 
 4531 static PyTypeObject __pyx_type_6Recode_Outer = {
 4532   PyVarObject_HEAD_INIT(0, 0)
 4533   "Recode.Outer", /*tp_name*/
 4534   sizeof(struct __pyx_obj_6Recode_Outer), /*tp_basicsize*/
 4535   0, /*tp_itemsize*/
 4536   __pyx_tp_dealloc_6Recode_Outer, /*tp_dealloc*/
 4537   #if PY_VERSION_HEX < 0x030800b4
 4538   0, /*tp_print*/
 4539   #endif
 4540   #if PY_VERSION_HEX >= 0x030800b4
 4541   0, /*tp_vectorcall_offset*/
 4542   #endif
 4543   0, /*tp_getattr*/
 4544   0, /*tp_setattr*/
 4545   #if PY_MAJOR_VERSION < 3
 4546   0, /*tp_compare*/
 4547   #endif
 4548   #if PY_MAJOR_VERSION >= 3
 4549   0, /*tp_as_async*/
 4550   #endif
 4551   0, /*tp_repr*/
 4552   0, /*tp_as_number*/
 4553   0, /*tp_as_sequence*/
 4554   0, /*tp_as_mapping*/
 4555   0, /*tp_hash*/
 4556   0, /*tp_call*/
 4557   0, /*tp_str*/
 4558   0, /*tp_getattro*/
 4559   0, /*tp_setattro*/
 4560   0, /*tp_as_buffer*/
 4561   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
 4562   0, /*tp_doc*/
 4563   0, /*tp_traverse*/
 4564   0, /*tp_clear*/
 4565   0, /*tp_richcompare*/
 4566   0, /*tp_weaklistoffset*/
 4567   0, /*tp_iter*/
 4568   0, /*tp_iternext*/
 4569   __pyx_methods_6Recode_Outer, /*tp_methods*/
 4570   0, /*tp_members*/
 4571   0, /*tp_getset*/
 4572   0, /*tp_base*/
 4573   0, /*tp_dict*/
 4574   0, /*tp_descr_get*/
 4575   0, /*tp_descr_set*/
 4576   0, /*tp_dictoffset*/
 4577   __pyx_pw_6Recode_5Outer_1__init__, /*tp_init*/
 4578   0, /*tp_alloc*/
 4579   __pyx_tp_new_6Recode_Outer, /*tp_new*/
 4580   0, /*tp_free*/
 4581   0, /*tp_is_gc*/
 4582   0, /*tp_bases*/
 4583   0, /*tp_mro*/
 4584   0, /*tp_cache*/
 4585   0, /*tp_subclasses*/
 4586   0, /*tp_weaklist*/
 4587   0, /*tp_del*/
 4588   0, /*tp_version_tag*/
 4589   #if PY_VERSION_HEX >= 0x030400a1
 4590   0, /*tp_finalize*/
 4591   #endif
 4592   #if PY_VERSION_HEX >= 0x030800b1
 4593   0, /*tp_vectorcall*/
 4594   #endif
 4595   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 4596   0, /*tp_print*/
 4597   #endif
 4598 };
 4599 
 4600 static PyObject *__pyx_tp_new_6Recode_Request(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
 4601   PyObject *o;
 4602   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
 4603     o = (*t->tp_alloc)(t, 0);
 4604   } else {
 4605     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
 4606   }
 4607   if (unlikely(!o)) return 0;
 4608   return o;
 4609 }
 4610 
 4611 static void __pyx_tp_dealloc_6Recode_Request(PyObject *o) {
 4612   #if CYTHON_USE_TP_FINALIZE
 4613   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
 4614     if (PyObject_CallFinalizerFromDealloc(o)) return;
 4615   }
 4616   #endif
 4617   {
 4618     PyObject *etype, *eval, *etb;
 4619     PyErr_Fetch(&etype, &eval, &etb);
 4620     ++Py_REFCNT(o);
 4621     __pyx_pw_6Recode_7Request_3__dealloc__(o);
 4622     --Py_REFCNT(o);
 4623     PyErr_Restore(etype, eval, etb);
 4624   }
 4625   (*Py_TYPE(o)->tp_free)(o);
 4626 }
 4627 
 4628 static PyMethodDef __pyx_methods_6Recode_Request[] = {
 4629   {"set_verbose", (PyCFunction)__pyx_pw_6Recode_7Request_5set_verbose, METH_O, 0},
 4630   {"scan", (PyCFunction)__pyx_pw_6Recode_7Request_7scan, METH_O, 0},
 4631   {"pair_sequence", (PyCFunction)__pyx_pw_6Recode_7Request_9pair_sequence, METH_NOARGS, 0},
 4632   {"format_table", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_6Recode_7Request_11format_table, METH_VARARGS|METH_KEYWORDS, 0},
 4633   {"string", (PyCFunction)__pyx_pw_6Recode_7Request_13string, METH_O, 0},
 4634   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Recode_7Request_15__reduce_cython__, METH_NOARGS, 0},
 4635   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Recode_7Request_17__setstate_cython__, METH_O, 0},
 4636   {0, 0, 0, 0}
 4637 };
 4638 
 4639 static PyTypeObject __pyx_type_6Recode_Request = {
 4640   PyVarObject_HEAD_INIT(0, 0)
 4641   "Recode.Request", /*tp_name*/
 4642   sizeof(struct __pyx_obj_6Recode_Request), /*tp_basicsize*/
 4643   0, /*tp_itemsize*/
 4644   __pyx_tp_dealloc_6Recode_Request, /*tp_dealloc*/
 4645   #if PY_VERSION_HEX < 0x030800b4
 4646   0, /*tp_print*/
 4647   #endif
 4648   #if PY_VERSION_HEX >= 0x030800b4
 4649   0, /*tp_vectorcall_offset*/
 4650   #endif
 4651   0, /*tp_getattr*/
 4652   0, /*tp_setattr*/
 4653   #if PY_MAJOR_VERSION < 3
 4654   0, /*tp_compare*/
 4655   #endif
 4656   #if PY_MAJOR_VERSION >= 3
 4657   0, /*tp_as_async*/
 4658   #endif
 4659   0, /*tp_repr*/
 4660   0, /*tp_as_number*/
 4661   0, /*tp_as_sequence*/
 4662   0, /*tp_as_mapping*/
 4663   0, /*tp_hash*/
 4664   0, /*tp_call*/
 4665   0, /*tp_str*/
 4666   0, /*tp_getattro*/
 4667   0, /*tp_setattro*/
 4668   0, /*tp_as_buffer*/
 4669   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
 4670   0, /*tp_doc*/
 4671   0, /*tp_traverse*/
 4672   0, /*tp_clear*/
 4673   0, /*tp_richcompare*/
 4674   0, /*tp_weaklistoffset*/
 4675   0, /*tp_iter*/
 4676   0, /*tp_iternext*/
 4677   __pyx_methods_6Recode_Request, /*tp_methods*/
 4678   0, /*tp_members*/
 4679   0, /*tp_getset*/
 4680   0, /*tp_base*/
 4681   0, /*tp_dict*/
 4682   0, /*tp_descr_get*/
 4683   0, /*tp_descr_set*/
 4684   0, /*tp_dictoffset*/
 4685   __pyx_pw_6Recode_7Request_1__init__, /*tp_init*/
 4686   0, /*tp_alloc*/
 4687   __pyx_tp_new_6Recode_Request, /*tp_new*/
 4688   0, /*tp_free*/
 4689   0, /*tp_is_gc*/
 4690   0, /*tp_bases*/
 4691   0, /*tp_mro*/
 4692   0, /*tp_cache*/
 4693   0, /*tp_subclasses*/
 4694   0, /*tp_weaklist*/
 4695   0, /*tp_del*/
 4696   0, /*tp_version_tag*/
 4697   #if PY_VERSION_HEX >= 0x030400a1
 4698   0, /*tp_finalize*/
 4699   #endif
 4700   #if PY_VERSION_HEX >= 0x030800b1
 4701   0, /*tp_vectorcall*/
 4702   #endif
 4703   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 4704   0, /*tp_print*/
 4705   #endif
 4706 };
 4707 
 4708 static PyObject *__pyx_tp_new_6Recode_Task(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
 4709   PyObject *o;
 4710   if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) {
 4711     o = (*t->tp_alloc)(t, 0);
 4712   } else {
 4713     o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
 4714   }
 4715   if (unlikely(!o)) return 0;
 4716   return o;
 4717 }
 4718 
 4719 static void __pyx_tp_dealloc_6Recode_Task(PyObject *o) {
 4720   #if CYTHON_USE_TP_FINALIZE
 4721   if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) {
 4722     if (PyObject_CallFinalizerFromDealloc(o)) return;
 4723   }
 4724   #endif
 4725   {
 4726     PyObject *etype, *eval, *etb;
 4727     PyErr_Fetch(&etype, &eval, &etb);
 4728     ++Py_REFCNT(o);
 4729     __pyx_pw_6Recode_4Task_3__dealloc__(o);
 4730     --Py_REFCNT(o);
 4731     PyErr_Restore(etype, eval, etb);
 4732   }
 4733   (*Py_TYPE(o)->tp_free)(o);
 4734 }
 4735 
 4736 static PyMethodDef __pyx_methods_6Recode_Task[] = {
 4737   {"set_byte_order_mark", (PyCFunction)__pyx_pw_6Recode_4Task_5set_byte_order_mark, METH_O, 0},
 4738   {"get_error", (PyCFunction)__pyx_pw_6Recode_4Task_7get_error, METH_NOARGS, 0},
 4739   {"set_fail_level", (PyCFunction)__pyx_pw_6Recode_4Task_9set_fail_level, METH_O, 0},
 4740   {"set_abort_level", (PyCFunction)__pyx_pw_6Recode_4Task_11set_abort_level, METH_O, 0},
 4741   {"set_input", (PyCFunction)__pyx_pw_6Recode_4Task_13set_input, METH_O, 0},
 4742   {"get_output", (PyCFunction)__pyx_pw_6Recode_4Task_15get_output, METH_NOARGS, 0},
 4743   {"perform", (PyCFunction)__pyx_pw_6Recode_4Task_17perform, METH_NOARGS, 0},
 4744   {"__reduce_cython__", (PyCFunction)__pyx_pw_6Recode_4Task_19__reduce_cython__, METH_NOARGS, 0},
 4745   {"__setstate_cython__", (PyCFunction)__pyx_pw_6Recode_4Task_21__setstate_cython__, METH_O, 0},
 4746   {0, 0, 0, 0}
 4747 };
 4748 
 4749 static PyTypeObject __pyx_type_6Recode_Task = {
 4750   PyVarObject_HEAD_INIT(0, 0)
 4751   "Recode.Task", /*tp_name*/
 4752   sizeof(struct __pyx_obj_6Recode_Task), /*tp_basicsize*/
 4753   0, /*tp_itemsize*/
 4754   __pyx_tp_dealloc_6Recode_Task, /*tp_dealloc*/
 4755   #if PY_VERSION_HEX < 0x030800b4
 4756   0, /*tp_print*/
 4757   #endif
 4758   #if PY_VERSION_HEX >= 0x030800b4
 4759   0, /*tp_vectorcall_offset*/
 4760   #endif
 4761   0, /*tp_getattr*/
 4762   0, /*tp_setattr*/
 4763   #if PY_MAJOR_VERSION < 3
 4764   0, /*tp_compare*/
 4765   #endif
 4766   #if PY_MAJOR_VERSION >= 3
 4767   0, /*tp_as_async*/
 4768   #endif
 4769   0, /*tp_repr*/
 4770   0, /*tp_as_number*/
 4771   0, /*tp_as_sequence*/
 4772   0, /*tp_as_mapping*/
 4773   0, /*tp_hash*/
 4774   0, /*tp_call*/
 4775   0, /*tp_str*/
 4776   0, /*tp_getattro*/
 4777   0, /*tp_setattro*/
 4778   0, /*tp_as_buffer*/
 4779   Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
 4780   0, /*tp_doc*/
 4781   0, /*tp_traverse*/
 4782   0, /*tp_clear*/
 4783   0, /*tp_richcompare*/
 4784   0, /*tp_weaklistoffset*/
 4785   0, /*tp_iter*/
 4786   0, /*tp_iternext*/
 4787   __pyx_methods_6Recode_Task, /*tp_methods*/
 4788   0, /*tp_members*/
 4789   0, /*tp_getset*/
 4790   0, /*tp_base*/
 4791   0, /*tp_dict*/
 4792   0, /*tp_descr_get*/
 4793   0, /*tp_descr_set*/
 4794   0, /*tp_dictoffset*/
 4795   __pyx_pw_6Recode_4Task_1__init__, /*tp_init*/
 4796   0, /*tp_alloc*/
 4797   __pyx_tp_new_6Recode_Task, /*tp_new*/
 4798   0, /*tp_free*/
 4799   0, /*tp_is_gc*/
 4800   0, /*tp_bases*/
 4801   0, /*tp_mro*/
 4802   0, /*tp_cache*/
 4803   0, /*tp_subclasses*/
 4804   0, /*tp_weaklist*/
 4805   0, /*tp_del*/
 4806   0, /*tp_version_tag*/
 4807   #if PY_VERSION_HEX >= 0x030400a1
 4808   0, /*tp_finalize*/
 4809   #endif
 4810   #if PY_VERSION_HEX >= 0x030800b1
 4811   0, /*tp_vectorcall*/
 4812   #endif
 4813   #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 4814   0, /*tp_print*/
 4815   #endif
 4816 };
 4817 
 4818 static PyMethodDef __pyx_methods[] = {
 4819   {0, 0, 0, 0}
 4820 };
 4821 
 4822 #if PY_MAJOR_VERSION >= 3
 4823 #if CYTHON_PEP489_MULTI_PHASE_INIT
 4824 static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
 4825 static int __pyx_pymod_exec_Recode(PyObject* module); /*proto*/
 4826 static PyModuleDef_Slot __pyx_moduledef_slots[] = {
 4827   {Py_mod_create, (void*)__pyx_pymod_create},
 4828   {Py_mod_exec, (void*)__pyx_pymod_exec_Recode},
 4829   {0, NULL}
 4830 };
 4831 #endif
 4832 
 4833 static struct PyModuleDef __pyx_moduledef = {
 4834     PyModuleDef_HEAD_INIT,
 4835     "Recode",
 4836     0, /* m_doc */
 4837   #if CYTHON_PEP489_MULTI_PHASE_INIT
 4838     0, /* m_size */
 4839   #else
 4840     -1, /* m_size */
 4841   #endif
 4842     __pyx_methods /* m_methods */,
 4843   #if CYTHON_PEP489_MULTI_PHASE_INIT
 4844     __pyx_moduledef_slots, /* m_slots */
 4845   #else
 4846     NULL, /* m_reload */
 4847   #endif
 4848     NULL, /* m_traverse */
 4849     NULL, /* m_clear */
 4850     NULL /* m_free */
 4851 };
 4852 #endif
 4853 #ifndef CYTHON_SMALL_CODE
 4854 #if defined(__clang__)
 4855     #define CYTHON_SMALL_CODE
 4856 #elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
 4857     #define CYTHON_SMALL_CODE __attribute__((cold))
 4858 #else
 4859     #define CYTHON_SMALL_CODE
 4860 #endif
 4861 #endif
 4862 
 4863 static __Pyx_StringTabEntry __pyx_string_tab[] = {
 4864   {&__pyx_n_s_ALIAS_FIND_AS_CHARSET, __pyx_k_ALIAS_FIND_AS_CHARSET, sizeof(__pyx_k_ALIAS_FIND_AS_CHARSET), 0, 0, 1, 1},
 4865   {&__pyx_n_s_ALIAS_FIND_AS_EITHER, __pyx_k_ALIAS_FIND_AS_EITHER, sizeof(__pyx_k_ALIAS_FIND_AS_EITHER), 0, 0, 1, 1},
 4866   {&__pyx_n_s_ALIAS_FIND_AS_SURFACE, __pyx_k_ALIAS_FIND_AS_SURFACE, sizeof(__pyx_k_ALIAS_FIND_AS_SURFACE), 0, 0, 1, 1},
 4867   {&__pyx_n_s_AMBIGUOUS_OUTPUT, __pyx_k_AMBIGUOUS_OUTPUT, sizeof(__pyx_k_AMBIGUOUS_OUTPUT), 0, 0, 1, 1},
 4868   {&__pyx_n_s_AUTO_ABORT_FLAG, __pyx_k_AUTO_ABORT_FLAG, sizeof(__pyx_k_AUTO_ABORT_FLAG), 0, 0, 1, 1},
 4869   {&__pyx_n_s_BYTE_ORDER_MARK, __pyx_k_BYTE_ORDER_MARK, sizeof(__pyx_k_BYTE_ORDER_MARK), 0, 0, 1, 1},
 4870   {&__pyx_n_s_BYTE_ORDER_MARK_SWAPPED, __pyx_k_BYTE_ORDER_MARK_SWAPPED, sizeof(__pyx_k_BYTE_ORDER_MARK_SWAPPED), 0, 0, 1, 1},
 4871   {&__pyx_n_s_BYTE_TO_BYTE, __pyx_k_BYTE_TO_BYTE, sizeof(__pyx_k_BYTE_TO_BYTE), 0, 0, 1, 1},
 4872   {&__pyx_n_s_BYTE_TO_STRING, __pyx_k_BYTE_TO_STRING, sizeof(__pyx_k_BYTE_TO_STRING), 0, 0, 1, 1},
 4873   {&__pyx_n_s_CHARSET, __pyx_k_CHARSET, sizeof(__pyx_k_CHARSET), 0, 0, 1, 1},
 4874   {&__pyx_n_s_COMBINE_EXPLODE, __pyx_k_COMBINE_EXPLODE, sizeof(__pyx_k_COMBINE_EXPLODE), 0, 0, 1, 1},
 4875   {&__pyx_n_s_COMBINE_STEP, __pyx_k_COMBINE_STEP, sizeof(__pyx_k_COMBINE_STEP), 0, 0, 1, 1},
 4876   {&__pyx_n_s_DATA_SURFACE, __pyx_k_DATA_SURFACE, sizeof(__pyx_k_DATA_SURFACE), 0, 0, 1, 1},
 4877   {&__pyx_n_s_DECIMAL_FORMAT, __pyx_k_DECIMAL_FORMAT, sizeof(__pyx_k_DECIMAL_FORMAT), 0, 0, 1, 1},
 4878   {&__pyx_n_s_EXPLODE_DATA, __pyx_k_EXPLODE_DATA, sizeof(__pyx_k_EXPLODE_DATA), 0, 0, 1, 1},
 4879   {&__pyx_n_s_EXPLODE_STEP, __pyx_k_EXPLODE_STEP, sizeof(__pyx_k_EXPLODE_STEP), 0, 0, 1, 1},
 4880   {&__pyx_n_s_FULL_FORMAT, __pyx_k_FULL_FORMAT, sizeof(__pyx_k_FULL_FORMAT), 0, 0, 1, 1},
 4881   {&__pyx_n_s_HEXADECIMAL_FORMAT, __pyx_k_HEXADECIMAL_FORMAT, sizeof(__pyx_k_HEXADECIMAL_FORMAT), 0, 0, 1, 1},
 4882   {&__pyx_n_s_INTERNAL_ERROR, __pyx_k_INTERNAL_ERROR, sizeof(__pyx_k_INTERNAL_ERROR), 0, 0, 1, 1},
 4883   {&__pyx_n_s_INVALID_INPUT, __pyx_k_INVALID_INPUT, sizeof(__pyx_k_INVALID_INPUT), 0, 0, 1, 1},
 4884   {&__pyx_n_s_LANGUAGE_C, __pyx_k_LANGUAGE_C, sizeof(__pyx_k_LANGUAGE_C), 0, 0, 1, 1},
 4885   {&__pyx_n_s_LANGUAGE_PERL, __pyx_k_LANGUAGE_PERL, sizeof(__pyx_k_LANGUAGE_PERL), 0, 0, 1, 1},
 4886   {&__pyx_n_s_MAXIMUM_ERROR, __pyx_k_MAXIMUM_ERROR, sizeof(__pyx_k_MAXIMUM_ERROR), 0, 0, 1, 1},
 4887   {&__pyx_n_s_NOT_A_CHARACTER, __pyx_k_NOT_A_CHARACTER, sizeof(__pyx_k_NOT_A_CHARACTER), 0, 0, 1, 1},
 4888   {&__pyx_n_s_NOT_CANONICAL, __pyx_k_NOT_CANONICAL, sizeof(__pyx_k_NOT_CANONICAL), 0, 0, 1, 1},
 4889   {&__pyx_n_s_NO_CHARSET_DATA, __pyx_k_NO_CHARSET_DATA, sizeof(__pyx_k_NO_CHARSET_DATA), 0, 0, 1, 1},
 4890   {&__pyx_n_s_NO_ERROR, __pyx_k_NO_ERROR, sizeof(__pyx_k_NO_ERROR), 0, 0, 1, 1},
 4891   {&__pyx_n_s_NO_FORMAT, __pyx_k_NO_FORMAT, sizeof(__pyx_k_NO_FORMAT), 0, 0, 1, 1},
 4892   {&__pyx_n_s_NO_ICONV_FLAG, __pyx_k_NO_ICONV_FLAG, sizeof(__pyx_k_NO_ICONV_FLAG), 0, 0, 1, 1},
 4893   {&__pyx_n_s_NO_LANGUAGE, __pyx_k_NO_LANGUAGE, sizeof(__pyx_k_NO_LANGUAGE), 0, 0, 1, 1},
 4894   {&__pyx_n_s_NO_STEP_TABLE, __pyx_k_NO_STEP_TABLE, sizeof(__pyx_k_NO_STEP_TABLE), 0, 0, 1, 1},
 4895   {&__pyx_n_s_NO_SYMBOL_TYPE, __pyx_k_NO_SYMBOL_TYPE, sizeof(__pyx_k_NO_SYMBOL_TYPE), 0, 0, 1, 1},
 4896   {&__pyx_n_s_NUL, __pyx_k_NUL, sizeof(__pyx_k_NUL), 0, 0, 1, 1},
 4897   {&__pyx_n_s_OCTAL_FORMAT, __pyx_k_OCTAL_FORMAT, sizeof(__pyx_k_OCTAL_FORMAT), 0, 0, 1, 1},
 4898   {&__pyx_n_s_Outer, __pyx_k_Outer, sizeof(__pyx_k_Outer), 0, 0, 1, 1},
 4899   {&__pyx_n_s_REPLACEMENT_CHARACTER, __pyx_k_REPLACEMENT_CHARACTER, sizeof(__pyx_k_REPLACEMENT_CHARACTER), 0, 0, 1, 1},
 4900   {&__pyx_n_s_Recode, __pyx_k_Recode, sizeof(__pyx_k_Recode), 0, 0, 1, 1},
 4901   {&__pyx_n_s_Request, __pyx_k_Request, sizeof(__pyx_k_Request), 0, 0, 1, 1},
 4902   {&__pyx_n_s_SIZE_1, __pyx_k_SIZE_1, sizeof(__pyx_k_SIZE_1), 0, 0, 1, 1},
 4903   {&__pyx_n_s_SIZE_2, __pyx_k_SIZE_2, sizeof(__pyx_k_SIZE_2), 0, 0, 1, 1},
 4904   {&__pyx_n_s_SIZE_4, __pyx_k_SIZE_4, sizeof(__pyx_k_SIZE_4), 0, 0, 1, 1},
 4905   {&__pyx_n_s_SIZE_N, __pyx_k_SIZE_N, sizeof(__pyx_k_SIZE_N), 0, 0, 1, 1},
 4906   {&__pyx_n_s_STRICT_MAPPING_FLAG, __pyx_k_STRICT_MAPPING_FLAG, sizeof(__pyx_k_STRICT_MAPPING_FLAG), 0, 0, 1, 1},
 4907   {&__pyx_n_s_STRING_TO_UCS2, __pyx_k_STRING_TO_UCS2, sizeof(__pyx_k_STRING_TO_UCS2), 0, 0, 1, 1},
 4908   {&__pyx_n_s_STRIP_DATA, __pyx_k_STRIP_DATA, sizeof(__pyx_k_STRIP_DATA), 0, 0, 1, 1},
 4909   {&__pyx_n_s_STRIP_SIZE, __pyx_k_STRIP_SIZE, sizeof(__pyx_k_STRIP_SIZE), 0, 0, 1, 1},
 4910   {&__pyx_n_s_SWAP_NO, __pyx_k_SWAP_NO, sizeof(__pyx_k_SWAP_NO), 0, 0, 1, 1},
 4911   {&__pyx_n_s_SWAP_UNDECIDED, __pyx_k_SWAP_UNDECIDED, sizeof(__pyx_k_SWAP_UNDECIDED), 0, 0, 1, 1},
 4912   {&__pyx_n_s_SWAP_YES, __pyx_k_SWAP_YES, sizeof(__pyx_k_SWAP_YES), 0, 0, 1, 1},
 4913   {&__pyx_n_s_SYMBOL_CREATE_CHARSET, __pyx_k_SYMBOL_CREATE_CHARSET, sizeof(__pyx_k_SYMBOL_CREATE_CHARSET), 0, 0, 1, 1},
 4914   {&__pyx_n_s_SYMBOL_CREATE_DATA_SURFACE, __pyx_k_SYMBOL_CREATE_DATA_SURFACE, sizeof(__pyx_k_SYMBOL_CREATE_DATA_SURFACE), 0, 0, 1, 1},
 4915   {&__pyx_n_s_SYSTEM_ERROR, __pyx_k_SYSTEM_ERROR, sizeof(__pyx_k_SYSTEM_ERROR), 0, 0, 1, 1},
 4916   {&__pyx_n_s_Task, __pyx_k_Task, sizeof(__pyx_k_Task), 0, 0, 1, 1},
 4917   {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
 4918   {&__pyx_n_s_UCS2_TO_BYTE, __pyx_k_UCS2_TO_BYTE, sizeof(__pyx_k_UCS2_TO_BYTE), 0, 0, 1, 1},
 4919   {&__pyx_n_s_UCS2_TO_STRING, __pyx_k_UCS2_TO_STRING, sizeof(__pyx_k_UCS2_TO_STRING), 0, 0, 1, 1},
 4920   {&__pyx_n_s_UNTRANSLATABLE, __pyx_k_UNTRANSLATABLE, sizeof(__pyx_k_UNTRANSLATABLE), 0, 0, 1, 1},
 4921   {&__pyx_n_s_USER_ERROR, __pyx_k_USER_ERROR, sizeof(__pyx_k_USER_ERROR), 0, 0, 1, 1},
 4922   {&__pyx_n_s_auto_abort, __pyx_k_auto_abort, sizeof(__pyx_k_auto_abort), 0, 0, 1, 1},
 4923   {&__pyx_n_s_charset, __pyx_k_charset, sizeof(__pyx_k_charset), 0, 0, 1, 1},
 4924   {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
 4925   {&__pyx_n_s_command, __pyx_k_command, sizeof(__pyx_k_command), 0, 0, 1, 1},
 4926   {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
 4927   {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
 4928   {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
 4929   {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
 4930   {&__pyx_n_s_iconv, __pyx_k_iconv, sizeof(__pyx_k_iconv), 0, 0, 1, 1},
 4931   {&__pyx_n_s_input, __pyx_k_input, sizeof(__pyx_k_input), 0, 0, 1, 1},
 4932   {&__pyx_n_s_language, __pyx_k_language, sizeof(__pyx_k_language), 0, 0, 1, 1},
 4933   {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
 4934   {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
 4935   {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
 4936   {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
 4937   {&__pyx_n_s_outer, __pyx_k_outer, sizeof(__pyx_k_outer), 0, 0, 1, 1},
 4938   {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
 4939   {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
 4940   {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
 4941   {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
 4942   {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
 4943   {&__pyx_n_s_request, __pyx_k_request, sizeof(__pyx_k_request), 0, 0, 1, 1},
 4944   {&__pyx_n_s_scan, __pyx_k_scan, sizeof(__pyx_k_scan), 0, 0, 1, 1},
 4945   {&__pyx_kp_s_self_outer_cannot_be_converted_t, __pyx_k_self_outer_cannot_be_converted_t, sizeof(__pyx_k_self_outer_cannot_be_converted_t), 0, 0, 1, 0},
 4946   {&__pyx_kp_s_self_request_cannot_be_converted, __pyx_k_self_request_cannot_be_converted, sizeof(__pyx_k_self_request_cannot_be_converted), 0, 0, 1, 0},
 4947   {&__pyx_kp_s_self_task_cannot_be_converted_to, __pyx_k_self_task_cannot_be_converted_to, sizeof(__pyx_k_self_task_cannot_be_converted_to), 0, 0, 1, 0},
 4948   {&__pyx_n_s_set_verbose, __pyx_k_set_verbose, sizeof(__pyx_k_set_verbose), 0, 0, 1, 1},
 4949   {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
 4950   {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
 4951   {&__pyx_n_s_strict, __pyx_k_strict, sizeof(__pyx_k_strict), 0, 0, 1, 1},
 4952   {&__pyx_n_s_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 0, 1, 1},
 4953   {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
 4954   {&__pyx_n_s_verbose, __pyx_k_verbose, sizeof(__pyx_k_verbose), 0, 0, 1, 1},
 4955   {&__pyx_n_s_xDONE, __pyx_k_xDONE, sizeof(__pyx_k_xDONE), 0, 0, 1, 1},
 4956   {&__pyx_n_s_xELSE, __pyx_k_xELSE, sizeof(__pyx_k_xELSE), 0, 0, 1, 1},
 4957   {0, 0, 0, 0, 0, 0, 0}
 4958 };
 4959 static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
 4960   __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 2, __pyx_L1_error)
 4961   return 0;
 4962   __pyx_L1_error:;
 4963   return -1;
 4964 }
 4965 
 4966 static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
 4967   __Pyx_RefNannyDeclarations
 4968   __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
 4969 
 4970   /* "(tree fragment)":2
 4971  * def __reduce_cython__(self):
 4972  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 4973  * def __setstate_cython__(self, __pyx_state):
 4974  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 4975  */
 4976   __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_self_outer_cannot_be_converted_t); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 2, __pyx_L1_error)
 4977   __Pyx_GOTREF(__pyx_tuple__2);
 4978   __Pyx_GIVEREF(__pyx_tuple__2);
 4979 
 4980   /* "(tree fragment)":4
 4981  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")
 4982  * def __setstate_cython__(self, __pyx_state):
 4983  *     raise TypeError("self.outer cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 4984  */
 4985   __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_self_outer_cannot_be_converted_t); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 4, __pyx_L1_error)
 4986   __Pyx_GOTREF(__pyx_tuple__3);
 4987   __Pyx_GIVEREF(__pyx_tuple__3);
 4988 
 4989   /* "(tree fragment)":2
 4990  * def __reduce_cython__(self):
 4991  *     raise TypeError("self.request cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 4992  * def __setstate_cython__(self, __pyx_state):
 4993  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 4994  */
 4995   __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_self_request_cannot_be_converted); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 2, __pyx_L1_error)
 4996   __Pyx_GOTREF(__pyx_tuple__4);
 4997   __Pyx_GIVEREF(__pyx_tuple__4);
 4998 
 4999   /* "(tree fragment)":4
 5000  *     raise TypeError("self.request cannot be converted to a Python object for pickling")
 5001  * def __setstate_cython__(self, __pyx_state):
 5002  *     raise TypeError("self.request cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 5003  */
 5004   __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_self_request_cannot_be_converted); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 4, __pyx_L1_error)
 5005   __Pyx_GOTREF(__pyx_tuple__5);
 5006   __Pyx_GIVEREF(__pyx_tuple__5);
 5007 
 5008   /* "(tree fragment)":2
 5009  * def __reduce_cython__(self):
 5010  *     raise TypeError("self.task cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 5011  * def __setstate_cython__(self, __pyx_state):
 5012  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 5013  */
 5014   __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_self_task_cannot_be_converted_to); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 2, __pyx_L1_error)
 5015   __Pyx_GOTREF(__pyx_tuple__6);
 5016   __Pyx_GIVEREF(__pyx_tuple__6);
 5017 
 5018   /* "(tree fragment)":4
 5019  *     raise TypeError("self.task cannot be converted to a Python object for pickling")
 5020  * def __setstate_cython__(self, __pyx_state):
 5021  *     raise TypeError("self.task cannot be converted to a Python object for pickling")             # <<<<<<<<<<<<<<
 5022  */
 5023   __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_self_task_cannot_be_converted_to); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 4, __pyx_L1_error)
 5024   __Pyx_GOTREF(__pyx_tuple__7);
 5025   __Pyx_GIVEREF(__pyx_tuple__7);
 5026   __Pyx_RefNannyFinishContext();
 5027   return 0;
 5028   __pyx_L1_error:;
 5029   __Pyx_RefNannyFinishContext();
 5030   return -1;
 5031 }
 5032 
 5033 static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
 5034   if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(1, 1, __pyx_L1_error);
 5035   return 0;
 5036   __pyx_L1_error:;
 5037   return -1;
 5038 }
 5039 
 5040 static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
 5041 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
 5042 static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
 5043 static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
 5044 static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
 5045 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
 5046 static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
 5047 
 5048 static int __Pyx_modinit_global_init_code(void) {
 5049   __Pyx_RefNannyDeclarations
 5050   __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
 5051   /*--- Global init code ---*/
 5052   __Pyx_RefNannyFinishContext();
 5053   return 0;
 5054 }
 5055 
 5056 static int __Pyx_modinit_variable_export_code(void) {
 5057   __Pyx_RefNannyDeclarations
 5058   __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
 5059   /*--- Variable export code ---*/
 5060   __Pyx_RefNannyFinishContext();
 5061   return 0;
 5062 }
 5063 
 5064 static int __Pyx_modinit_function_export_code(void) {
 5065   __Pyx_RefNannyDeclarations
 5066   __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
 5067   /*--- Function export code ---*/
 5068   __Pyx_RefNannyFinishContext();
 5069   return 0;
 5070 }
 5071 
 5072 static int __Pyx_modinit_type_init_code(void) {
 5073   __Pyx_RefNannyDeclarations
 5074   __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
 5075   /*--- Type init code ---*/
 5076   if (PyType_Ready(&__pyx_type_6Recode_Outer) < 0) __PYX_ERR(1, 522, __pyx_L1_error)
 5077   #if PY_VERSION_HEX < 0x030800B1
 5078   __pyx_type_6Recode_Outer.tp_print = 0;
 5079   #endif
 5080   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Recode_Outer.tp_dictoffset && __pyx_type_6Recode_Outer.tp_getattro == PyObject_GenericGetAttr)) {
 5081     __pyx_type_6Recode_Outer.tp_getattro = __Pyx_PyObject_GenericGetAttr;
 5082   }
 5083   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Outer, (PyObject *)&__pyx_type_6Recode_Outer) < 0) __PYX_ERR(1, 522, __pyx_L1_error)
 5084   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Recode_Outer) < 0) __PYX_ERR(1, 522, __pyx_L1_error)
 5085   __pyx_ptype_6Recode_Outer = &__pyx_type_6Recode_Outer;
 5086   if (PyType_Ready(&__pyx_type_6Recode_Request) < 0) __PYX_ERR(1, 589, __pyx_L1_error)
 5087   #if PY_VERSION_HEX < 0x030800B1
 5088   __pyx_type_6Recode_Request.tp_print = 0;
 5089   #endif
 5090   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Recode_Request.tp_dictoffset && __pyx_type_6Recode_Request.tp_getattro == PyObject_GenericGetAttr)) {
 5091     __pyx_type_6Recode_Request.tp_getattro = __Pyx_PyObject_GenericGetAttr;
 5092   }
 5093   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Request, (PyObject *)&__pyx_type_6Recode_Request) < 0) __PYX_ERR(1, 589, __pyx_L1_error)
 5094   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Recode_Request) < 0) __PYX_ERR(1, 589, __pyx_L1_error)
 5095   __pyx_ptype_6Recode_Request = &__pyx_type_6Recode_Request;
 5096   if (PyType_Ready(&__pyx_type_6Recode_Task) < 0) __PYX_ERR(1, 668, __pyx_L1_error)
 5097   #if PY_VERSION_HEX < 0x030800B1
 5098   __pyx_type_6Recode_Task.tp_print = 0;
 5099   #endif
 5100   if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_6Recode_Task.tp_dictoffset && __pyx_type_6Recode_Task.tp_getattro == PyObject_GenericGetAttr)) {
 5101     __pyx_type_6Recode_Task.tp_getattro = __Pyx_PyObject_GenericGetAttr;
 5102   }
 5103   if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Task, (PyObject *)&__pyx_type_6Recode_Task) < 0) __PYX_ERR(1, 668, __pyx_L1_error)
 5104   if (__Pyx_setup_reduce((PyObject*)&__pyx_type_6Recode_Task) < 0) __PYX_ERR(1, 668, __pyx_L1_error)
 5105   __pyx_ptype_6Recode_Task = &__pyx_type_6Recode_Task;
 5106   __Pyx_RefNannyFinishContext();
 5107   return 0;
 5108   __pyx_L1_error:;
 5109   __Pyx_RefNannyFinishContext();
 5110   return -1;
 5111 }
 5112 
 5113 static int __Pyx_modinit_type_import_code(void) {
 5114   __Pyx_RefNannyDeclarations
 5115   __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
 5116   /*--- Type import code ---*/
 5117   __Pyx_RefNannyFinishContext();
 5118   return 0;
 5119 }
 5120 
 5121 static int __Pyx_modinit_variable_import_code(void) {
 5122   __Pyx_RefNannyDeclarations
 5123   __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
 5124   /*--- Variable import code ---*/
 5125   __Pyx_RefNannyFinishContext();
 5126   return 0;
 5127 }
 5128 
 5129 static int __Pyx_modinit_function_import_code(void) {
 5130   __Pyx_RefNannyDeclarations
 5131   __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
 5132   /*--- Function import code ---*/
 5133   __Pyx_RefNannyFinishContext();
 5134   return 0;
 5135 }
 5136 
 5137 
 5138 #if PY_MAJOR_VERSION < 3
 5139 #ifdef CYTHON_NO_PYINIT_EXPORT
 5140 #define __Pyx_PyMODINIT_FUNC void
 5141 #else
 5142 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
 5143 #endif
 5144 #else
 5145 #ifdef CYTHON_NO_PYINIT_EXPORT
 5146 #define __Pyx_PyMODINIT_FUNC PyObject *
 5147 #else
 5148 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
 5149 #endif
 5150 #endif
 5151 
 5152 
 5153 #if PY_MAJOR_VERSION < 3
 5154 __Pyx_PyMODINIT_FUNC initRecode(void) CYTHON_SMALL_CODE; /*proto*/
 5155 __Pyx_PyMODINIT_FUNC initRecode(void)
 5156 #else
 5157 __Pyx_PyMODINIT_FUNC PyInit_Recode(void) CYTHON_SMALL_CODE; /*proto*/
 5158 __Pyx_PyMODINIT_FUNC PyInit_Recode(void)
 5159 #if CYTHON_PEP489_MULTI_PHASE_INIT
 5160 {
 5161   return PyModuleDef_Init(&__pyx_moduledef);
 5162 }
 5163 static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
 5164     #if PY_VERSION_HEX >= 0x030700A1
 5165     static PY_INT64_T main_interpreter_id = -1;
 5166     PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
 5167     if (main_interpreter_id == -1) {
 5168         main_interpreter_id = current_id;
 5169         return (unlikely(current_id == -1)) ? -1 : 0;
 5170     } else if (unlikely(main_interpreter_id != current_id))
 5171     #else
 5172     static PyInterpreterState *main_interpreter = NULL;
 5173     PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
 5174     if (!main_interpreter) {
 5175         main_interpreter = current_interpreter;
 5176     } else if (unlikely(main_interpreter != current_interpreter))
 5177     #endif
 5178     {
 5179         PyErr_SetString(
 5180             PyExc_ImportError,
 5181             "Interpreter change detected - this module can only be loaded into one interpreter per process.");
 5182         return -1;
 5183     }
 5184     return 0;
 5185 }
 5186 static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
 5187     PyObject *value = PyObject_GetAttrString(spec, from_name);
 5188     int result = 0;
 5189     if (likely(value)) {
 5190         if (allow_none || value != Py_None) {
 5191             result = PyDict_SetItemString(moddict, to_name, value);
 5192         }
 5193         Py_DECREF(value);
 5194     } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
 5195         PyErr_Clear();
 5196     } else {
 5197         result = -1;
 5198     }
 5199     return result;
 5200 }
 5201 static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
 5202     PyObject *module = NULL, *moddict, *modname;
 5203     if (__Pyx_check_single_interpreter())
 5204         return NULL;
 5205     if (__pyx_m)
 5206         return __Pyx_NewRef(__pyx_m);
 5207     modname = PyObject_GetAttrString(spec, "name");
 5208     if (unlikely(!modname)) goto bad;
 5209     module = PyModule_NewObject(modname);
 5210     Py_DECREF(modname);
 5211     if (unlikely(!module)) goto bad;
 5212     moddict = PyModule_GetDict(module);
 5213     if (unlikely(!moddict)) goto bad;
 5214     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
 5215     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
 5216     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
 5217     if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
 5218     return module;
 5219 bad:
 5220     Py_XDECREF(module);
 5221     return NULL;
 5222 }
 5223 
 5224 
 5225 static CYTHON_SMALL_CODE int __pyx_pymod_exec_Recode(PyObject *__pyx_pyinit_module)
 5226 #endif
 5227 #endif
 5228 {
 5229   PyObject *__pyx_t_1 = NULL;
 5230   PyObject *__pyx_t_2 = NULL;
 5231   PyObject *__pyx_t_3 = NULL;
 5232   PyObject *__pyx_t_4 = NULL;
 5233   __Pyx_RefNannyDeclarations
 5234   #if CYTHON_PEP489_MULTI_PHASE_INIT
 5235   if (__pyx_m) {
 5236     if (__pyx_m == __pyx_pyinit_module) return 0;
 5237     PyErr_SetString(PyExc_RuntimeError, "Module 'Recode' has already been imported. Re-initialisation is not supported.");
 5238     return -1;
 5239   }
 5240   #elif PY_MAJOR_VERSION >= 3
 5241   if (__pyx_m) return __Pyx_NewRef(__pyx_m);
 5242   #endif
 5243   #if CYTHON_REFNANNY
 5244 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
 5245 if (!__Pyx_RefNanny) {
 5246   PyErr_Clear();
 5247   __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
 5248   if (!__Pyx_RefNanny)
 5249       Py_FatalError("failed to import 'refnanny' module");
 5250 }
 5251 #endif
 5252   __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_Recode(void)", 0);
 5253   if (__Pyx_check_binary_version() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
 5254   #ifdef __Pxy_PyFrame_Initialize_Offsets
 5255   __Pxy_PyFrame_Initialize_Offsets();
 5256   #endif
 5257   __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(1, 1, __pyx_L1_error)
 5258   __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(1, 1, __pyx_L1_error)
 5259   __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(1, 1, __pyx_L1_error)
 5260   #ifdef __Pyx_CyFunction_USED
 5261   if (__pyx_CyFunction_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
 5262   #endif
 5263   #ifdef __Pyx_FusedFunction_USED
 5264   if (__pyx_FusedFunction_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
 5265   #endif
 5266   #ifdef __Pyx_Coroutine_USED
 5267   if (__pyx_Coroutine_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
 5268   #endif
 5269   #ifdef __Pyx_Generator_USED
 5270   if (__pyx_Generator_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
 5271   #endif
 5272   #ifdef __Pyx_AsyncGen_USED
 5273   if (__pyx_AsyncGen_init() < 0) __PYX_ERR(1, 1, __pyx_L1_error)
 5274   #endif
 5275   #ifdef __Pyx_StopAsyncIteration_USED
 5276   if (__pyx_StopAsyncIteration_init() < 0) __PY