1 /* Generated by Cython 0.16 on Tue Nov 20 16:56:59 2012 */
3 #define PY_SSIZE_T_CLEAN
6 #error Python headers needed to compile C extensions, please install development version of Python.
7 #elif PY_VERSION_HEX < 0x02040000
8 #error Cython requires Python 2.4+.
10 #include <stddef.h> /* For offsetof */
12 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
15 #if !defined(WIN32) && !defined(MS_WINDOWS)
28 #define DL_IMPORT(t) t
31 #define DL_EXPORT(t) t
35 #define PY_LONG_LONG LONG_LONG
39 #define Py_HUGE_VAL HUGE_VAL
43 #define CYTHON_COMPILING_IN_PYPY 1
44 #define CYTHON_COMPILING_IN_CPYTHON 0
46 #define CYTHON_COMPILING_IN_PYPY 0
47 #define CYTHON_COMPILING_IN_CPYTHON 1
50 #if CYTHON_COMPILING_IN_PYPY
51 #define __Pyx_PyCFunction_Call PyObject_Call
53 #define __Pyx_PyCFunction_Call PyCFunction_Call
56 #if PY_VERSION_HEX < 0x02050000
57 typedef int Py_ssize_t;
58 #define PY_SSIZE_T_MAX INT_MAX
59 #define PY_SSIZE_T_MIN INT_MIN
60 #define PY_FORMAT_SIZE_T ""
61 #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
62 #define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o)
63 #define PyNumber_Index(o) PyNumber_Int(o)
64 #define PyIndex_Check(o) PyNumber_Check(o)
65 #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
66 #define __PYX_BUILD_PY_SSIZE_T "i"
68 #define __PYX_BUILD_PY_SSIZE_T "n"
71 #if PY_VERSION_HEX < 0x02060000
72 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
73 #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
74 #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
75 #define PyVarObject_HEAD_INIT(type, size) \
76 PyObject_HEAD_INIT(type) size,
77 #define PyType_Modified(t)
89 Py_ssize_t *suboffsets;
93 #define PyBUF_SIMPLE 0
94 #define PyBUF_WRITABLE 0x0001
95 #define PyBUF_FORMAT 0x0004
96 #define PyBUF_ND 0x0008
97 #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
98 #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
99 #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
100 #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
101 #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
102 #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
103 #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
105 typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
106 typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
109 #if PY_MAJOR_VERSION < 3
110 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
111 #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
112 PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
114 #define __Pyx_BUILTIN_MODULE_NAME "builtins"
115 #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
116 PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
119 #if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
120 #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
123 #if PY_MAJOR_VERSION >= 3
124 #define Py_TPFLAGS_CHECKTYPES 0
125 #define Py_TPFLAGS_HAVE_INDEX 0
128 #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
129 #define Py_TPFLAGS_HAVE_NEWBUFFER 0
133 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_GET_LENGTH)
134 #define CYTHON_PEP393_ENABLED 1
135 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
136 #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
138 #define CYTHON_PEP393_ENABLED 0
139 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
140 #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
143 #if PY_MAJOR_VERSION >= 3
144 #define PyBaseString_Type PyUnicode_Type
145 #define PyStringObject PyUnicodeObject
146 #define PyString_Type PyUnicode_Type
147 #define PyString_Check PyUnicode_Check
148 #define PyString_CheckExact PyUnicode_CheckExact
151 #if PY_VERSION_HEX < 0x02060000
152 #define PyBytesObject PyStringObject
153 #define PyBytes_Type PyString_Type
154 #define PyBytes_Check PyString_Check
155 #define PyBytes_CheckExact PyString_CheckExact
156 #define PyBytes_FromString PyString_FromString
157 #define PyBytes_FromStringAndSize PyString_FromStringAndSize
158 #define PyBytes_FromFormat PyString_FromFormat
159 #define PyBytes_DecodeEscape PyString_DecodeEscape
160 #define PyBytes_AsString PyString_AsString
161 #define PyBytes_AsStringAndSize PyString_AsStringAndSize
162 #define PyBytes_Size PyString_Size
163 #define PyBytes_AS_STRING PyString_AS_STRING
164 #define PyBytes_GET_SIZE PyString_GET_SIZE
165 #define PyBytes_Repr PyString_Repr
166 #define PyBytes_Concat PyString_Concat
167 #define PyBytes_ConcatAndDel PyString_ConcatAndDel
170 #if PY_VERSION_HEX < 0x02060000
171 #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type)
172 #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type)
174 #ifndef PySet_CheckExact
175 #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
178 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
180 #if PY_MAJOR_VERSION >= 3
181 #define PyIntObject PyLongObject
182 #define PyInt_Type PyLong_Type
183 #define PyInt_Check(op) PyLong_Check(op)
184 #define PyInt_CheckExact(op) PyLong_CheckExact(op)
185 #define PyInt_FromString PyLong_FromString
186 #define PyInt_FromUnicode PyLong_FromUnicode
187 #define PyInt_FromLong PyLong_FromLong
188 #define PyInt_FromSize_t PyLong_FromSize_t
189 #define PyInt_FromSsize_t PyLong_FromSsize_t
190 #define PyInt_AsLong PyLong_AsLong
191 #define PyInt_AS_LONG PyLong_AS_LONG
192 #define PyInt_AsSsize_t PyLong_AsSsize_t
193 #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
194 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
197 #if PY_MAJOR_VERSION >= 3
198 #define PyBoolObject PyLongObject
201 #if PY_VERSION_HEX < 0x03020000
202 typedef long Py_hash_t;
203 #define __Pyx_PyInt_FromHash_t PyInt_FromLong
204 #define __Pyx_PyInt_AsHash_t PyInt_AsLong
206 #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
207 #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
210 #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
211 #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
212 #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
213 #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
215 #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
216 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
217 (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
218 (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
219 #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
220 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
221 (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
222 (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
223 #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
224 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
225 (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
226 (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
229 #if PY_MAJOR_VERSION >= 3
230 #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
233 #if PY_VERSION_HEX < 0x02050000
234 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n)))
235 #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
236 #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n)))
238 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n))
239 #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
240 #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n))
243 #if PY_VERSION_HEX < 0x02050000
244 #define __Pyx_NAMESTR(n) ((char *)(n))
245 #define __Pyx_DOCSTR(n) ((char *)(n))
247 #define __Pyx_NAMESTR(n) (n)
248 #define __Pyx_DOCSTR(n) (n)
251 #if PY_MAJOR_VERSION >= 3
252 #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
253 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
255 #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
256 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
259 #ifndef __PYX_EXTERN_C
261 #define __PYX_EXTERN_C extern "C"
263 #define __PYX_EXTERN_C extern
267 #if defined(WIN32) || defined(MS_WINDOWS)
268 #define _USE_MATH_DEFINES
271 #define __PYX_HAVE__TabProxies
272 #define __PYX_HAVE_API__TabProxies
277 #include "pythread.h"
282 #ifdef PYREX_WITHOUT_ASSERTIONS
283 #define CYTHON_WITHOUT_ASSERTIONS
287 /* inline attribute */
288 #ifndef CYTHON_INLINE
289 #if defined(__GNUC__)
290 #define CYTHON_INLINE __inline__
291 #elif defined(_MSC_VER)
292 #define CYTHON_INLINE __inline
293 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
294 #define CYTHON_INLINE inline
296 #define CYTHON_INLINE
300 /* unused attribute */
301 #ifndef CYTHON_UNUSED
302 # if defined(__GNUC__)
303 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
304 # define CYTHON_UNUSED __attribute__ ((__unused__))
306 # define CYTHON_UNUSED
308 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
309 # define CYTHON_UNUSED __attribute__ ((__unused__))
311 # define CYTHON_UNUSED
315 typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
318 /* Type Conversion Predeclarations */
320 #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
321 #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s))
323 #define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
324 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
325 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
326 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
328 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
329 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
330 static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
332 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
333 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
336 /* Test for GCC > 2.95 */
337 #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
338 #define likely(x) __builtin_expect(!!(x), 1)
339 #define unlikely(x) __builtin_expect(!!(x), 0)
340 #else /* __GNUC__ > 2 ... */
341 #define likely(x) (x)
342 #define unlikely(x) (x)
343 #endif /* __GNUC__ > 2 ... */
345 #define likely(x) (x)
346 #define unlikely(x) (x)
347 #endif /* __GNUC__ */
349 static PyObject *__pyx_m;
350 static PyObject *__pyx_b;
351 static PyObject *__pyx_empty_tuple;
352 static PyObject *__pyx_empty_bytes;
353 static int __pyx_lineno;
354 static int __pyx_clineno = 0;
355 static const char * __pyx_cfilenm= __FILE__;
356 static const char *__pyx_filename;
359 static const char *__pyx_f[] = {
365 /*--- Type declarations ---*/
366 struct __pyx_obj_10TabProxies_TupleProxy;
367 struct __pyx_obj_10TabProxies_NamedTupleProxy;
368 struct __pyx_obj_10TabProxies_VCFProxy;
369 struct __pyx_obj_10TabProxies_GTFProxy;
370 struct __pyx_obj_10TabProxies_BedProxy;
372 /* "TabProxies.pxd":41
373 * ctypedef int uint64_t
375 * cdef class TupleProxy: # <<<<<<<<<<<<<<
379 struct __pyx_obj_10TabProxies_TupleProxy {
381 struct __pyx_vtabstruct_10TabProxies_TupleProxy *__pyx_vtab;
392 /* "TabProxies.pxd":69
393 * cdef char * getAttributes( self )
395 * cdef class NamedTupleProxy( TupleProxy) : # <<<<<<<<<<<<<<
399 struct __pyx_obj_10TabProxies_NamedTupleProxy {
400 struct __pyx_obj_10TabProxies_TupleProxy __pyx_base;
404 /* "TabProxies.pxd":83
405 * cdef update( self, char * buffer, size_t nbytes )
407 * cdef class VCFProxy( NamedTupleProxy) : # <<<<<<<<<<<<<<
411 struct __pyx_obj_10TabProxies_VCFProxy {
412 struct __pyx_obj_10TabProxies_NamedTupleProxy __pyx_base;
418 /* "TabProxies.pxd":60
419 * cdef update( self, char * buffer, size_t nbytes )
421 * cdef class GTFProxy( TupleProxy) : # <<<<<<<<<<<<<<
425 struct __pyx_obj_10TabProxies_GTFProxy {
426 struct __pyx_obj_10TabProxies_TupleProxy __pyx_base;
428 int hasOwnAttributes;
432 /* "TabProxies.pxd":72
435 * cdef class BedProxy( NamedTupleProxy) : # <<<<<<<<<<<<<<
439 struct __pyx_obj_10TabProxies_BedProxy {
440 struct __pyx_obj_10TabProxies_NamedTupleProxy __pyx_base;
449 /* "TabProxies.pyx":84
450 * return not (buffer <= p < buffer + nbytes )
452 * cdef class TupleProxy: # <<<<<<<<<<<<<<
453 * '''Proxy class for access to parsed row as a tuple.
457 struct __pyx_vtabstruct_10TabProxies_TupleProxy {
458 int (*getMaxFields)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t);
459 PyObject *(*take)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
460 PyObject *(*present)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
461 PyObject *(*copy)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
462 PyObject *(*update)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t);
464 static struct __pyx_vtabstruct_10TabProxies_TupleProxy *__pyx_vtabptr_10TabProxies_TupleProxy;
467 /* "TabProxies.pyx":571
470 * cdef class NamedTupleProxy( TupleProxy ): # <<<<<<<<<<<<<<
475 struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy {
476 struct __pyx_vtabstruct_10TabProxies_TupleProxy __pyx_base;
478 static struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy *__pyx_vtabptr_10TabProxies_NamedTupleProxy;
481 /* "TabProxies.pyx":656
482 * TupleProxy._setindex(self, idx, str(value) )
484 * cdef class VCFProxy( NamedTupleProxy ): # <<<<<<<<<<<<<<
485 * '''Proxy class for access to VCF fields.
489 struct __pyx_vtabstruct_10TabProxies_VCFProxy {
490 struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy __pyx_base;
492 static struct __pyx_vtabstruct_10TabProxies_VCFProxy *__pyx_vtabptr_10TabProxies_VCFProxy;
495 /* "TabProxies.pyx":590
496 * return f( self.fields[idx] )
498 * cdef class BedProxy( NamedTupleProxy ): # <<<<<<<<<<<<<<
499 * '''Proxy class for access to Bed fields.
503 struct __pyx_vtabstruct_10TabProxies_BedProxy {
504 struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy __pyx_base;
506 static struct __pyx_vtabstruct_10TabProxies_BedProxy *__pyx_vtabptr_10TabProxies_BedProxy;
509 /* "TabProxies.pyx":326
512 * cdef class GTFProxy( TupleProxy ): # <<<<<<<<<<<<<<
513 * '''Proxy class for access to GTF fields.
517 struct __pyx_vtabstruct_10TabProxies_GTFProxy {
518 struct __pyx_vtabstruct_10TabProxies_TupleProxy __pyx_base;
519 char *(*getAttributes)(struct __pyx_obj_10TabProxies_GTFProxy *);
521 static struct __pyx_vtabstruct_10TabProxies_GTFProxy *__pyx_vtabptr_10TabProxies_GTFProxy;
522 #ifndef CYTHON_REFNANNY
523 #define CYTHON_REFNANNY 0
527 void (*INCREF)(void*, PyObject*, int);
528 void (*DECREF)(void*, PyObject*, int);
529 void (*GOTREF)(void*, PyObject*, int);
530 void (*GIVEREF)(void*, PyObject*, int);
531 void* (*SetupContext)(const char*, int, const char*);
532 void (*FinishContext)(void**);
533 } __Pyx_RefNannyAPIStruct;
534 static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
535 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
536 #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
538 #define __Pyx_RefNannySetupContext(name, acquire_gil) \
540 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
541 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
542 PyGILState_Release(__pyx_gilstate_save); \
544 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
547 #define __Pyx_RefNannySetupContext(name, acquire_gil) \
548 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
550 #define __Pyx_RefNannyFinishContext() \
551 __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
552 #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
553 #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
554 #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
555 #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
556 #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
557 #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
558 #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
559 #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
561 #define __Pyx_RefNannyDeclarations
562 #define __Pyx_RefNannySetupContext(name, acquire_gil)
563 #define __Pyx_RefNannyFinishContext()
564 #define __Pyx_INCREF(r) Py_INCREF(r)
565 #define __Pyx_DECREF(r) Py_DECREF(r)
566 #define __Pyx_GOTREF(r)
567 #define __Pyx_GIVEREF(r)
568 #define __Pyx_XINCREF(r) Py_XINCREF(r)
569 #define __Pyx_XDECREF(r) Py_XDECREF(r)
570 #define __Pyx_XGOTREF(r)
571 #define __Pyx_XGIVEREF(r)
572 #endif /* CYTHON_REFNANNY */
573 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
574 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
576 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
578 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
579 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
581 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
585 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
586 Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
588 static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
590 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
592 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
594 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); /*proto*/
596 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
598 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
599 PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
600 const char* function_name); /*proto*/
602 static CYTHON_INLINE PyObject* __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
603 if (likely(PyList_CheckExact(L))) {
604 if (PyList_Append(L, x) < 0) return NULL;
606 return Py_None; /* this is just to have an accurate signature */
610 m = __Pyx_GetAttrString(L, "append");
612 r = PyObject_CallFunctionObjArgs(m, x, NULL);
618 static CYTHON_INLINE int __Pyx_NegateNonNeg(int b) {
619 return unlikely(b < 0) ? b : !b;
621 static CYTHON_INLINE PyObject* __Pyx_PyBoolOrNull_FromLong(long b) {
622 return unlikely(b < 0) ? NULL : __Pyx_PyBool_FromLong(b);
625 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
628 r = PyObject_GetItem(o, j);
632 #define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
633 __Pyx_GetItemInt_List_Fast(o, i) : \
634 __Pyx_GetItemInt_Generic(o, to_py_func(i)))
635 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
636 if (likely(o != Py_None)) {
637 if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
638 PyObject *r = PyList_GET_ITEM(o, i);
642 else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
643 PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
648 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
650 #define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
651 __Pyx_GetItemInt_Tuple_Fast(o, i) : \
652 __Pyx_GetItemInt_Generic(o, to_py_func(i)))
653 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
654 if (likely(o != Py_None)) {
655 if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
656 PyObject *r = PyTuple_GET_ITEM(o, i);
660 else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
661 PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
666 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
668 #define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
669 __Pyx_GetItemInt_Fast(o, i) : \
670 __Pyx_GetItemInt_Generic(o, to_py_func(i)))
671 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
672 if (PyList_CheckExact(o)) {
673 Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
674 if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
675 PyObject *r = PyList_GET_ITEM(o, n);
680 else if (PyTuple_CheckExact(o)) {
681 Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
682 if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
683 PyObject *r = PyTuple_GET_ITEM(o, n);
688 else if (likely(i >= 0)) {
689 PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
690 if (likely(m && m->sq_item)) {
691 return m->sq_item(o, i);
694 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
697 static double __Pyx__PyObject_AsDouble(PyObject* obj); /* proto */
698 #define __Pyx_PyObject_AsDouble(obj) \
699 ((likely(PyFloat_CheckExact(obj))) ? \
700 PyFloat_AS_DOUBLE(obj) : __Pyx__PyObject_AsDouble(obj))
702 static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
703 static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
705 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/
707 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); /*proto*/
709 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); /*proto*/
711 #if PY_MAJOR_VERSION >= 3
712 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
714 #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
717 static CYTHON_INLINE uint32_t __Pyx_PyInt_from_py_uint32_t(PyObject *);
719 static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_uint32_t(uint32_t);
721 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
723 static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
725 static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
727 static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
729 static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
731 static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
733 static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
735 static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
737 static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
739 static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
741 static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
743 static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
745 static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
747 static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
749 static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
751 static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
753 static void __Pyx_WriteUnraisable(const char *name, int clineno,
754 int lineno, const char *filename); /*proto*/
756 static int __Pyx_check_binary_version(void);
758 static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
760 #if !defined(__Pyx_PyIdentifier_FromString)
761 #if PY_MAJOR_VERSION < 3
762 #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
764 #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
768 static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/
770 static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
774 PyCodeObject* code_object;
775 } __Pyx_CodeObjectCacheEntry;
776 struct __Pyx_CodeObjectCache {
779 __Pyx_CodeObjectCacheEntry* entries;
781 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
782 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
783 static PyCodeObject *__pyx_find_code_object(int code_line);
784 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
786 static void __Pyx_AddTraceback(const char *funcname, int c_line,
787 int py_line, const char *filename); /*proto*/
789 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
792 /* Module declarations from 'cpython.version' */
794 /* Module declarations from 'cpython.ref' */
796 /* Module declarations from 'cpython.exc' */
798 /* Module declarations from 'cpython.module' */
800 /* Module declarations from 'cpython.mem' */
802 /* Module declarations from 'cpython.tuple' */
804 /* Module declarations from 'cpython.list' */
806 /* Module declarations from 'libc.stdio' */
808 /* Module declarations from 'cpython.object' */
810 /* Module declarations from 'cpython.sequence' */
812 /* Module declarations from 'cpython.mapping' */
814 /* Module declarations from 'cpython.iterator' */
816 /* Module declarations from 'cpython.type' */
818 /* Module declarations from 'cpython.number' */
820 /* Module declarations from 'cpython.int' */
822 /* Module declarations from '__builtin__' */
824 /* Module declarations from 'cpython.bool' */
825 static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;
827 /* Module declarations from 'cpython.long' */
829 /* Module declarations from 'cpython.float' */
831 /* Module declarations from '__builtin__' */
833 /* Module declarations from 'cpython.complex' */
834 static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;
836 /* Module declarations from 'cpython.string' */
838 /* Module declarations from 'cpython.unicode' */
840 /* Module declarations from 'cpython.dict' */
842 /* Module declarations from 'cpython.instance' */
844 /* Module declarations from 'cpython.function' */
846 /* Module declarations from 'cpython.method' */
848 /* Module declarations from 'cpython.weakref' */
850 /* Module declarations from 'cpython.getargs' */
852 /* Module declarations from 'cpython.pythread' */
854 /* Module declarations from 'cpython.pystate' */
856 /* Module declarations from 'cpython.cobject' */
858 /* Module declarations from 'cpython.oldbuffer' */
860 /* Module declarations from 'cpython.set' */
862 /* Module declarations from 'cpython.buffer' */
864 /* Module declarations from 'cpython.bytes' */
866 /* Module declarations from 'cpython.pycapsule' */
868 /* Module declarations from 'cpython' */
870 /* Module declarations from 'TabProxies' */
871 static PyTypeObject *__pyx_ptype_10TabProxies_TupleProxy = 0;
872 static PyTypeObject *__pyx_ptype_10TabProxies_GTFProxy = 0;
873 static PyTypeObject *__pyx_ptype_10TabProxies_NamedTupleProxy = 0;
874 static PyTypeObject *__pyx_ptype_10TabProxies_BedProxy = 0;
875 static PyTypeObject *__pyx_ptype_10TabProxies_VCFProxy = 0;
876 static PyObject *__pyx_v_10TabProxies__FILENAME_ENCODING = 0;
877 static PyObject *__pyx_f_10TabProxies__force_bytes(PyObject *); /*proto*/
878 static PyObject *__pyx_f_10TabProxies__force_str(PyObject *); /*proto*/
879 static char *__pyx_f_10TabProxies_StrOrEmpty(char *); /*proto*/
880 static int __pyx_f_10TabProxies_isNew(char *, char *, size_t); /*proto*/
881 #define __Pyx_MODULE_NAME "TabProxies"
882 int __pyx_module_is_main_TabProxies = 0;
884 /* Implementation of 'TabProxies' */
885 static PyObject *__pyx_builtin_TypeError;
886 static PyObject *__pyx_builtin_ValueError;
887 static PyObject *__pyx_builtin_IndexError;
888 static PyObject *__pyx_builtin_range;
889 static PyObject *__pyx_builtin_StopIteration;
890 static PyObject *__pyx_builtin_xrange;
891 static PyObject *__pyx_builtin_AttributeError;
892 static PyObject *__pyx_builtin_KeyError;
893 static int __pyx_pf_10TabProxies_10TupleProxy___cinit__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self); /* proto */
894 static void __pyx_pf_10TabProxies_10TupleProxy_2__dealloc__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self); /* proto */
895 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_4_getindex(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, int __pyx_v_index); /* proto */
896 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_6__getitem__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
897 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_8_setindex(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */
898 static int __pyx_pf_10TabProxies_10TupleProxy_10__setitem__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */
899 static Py_ssize_t __pyx_pf_10TabProxies_10TupleProxy_12__len__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self); /* proto */
900 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_14__iter__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self); /* proto */
901 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_16__next__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self); /* proto */
902 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_18__str__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self); /* proto */
903 static PyObject *__pyx_pf_10TabProxies_toDot(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v); /* proto */
904 static PyObject *__pyx_pf_10TabProxies_2quote(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v); /* proto */
905 static int __pyx_pf_10TabProxies_8GTFProxy___cinit__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
906 static void __pyx_pf_10TabProxies_8GTFProxy_2__dealloc__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
907 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6contig___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
908 static int __pyx_pf_10TabProxies_8GTFProxy_6contig_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
909 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6source___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
910 static int __pyx_pf_10TabProxies_8GTFProxy_6source_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
911 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_7feature___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
912 static int __pyx_pf_10TabProxies_8GTFProxy_7feature_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
913 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5start___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
914 static int __pyx_pf_10TabProxies_8GTFProxy_5start_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
915 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_3end___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
916 static int __pyx_pf_10TabProxies_8GTFProxy_3end_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
917 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5score___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
918 static int __pyx_pf_10TabProxies_8GTFProxy_5score_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
919 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6strand___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
920 static int __pyx_pf_10TabProxies_8GTFProxy_6strand_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
921 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5frame___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
922 static int __pyx_pf_10TabProxies_8GTFProxy_5frame_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
923 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_10attributes___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
924 static int __pyx_pf_10TabProxies_8GTFProxy_10attributes_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
925 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_4asDict(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
926 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6fromDict(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_d); /* proto */
927 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_8__str__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
928 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_10invert(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, int __pyx_v_lcontig); /* proto */
929 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_12keys(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self); /* proto */
930 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_14__getitem__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
931 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_16__getattr__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_item); /* proto */
932 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_18setAttribute(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
933 static int __pyx_pf_10TabProxies_15NamedTupleProxy___setattr__(struct __pyx_obj_10TabProxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
934 static PyObject *__pyx_pf_10TabProxies_15NamedTupleProxy_2__getattr__(struct __pyx_obj_10TabProxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
935 static PyObject *__pyx_pf_10TabProxies_8BedProxy___str__(struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self); /* proto */
936 static int __pyx_pf_10TabProxies_8BedProxy_2__setattr__(struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
937 static int __pyx_pf_10TabProxies_8VCFProxy___cinit__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self); /* proto */
938 static Py_ssize_t __pyx_pf_10TabProxies_8VCFProxy_2__len__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self); /* proto */
939 static PyObject *__pyx_pf_10TabProxies_8VCFProxy_3pos___get__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self); /* proto */
940 static int __pyx_pf_10TabProxies_8VCFProxy_4__setattr__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
941 static char __pyx_k_1[] = "Argument must be string or unicode.";
942 static char __pyx_k_3[] = "Argument must be string, bytes or unicode.";
943 static char __pyx_k_5[] = "malformatted entry at %s";
944 static char __pyx_k_6[] = "";
945 static char __pyx_k_7[] = "out of memory";
946 static char __pyx_k_9[] = "incomplete line at %s";
947 static char __pyx_k_11[] = "row too large - more than %i fields";
948 static char __pyx_k_12[] = "list index out of range";
949 static char __pyx_k_14[] = "list index out of range %i >= %i";
950 static char __pyx_k_18[] = "\t";
951 static char __pyx_k_21[] = ".";
952 static char __pyx_k_22[] = "\"%s\"";
953 static char __pyx_k_32[] = ";";
954 static char __pyx_k_34[] = " ";
955 static char __pyx_k_36[] = "\"";
956 static char __pyx_k_37[] = "%s \"%s\"";
957 static char __pyx_k_38[] = "%s %s";
958 static char __pyx_k_39[] = "; ";
959 static char __pyx_k_41[] = "-";
960 static char __pyx_k_44[] = "'GTFProxy' has no attribute '%s'";
961 static char __pyx_k_45[] = "field %s not set";
962 static char __pyx_k_46[] = "bed format requires at least three columns";
963 static char __pyx_k_48[] = "contig of feature.";
964 static char __pyx_k_49[] = "feature source.";
965 static char __pyx_k_50[] = "feature name.";
966 static char __pyx_k_51[] = "feature start (in 0-based open/closed coordinates).";
967 static char __pyx_k_52[] = "feature end (in 0-based open/closed coordinates).";
968 static char __pyx_k_53[] = "feature score.";
969 static char __pyx_k_54[] = "feature strand.";
970 static char __pyx_k_55[] = "feature frame.";
971 static char __pyx_k_56[] = "feature attributes (as a string).";
972 static char __pyx_k_57[] = "getfilesystemencoding";
973 static char __pyx_k_60[] = "/ifs/devel/pysam/pysam/TabProxies.pyx";
974 static char __pyx_k__v[] = "v";
975 static char __pyx_k__id[] = "id";
976 static char __pyx_k__alt[] = "alt";
977 static char __pyx_k__end[] = "end";
978 static char __pyx_k__pos[] = "pos";
979 static char __pyx_k__ref[] = "ref";
980 static char __pyx_k__sys[] = "sys";
981 static char __pyx_k__info[] = "info";
982 static char __pyx_k__join[] = "join";
983 static char __pyx_k__name[] = "name";
984 static char __pyx_k__qual[] = "qual";
985 static char __pyx_k__ascii[] = "ascii";
986 static char __pyx_k__frame[] = "frame";
987 static char __pyx_k__index[] = "index";
988 static char __pyx_k__items[] = "items";
989 static char __pyx_k__quote[] = "quote";
990 static char __pyx_k__range[] = "range";
991 static char __pyx_k__score[] = "score";
992 static char __pyx_k__split[] = "split";
993 static char __pyx_k__start[] = "start";
994 static char __pyx_k__strip[] = "strip";
995 static char __pyx_k__toDot[] = "toDot";
996 static char __pyx_k__types[] = "types";
997 static char __pyx_k__value[] = "value";
998 static char __pyx_k__asDict[] = "asDict";
999 static char __pyx_k__contig[] = "contig";
1000 static char __pyx_k__decode[] = "decode";
1001 static char __pyx_k__encode[] = "encode";
1002 static char __pyx_k__filter[] = "filter";
1003 static char __pyx_k__format[] = "format";
1004 static char __pyx_k__source[] = "source";
1005 static char __pyx_k__strand[] = "strand";
1006 static char __pyx_k__xrange[] = "xrange";
1007 static char __pyx_k____str__[] = "__str__";
1008 static char __pyx_k__feature[] = "feature";
1009 static char __pyx_k__indices[] = "indices";
1010 static char __pyx_k__itemRGB[] = "itemRGB";
1011 static char __pyx_k__KeyError[] = "KeyError";
1012 static char __pyx_k____main__[] = "__main__";
1013 static char __pyx_k____test__[] = "__test__";
1014 static char __pyx_k__fromDict[] = "fromDict";
1015 static char __pyx_k__thickEnd[] = "thickEnd";
1016 static char __pyx_k__TypeError[] = "TypeError";
1017 static char __pyx_k___getindex[] = "_getindex";
1018 static char __pyx_k___setindex[] = "_setindex";
1019 static char __pyx_k__IndexError[] = "IndexError";
1020 static char __pyx_k__TabProxies[] = "TabProxies";
1021 static char __pyx_k__ValueError[] = "ValueError";
1022 static char __pyx_k__attributes[] = "attributes";
1023 static char __pyx_k__blockCount[] = "blockCount";
1024 static char __pyx_k__blockSizes[] = "blockSizes";
1025 static char __pyx_k__thickStart[] = "thickStart";
1026 static char __pyx_k__StringTypes[] = "StringTypes";
1027 static char __pyx_k____getattr__[] = "__getattr__";
1028 static char __pyx_k____setitem__[] = "__setitem__";
1029 static char __pyx_k__blockStarts[] = "blockStarts";
1030 static char __pyx_k__StopIteration[] = "StopIteration";
1031 static char __pyx_k__map_key2field[] = "map_key2field";
1032 static char __pyx_k__AttributeError[] = "AttributeError";
1033 static char __pyx_k__getdefaultencoding[] = "getdefaultencoding";
1034 static PyObject *__pyx_kp_u_1;
1035 static PyObject *__pyx_kp_s_11;
1036 static PyObject *__pyx_kp_s_12;
1037 static PyObject *__pyx_kp_s_14;
1038 static PyObject *__pyx_kp_s_18;
1039 static PyObject *__pyx_kp_s_21;
1040 static PyObject *__pyx_kp_s_22;
1041 static PyObject *__pyx_kp_u_3;
1042 static PyObject *__pyx_kp_s_32;
1043 static PyObject *__pyx_kp_s_34;
1044 static PyObject *__pyx_kp_s_36;
1045 static PyObject *__pyx_kp_s_37;
1046 static PyObject *__pyx_kp_s_38;
1047 static PyObject *__pyx_kp_s_39;
1048 static PyObject *__pyx_kp_s_41;
1049 static PyObject *__pyx_kp_s_44;
1050 static PyObject *__pyx_kp_s_45;
1051 static PyObject *__pyx_kp_s_46;
1052 static PyObject *__pyx_kp_s_5;
1053 static PyObject *__pyx_n_s_57;
1054 static PyObject *__pyx_kp_s_6;
1055 static PyObject *__pyx_kp_s_60;
1056 static PyObject *__pyx_kp_s_7;
1057 static PyObject *__pyx_kp_s_9;
1058 static PyObject *__pyx_n_s__AttributeError;
1059 static PyObject *__pyx_n_s__IndexError;
1060 static PyObject *__pyx_n_s__KeyError;
1061 static PyObject *__pyx_n_s__StopIteration;
1062 static PyObject *__pyx_n_s__StringTypes;
1063 static PyObject *__pyx_n_s__TabProxies;
1064 static PyObject *__pyx_n_s__TypeError;
1065 static PyObject *__pyx_n_s__ValueError;
1066 static PyObject *__pyx_n_s____getattr__;
1067 static PyObject *__pyx_n_s____main__;
1068 static PyObject *__pyx_n_s____setitem__;
1069 static PyObject *__pyx_n_s____str__;
1070 static PyObject *__pyx_n_s____test__;
1071 static PyObject *__pyx_n_s___getindex;
1072 static PyObject *__pyx_n_s___setindex;
1073 static PyObject *__pyx_n_s__alt;
1074 static PyObject *__pyx_n_s__asDict;
1075 static PyObject *__pyx_n_s__ascii;
1076 static PyObject *__pyx_n_s__attributes;
1077 static PyObject *__pyx_n_s__blockCount;
1078 static PyObject *__pyx_n_s__blockSizes;
1079 static PyObject *__pyx_n_s__blockStarts;
1080 static PyObject *__pyx_n_s__contig;
1081 static PyObject *__pyx_n_s__decode;
1082 static PyObject *__pyx_n_s__encode;
1083 static PyObject *__pyx_n_s__end;
1084 static PyObject *__pyx_n_s__feature;
1085 static PyObject *__pyx_n_s__filter;
1086 static PyObject *__pyx_n_s__format;
1087 static PyObject *__pyx_n_s__frame;
1088 static PyObject *__pyx_n_s__fromDict;
1089 static PyObject *__pyx_n_s__getdefaultencoding;
1090 static PyObject *__pyx_n_s__id;
1091 static PyObject *__pyx_n_s__index;
1092 static PyObject *__pyx_n_s__indices;
1093 static PyObject *__pyx_n_s__info;
1094 static PyObject *__pyx_n_s__itemRGB;
1095 static PyObject *__pyx_n_s__items;
1096 static PyObject *__pyx_n_s__join;
1097 static PyObject *__pyx_n_s__map_key2field;
1098 static PyObject *__pyx_n_s__name;
1099 static PyObject *__pyx_n_s__pos;
1100 static PyObject *__pyx_n_s__qual;
1101 static PyObject *__pyx_n_s__quote;
1102 static PyObject *__pyx_n_s__range;
1103 static PyObject *__pyx_n_s__ref;
1104 static PyObject *__pyx_n_s__score;
1105 static PyObject *__pyx_n_s__source;
1106 static PyObject *__pyx_n_s__split;
1107 static PyObject *__pyx_n_s__start;
1108 static PyObject *__pyx_n_s__strand;
1109 static PyObject *__pyx_n_s__strip;
1110 static PyObject *__pyx_n_s__sys;
1111 static PyObject *__pyx_n_s__thickEnd;
1112 static PyObject *__pyx_n_s__thickStart;
1113 static PyObject *__pyx_n_s__toDot;
1114 static PyObject *__pyx_n_s__types;
1115 static PyObject *__pyx_n_s__v;
1116 static PyObject *__pyx_n_s__value;
1117 static PyObject *__pyx_n_s__xrange;
1118 static PyObject *__pyx_int_0;
1119 static PyObject *__pyx_int_1;
1120 static PyObject *__pyx_int_2;
1121 static PyObject *__pyx_int_3;
1122 static PyObject *__pyx_int_4;
1123 static PyObject *__pyx_int_5;
1124 static PyObject *__pyx_int_6;
1125 static PyObject *__pyx_int_7;
1126 static PyObject *__pyx_int_8;
1127 static PyObject *__pyx_int_9;
1128 static PyObject *__pyx_int_10;
1129 static PyObject *__pyx_int_11;
1130 static PyObject *__pyx_k_tuple_2;
1131 static PyObject *__pyx_k_tuple_4;
1132 static PyObject *__pyx_k_tuple_8;
1133 static PyObject *__pyx_k_tuple_10;
1134 static PyObject *__pyx_k_tuple_13;
1135 static PyObject *__pyx_k_tuple_15;
1136 static PyObject *__pyx_k_tuple_16;
1137 static PyObject *__pyx_k_tuple_17;
1138 static PyObject *__pyx_k_tuple_19;
1139 static PyObject *__pyx_k_tuple_20;
1140 static PyObject *__pyx_k_tuple_23;
1141 static PyObject *__pyx_k_tuple_24;
1142 static PyObject *__pyx_k_tuple_25;
1143 static PyObject *__pyx_k_tuple_26;
1144 static PyObject *__pyx_k_tuple_27;
1145 static PyObject *__pyx_k_tuple_28;
1146 static PyObject *__pyx_k_tuple_29;
1147 static PyObject *__pyx_k_tuple_30;
1148 static PyObject *__pyx_k_tuple_31;
1149 static PyObject *__pyx_k_tuple_33;
1150 static PyObject *__pyx_k_tuple_35;
1151 static PyObject *__pyx_k_tuple_40;
1152 static PyObject *__pyx_k_tuple_42;
1153 static PyObject *__pyx_k_tuple_43;
1154 static PyObject *__pyx_k_tuple_47;
1155 static PyObject *__pyx_k_tuple_58;
1156 static PyObject *__pyx_k_tuple_61;
1157 static PyObject *__pyx_k_codeobj_59;
1158 static PyObject *__pyx_k_codeobj_62;
1160 /* "TabProxies.pyx":7
1161 * from cpython cimport PyErr_SetString, PyBytes_Check, PyUnicode_Check, PyBytes_FromStringAndSize
1163 * cdef from_string_and_size(char* s, size_t length): # <<<<<<<<<<<<<<
1164 * if PY_MAJOR_VERSION < 3:
1168 static PyObject *__pyx_f_10TabProxies_from_string_and_size(char *__pyx_v_s, size_t __pyx_v_length) {
1169 PyObject *__pyx_r = NULL;
1170 __Pyx_RefNannyDeclarations
1172 PyObject *__pyx_t_2 = NULL;
1173 int __pyx_lineno = 0;
1174 const char *__pyx_filename = NULL;
1175 int __pyx_clineno = 0;
1176 __Pyx_RefNannySetupContext("from_string_and_size", 0);
1178 /* "TabProxies.pyx":8
1180 * cdef from_string_and_size(char* s, size_t length):
1181 * if PY_MAJOR_VERSION < 3: # <<<<<<<<<<<<<<
1185 __pyx_t_1 = (PY_MAJOR_VERSION < 3);
1188 /* "TabProxies.pyx":9
1189 * cdef from_string_and_size(char* s, size_t length):
1190 * if PY_MAJOR_VERSION < 3:
1191 * return s[:length] # <<<<<<<<<<<<<<
1193 * return s[:length].decode("ascii")
1195 __Pyx_XDECREF(__pyx_r);
1196 __pyx_t_2 = PyBytes_FromStringAndSize(__pyx_v_s + 0, __pyx_v_length - 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1197 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1198 __pyx_r = ((PyObject *)__pyx_t_2);
1205 /* "TabProxies.pyx":11
1208 * return s[:length].decode("ascii") # <<<<<<<<<<<<<<
1210 * # filename encoding (copied from lxml.etree.pyx)
1212 __Pyx_XDECREF(__pyx_r);
1213 __pyx_t_2 = ((PyObject *)PyUnicode_DecodeASCII(__pyx_v_s, __pyx_v_length, NULL)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1214 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1215 __pyx_r = ((PyObject *)__pyx_t_2);
1221 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1224 __Pyx_XDECREF(__pyx_t_2);
1225 __Pyx_AddTraceback("TabProxies.from_string_and_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
1228 __Pyx_XGIVEREF(__pyx_r);
1229 __Pyx_RefNannyFinishContext();
1233 /* "TabProxies.pyx":21
1234 * _FILENAME_ENCODING = 'ascii'
1236 * cdef bytes _my_encodeFilename(object filename): # <<<<<<<<<<<<<<
1237 * u"""Make sure a filename is 8-bit encoded (or None).
1241 static PyObject *__pyx_f_10TabProxies__my_encodeFilename(PyObject *__pyx_v_filename) {
1242 PyObject *__pyx_r = NULL;
1243 __Pyx_RefNannyDeclarations
1245 PyObject *__pyx_t_2 = NULL;
1246 PyObject *__pyx_t_3 = NULL;
1247 PyObject *__pyx_t_4 = NULL;
1248 int __pyx_lineno = 0;
1249 const char *__pyx_filename = NULL;
1250 int __pyx_clineno = 0;
1251 __Pyx_RefNannySetupContext("_my_encodeFilename", 0);
1253 /* "TabProxies.pyx":24
1254 * u"""Make sure a filename is 8-bit encoded (or None).
1256 * if filename is None: # <<<<<<<<<<<<<<
1258 * elif PyBytes_Check(filename):
1260 __pyx_t_1 = (__pyx_v_filename == Py_None);
1263 /* "TabProxies.pyx":25
1265 * if filename is None:
1266 * return None # <<<<<<<<<<<<<<
1267 * elif PyBytes_Check(filename):
1270 __Pyx_XDECREF(((PyObject *)__pyx_r));
1271 __Pyx_INCREF(Py_None);
1272 __pyx_r = ((PyObject*)Py_None);
1277 /* "TabProxies.pyx":26
1278 * if filename is None:
1280 * elif PyBytes_Check(filename): # <<<<<<<<<<<<<<
1282 * elif PyUnicode_Check(filename):
1284 __pyx_t_1 = PyBytes_Check(__pyx_v_filename);
1287 /* "TabProxies.pyx":27
1289 * elif PyBytes_Check(filename):
1290 * return filename # <<<<<<<<<<<<<<
1291 * elif PyUnicode_Check(filename):
1292 * return filename.encode(_FILENAME_ENCODING)
1294 __Pyx_XDECREF(((PyObject *)__pyx_r));
1295 if (!(likely(PyBytes_CheckExact(__pyx_v_filename))||((__pyx_v_filename) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected bytes, got %.200s", Py_TYPE(__pyx_v_filename)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1296 __Pyx_INCREF(__pyx_v_filename);
1297 __pyx_r = ((PyObject*)__pyx_v_filename);
1302 /* "TabProxies.pyx":28
1303 * elif PyBytes_Check(filename):
1305 * elif PyUnicode_Check(filename): # <<<<<<<<<<<<<<
1306 * return filename.encode(_FILENAME_ENCODING)
1309 __pyx_t_1 = PyUnicode_Check(__pyx_v_filename);
1312 /* "TabProxies.pyx":29
1314 * elif PyUnicode_Check(filename):
1315 * return filename.encode(_FILENAME_ENCODING) # <<<<<<<<<<<<<<
1317 * raise TypeError, u"Argument must be string or unicode."
1319 __Pyx_XDECREF(((PyObject *)__pyx_r));
1320 __pyx_t_2 = PyObject_GetAttr(__pyx_v_filename, __pyx_n_s__encode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1321 __Pyx_GOTREF(__pyx_t_2);
1322 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1323 __Pyx_GOTREF(__pyx_t_3);
1324 __Pyx_INCREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
1325 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
1326 __Pyx_GIVEREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
1327 __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1328 __Pyx_GOTREF(__pyx_t_4);
1329 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1330 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
1331 if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected bytes, got %.200s", Py_TYPE(__pyx_t_4)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1332 __pyx_r = ((PyObject*)__pyx_t_4);
1339 /* "TabProxies.pyx":31
1340 * return filename.encode(_FILENAME_ENCODING)
1342 * raise TypeError, u"Argument must be string or unicode." # <<<<<<<<<<<<<<
1344 * cdef bytes _force_bytes(object s):
1346 __Pyx_Raise(__pyx_builtin_TypeError, ((PyObject *)__pyx_kp_u_1), 0, 0);
1347 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1351 __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
1354 __Pyx_XDECREF(__pyx_t_2);
1355 __Pyx_XDECREF(__pyx_t_3);
1356 __Pyx_XDECREF(__pyx_t_4);
1357 __Pyx_AddTraceback("TabProxies._my_encodeFilename", __pyx_clineno, __pyx_lineno, __pyx_filename);
1360 __Pyx_XGIVEREF(__pyx_r);
1361 __Pyx_RefNannyFinishContext();
1365 /* "TabProxies.pyx":33
1366 * raise TypeError, u"Argument must be string or unicode."
1368 * cdef bytes _force_bytes(object s): # <<<<<<<<<<<<<<
1369 * u"""convert string or unicode object to bytes, assuming ascii encoding.
1373 static PyObject *__pyx_f_10TabProxies__force_bytes(PyObject *__pyx_v_s) {
1374 PyObject *__pyx_r = NULL;
1375 __Pyx_RefNannyDeclarations
1377 PyObject *__pyx_t_2 = NULL;
1378 PyObject *__pyx_t_3 = NULL;
1379 int __pyx_lineno = 0;
1380 const char *__pyx_filename = NULL;
1381 int __pyx_clineno = 0;
1382 __Pyx_RefNannySetupContext("_force_bytes", 0);
1384 /* "TabProxies.pyx":36
1385 * u"""convert string or unicode object to bytes, assuming ascii encoding.
1387 * if PY_MAJOR_VERSION < 3: # <<<<<<<<<<<<<<
1391 __pyx_t_1 = (PY_MAJOR_VERSION < 3);
1394 /* "TabProxies.pyx":37
1396 * if PY_MAJOR_VERSION < 3:
1397 * return s # <<<<<<<<<<<<<<
1401 __Pyx_XDECREF(((PyObject *)__pyx_r));
1402 if (!(likely(PyBytes_CheckExact(__pyx_v_s))||((__pyx_v_s) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected bytes, got %.200s", Py_TYPE(__pyx_v_s)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1403 __Pyx_INCREF(__pyx_v_s);
1404 __pyx_r = ((PyObject*)__pyx_v_s);
1409 /* "TabProxies.pyx":38
1410 * if PY_MAJOR_VERSION < 3:
1412 * elif s is None: # <<<<<<<<<<<<<<
1414 * elif PyBytes_Check(s):
1416 __pyx_t_1 = (__pyx_v_s == Py_None);
1419 /* "TabProxies.pyx":39
1422 * return None # <<<<<<<<<<<<<<
1423 * elif PyBytes_Check(s):
1426 __Pyx_XDECREF(((PyObject *)__pyx_r));
1427 __Pyx_INCREF(Py_None);
1428 __pyx_r = ((PyObject*)Py_None);
1433 /* "TabProxies.pyx":40
1436 * elif PyBytes_Check(s): # <<<<<<<<<<<<<<
1438 * elif PyUnicode_Check(s):
1440 __pyx_t_1 = PyBytes_Check(__pyx_v_s);
1443 /* "TabProxies.pyx":41
1445 * elif PyBytes_Check(s):
1446 * return s # <<<<<<<<<<<<<<
1447 * elif PyUnicode_Check(s):
1448 * return s.encode('ascii')
1450 __Pyx_XDECREF(((PyObject *)__pyx_r));
1451 if (!(likely(PyBytes_CheckExact(__pyx_v_s))||((__pyx_v_s) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected bytes, got %.200s", Py_TYPE(__pyx_v_s)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1452 __Pyx_INCREF(__pyx_v_s);
1453 __pyx_r = ((PyObject*)__pyx_v_s);
1458 /* "TabProxies.pyx":42
1459 * elif PyBytes_Check(s):
1461 * elif PyUnicode_Check(s): # <<<<<<<<<<<<<<
1462 * return s.encode('ascii')
1465 __pyx_t_1 = PyUnicode_Check(__pyx_v_s);
1468 /* "TabProxies.pyx":43
1470 * elif PyUnicode_Check(s):
1471 * return s.encode('ascii') # <<<<<<<<<<<<<<
1473 * raise TypeError, u"Argument must be string, bytes or unicode."
1475 __Pyx_XDECREF(((PyObject *)__pyx_r));
1476 __pyx_t_2 = PyObject_GetAttr(__pyx_v_s, __pyx_n_s__encode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1477 __Pyx_GOTREF(__pyx_t_2);
1478 __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1479 __Pyx_GOTREF(__pyx_t_3);
1480 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1481 if (!(likely(PyBytes_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected bytes, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1482 __pyx_r = ((PyObject*)__pyx_t_3);
1489 /* "TabProxies.pyx":45
1490 * return s.encode('ascii')
1492 * raise TypeError, u"Argument must be string, bytes or unicode." # <<<<<<<<<<<<<<
1494 * cdef inline bytes _force_cmdline_bytes(object s):
1496 __Pyx_Raise(__pyx_builtin_TypeError, ((PyObject *)__pyx_kp_u_3), 0, 0);
1497 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1501 __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
1504 __Pyx_XDECREF(__pyx_t_2);
1505 __Pyx_XDECREF(__pyx_t_3);
1506 __Pyx_AddTraceback("TabProxies._force_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename);
1509 __Pyx_XGIVEREF(__pyx_r);
1510 __Pyx_RefNannyFinishContext();
1514 /* "TabProxies.pyx":47
1515 * raise TypeError, u"Argument must be string, bytes or unicode."
1517 * cdef inline bytes _force_cmdline_bytes(object s): # <<<<<<<<<<<<<<
1518 * return _force_bytes(s)
1522 static CYTHON_INLINE PyObject *__pyx_f_10TabProxies__force_cmdline_bytes(PyObject *__pyx_v_s) {
1523 PyObject *__pyx_r = NULL;
1524 __Pyx_RefNannyDeclarations
1525 PyObject *__pyx_t_1 = NULL;
1526 int __pyx_lineno = 0;
1527 const char *__pyx_filename = NULL;
1528 int __pyx_clineno = 0;
1529 __Pyx_RefNannySetupContext("_force_cmdline_bytes", 0);
1531 /* "TabProxies.pyx":48
1533 * cdef inline bytes _force_cmdline_bytes(object s):
1534 * return _force_bytes(s) # <<<<<<<<<<<<<<
1536 * cdef _charptr_to_str(char* s):
1538 __Pyx_XDECREF(((PyObject *)__pyx_r));
1539 __pyx_t_1 = ((PyObject *)__pyx_f_10TabProxies__force_bytes(__pyx_v_s)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1540 __Pyx_GOTREF(__pyx_t_1);
1541 __pyx_r = ((PyObject*)__pyx_t_1);
1545 __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
1548 __Pyx_XDECREF(__pyx_t_1);
1549 __Pyx_AddTraceback("TabProxies._force_cmdline_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename);
1552 __Pyx_XGIVEREF(__pyx_r);
1553 __Pyx_RefNannyFinishContext();
1557 /* "TabProxies.pyx":50
1558 * return _force_bytes(s)
1560 * cdef _charptr_to_str(char* s): # <<<<<<<<<<<<<<
1561 * if PY_MAJOR_VERSION < 3:
1565 static PyObject *__pyx_f_10TabProxies__charptr_to_str(char *__pyx_v_s) {
1566 PyObject *__pyx_r = NULL;
1567 __Pyx_RefNannyDeclarations
1569 PyObject *__pyx_t_2 = NULL;
1570 int __pyx_lineno = 0;
1571 const char *__pyx_filename = NULL;
1572 int __pyx_clineno = 0;
1573 __Pyx_RefNannySetupContext("_charptr_to_str", 0);
1575 /* "TabProxies.pyx":51
1577 * cdef _charptr_to_str(char* s):
1578 * if PY_MAJOR_VERSION < 3: # <<<<<<<<<<<<<<
1582 __pyx_t_1 = (PY_MAJOR_VERSION < 3);
1585 /* "TabProxies.pyx":52
1586 * cdef _charptr_to_str(char* s):
1587 * if PY_MAJOR_VERSION < 3:
1588 * return s # <<<<<<<<<<<<<<
1590 * return s.decode("ascii")
1592 __Pyx_XDECREF(__pyx_r);
1593 __pyx_t_2 = PyBytes_FromString(__pyx_v_s); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1594 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1595 __pyx_r = ((PyObject *)__pyx_t_2);
1602 /* "TabProxies.pyx":54
1605 * return s.decode("ascii") # <<<<<<<<<<<<<<
1607 * cdef _force_str(object s):
1609 __Pyx_XDECREF(__pyx_r);
1610 __pyx_t_2 = ((PyObject *)PyUnicode_DecodeASCII(__pyx_v_s, strlen(__pyx_v_s), NULL)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1611 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1612 __pyx_r = ((PyObject *)__pyx_t_2);
1618 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1621 __Pyx_XDECREF(__pyx_t_2);
1622 __Pyx_AddTraceback("TabProxies._charptr_to_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
1625 __Pyx_XGIVEREF(__pyx_r);
1626 __Pyx_RefNannyFinishContext();
1630 /* "TabProxies.pyx":56
1631 * return s.decode("ascii")
1633 * cdef _force_str(object s): # <<<<<<<<<<<<<<
1634 * """Return s converted to str type of current Python (bytes in Py2, unicode in Py3)"""
1638 static PyObject *__pyx_f_10TabProxies__force_str(PyObject *__pyx_v_s) {
1639 PyObject *__pyx_r = NULL;
1640 __Pyx_RefNannyDeclarations
1642 PyObject *__pyx_t_2 = NULL;
1643 PyObject *__pyx_t_3 = NULL;
1644 int __pyx_lineno = 0;
1645 const char *__pyx_filename = NULL;
1646 int __pyx_clineno = 0;
1647 __Pyx_RefNannySetupContext("_force_str", 0);
1649 /* "TabProxies.pyx":58
1650 * cdef _force_str(object s):
1651 * """Return s converted to str type of current Python (bytes in Py2, unicode in Py3)"""
1652 * if s is None: # <<<<<<<<<<<<<<
1654 * if PY_MAJOR_VERSION < 3:
1656 __pyx_t_1 = (__pyx_v_s == Py_None);
1659 /* "TabProxies.pyx":59
1660 * """Return s converted to str type of current Python (bytes in Py2, unicode in Py3)"""
1662 * return None # <<<<<<<<<<<<<<
1663 * if PY_MAJOR_VERSION < 3:
1666 __Pyx_XDECREF(__pyx_r);
1667 __Pyx_INCREF(Py_None);
1674 /* "TabProxies.pyx":60
1677 * if PY_MAJOR_VERSION < 3: # <<<<<<<<<<<<<<
1679 * elif PyBytes_Check(s):
1681 __pyx_t_1 = (PY_MAJOR_VERSION < 3);
1684 /* "TabProxies.pyx":61
1686 * if PY_MAJOR_VERSION < 3:
1687 * return s # <<<<<<<<<<<<<<
1688 * elif PyBytes_Check(s):
1689 * return s.decode('ascii')
1691 __Pyx_XDECREF(__pyx_r);
1692 __Pyx_INCREF(__pyx_v_s);
1693 __pyx_r = __pyx_v_s;
1698 /* "TabProxies.pyx":62
1699 * if PY_MAJOR_VERSION < 3:
1701 * elif PyBytes_Check(s): # <<<<<<<<<<<<<<
1702 * return s.decode('ascii')
1705 __pyx_t_1 = PyBytes_Check(__pyx_v_s);
1708 /* "TabProxies.pyx":63
1710 * elif PyBytes_Check(s):
1711 * return s.decode('ascii') # <<<<<<<<<<<<<<
1715 __Pyx_XDECREF(__pyx_r);
1716 __pyx_t_2 = PyObject_GetAttr(__pyx_v_s, __pyx_n_s__decode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1717 __Pyx_GOTREF(__pyx_t_2);
1718 __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1719 __Pyx_GOTREF(__pyx_t_3);
1720 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1721 __pyx_r = __pyx_t_3;
1728 /* "TabProxies.pyx":66
1731 * return s # <<<<<<<<<<<<<<
1733 * cdef char * nextItem( char * buffer ):
1735 __Pyx_XDECREF(__pyx_r);
1736 __Pyx_INCREF(__pyx_v_s);
1737 __pyx_r = __pyx_v_s;
1742 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1745 __Pyx_XDECREF(__pyx_t_2);
1746 __Pyx_XDECREF(__pyx_t_3);
1747 __Pyx_AddTraceback("TabProxies._force_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
1750 __Pyx_XGIVEREF(__pyx_r);
1751 __Pyx_RefNannyFinishContext();
1755 /* "TabProxies.pyx":68
1758 * cdef char * nextItem( char * buffer ): # <<<<<<<<<<<<<<
1760 * pos = strchr( buffer, '\t' )
1763 static char *__pyx_f_10TabProxies_nextItem(char *__pyx_v_buffer) {
1766 __Pyx_RefNannyDeclarations
1768 PyObject *__pyx_t_2 = NULL;
1769 PyObject *__pyx_t_3 = NULL;
1770 int __pyx_lineno = 0;
1771 const char *__pyx_filename = NULL;
1772 int __pyx_clineno = 0;
1773 __Pyx_RefNannySetupContext("nextItem", 0);
1775 /* "TabProxies.pyx":70
1776 * cdef char * nextItem( char * buffer ):
1778 * pos = strchr( buffer, '\t' ) # <<<<<<<<<<<<<<
1779 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer )
1782 __pyx_v_pos = strchr(__pyx_v_buffer, '\t');
1784 /* "TabProxies.pyx":71
1786 * pos = strchr( buffer, '\t' )
1787 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer ) # <<<<<<<<<<<<<<
1791 __pyx_t_1 = (__pyx_v_pos == NULL);
1793 __pyx_t_2 = PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1794 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1795 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1796 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
1797 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
1798 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1799 __Pyx_GOTREF(__pyx_t_2);
1800 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
1801 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
1803 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1804 __Pyx_GOTREF(__pyx_t_3);
1805 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
1806 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
1807 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1808 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1813 /* "TabProxies.pyx":72
1814 * pos = strchr( buffer, '\t' )
1815 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer )
1816 * pos[0] = '\0' # <<<<<<<<<<<<<<
1820 (__pyx_v_pos[0]) = '\x00';
1822 /* "TabProxies.pyx":73
1823 * if pos == NULL: raise ValueError( "malformatted entry at %s" % buffer )
1825 * pos += 1 # <<<<<<<<<<<<<<
1829 __pyx_v_pos = (__pyx_v_pos + 1);
1831 /* "TabProxies.pyx":74
1834 * return pos # <<<<<<<<<<<<<<
1836 * cdef char *StrOrEmpty( char * buffer ):
1838 __pyx_r = __pyx_v_pos;
1844 __Pyx_XDECREF(__pyx_t_2);
1845 __Pyx_XDECREF(__pyx_t_3);
1846 __Pyx_WriteUnraisable("TabProxies.nextItem", __pyx_clineno, __pyx_lineno, __pyx_filename);
1849 __Pyx_RefNannyFinishContext();
1853 /* "TabProxies.pyx":76
1856 * cdef char *StrOrEmpty( char * buffer ): # <<<<<<<<<<<<<<
1857 * if buffer == NULL: return ""
1858 * else: return buffer
1861 static char *__pyx_f_10TabProxies_StrOrEmpty(char *__pyx_v_buffer) {
1863 __Pyx_RefNannyDeclarations
1865 __Pyx_RefNannySetupContext("StrOrEmpty", 0);
1867 /* "TabProxies.pyx":77
1869 * cdef char *StrOrEmpty( char * buffer ):
1870 * if buffer == NULL: return "" # <<<<<<<<<<<<<<
1871 * else: return buffer
1874 __pyx_t_1 = (__pyx_v_buffer == NULL);
1876 __pyx_r = __pyx_k_6;
1882 /* "TabProxies.pyx":78
1883 * cdef char *StrOrEmpty( char * buffer ):
1884 * if buffer == NULL: return ""
1885 * else: return buffer # <<<<<<<<<<<<<<
1887 * cdef int isNew( char * p, char * buffer, size_t nbytes ):
1889 __pyx_r = __pyx_v_buffer;
1896 __Pyx_RefNannyFinishContext();
1900 /* "TabProxies.pyx":80
1901 * else: return buffer
1903 * cdef int isNew( char * p, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
1904 * if p == NULL: return 0
1905 * return not (buffer <= p < buffer + nbytes )
1908 static int __pyx_f_10TabProxies_isNew(char *__pyx_v_p, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
1910 __Pyx_RefNannyDeclarations
1912 __Pyx_RefNannySetupContext("isNew", 0);
1914 /* "TabProxies.pyx":81
1916 * cdef int isNew( char * p, char * buffer, size_t nbytes ):
1917 * if p == NULL: return 0 # <<<<<<<<<<<<<<
1918 * return not (buffer <= p < buffer + nbytes )
1921 __pyx_t_1 = (__pyx_v_p == NULL);
1929 /* "TabProxies.pyx":82
1930 * cdef int isNew( char * p, char * buffer, size_t nbytes ):
1931 * if p == NULL: return 0
1932 * return not (buffer <= p < buffer + nbytes ) # <<<<<<<<<<<<<<
1934 * cdef class TupleProxy:
1936 __pyx_t_1 = (__pyx_v_buffer <= __pyx_v_p);
1938 __pyx_t_1 = (__pyx_v_p < (__pyx_v_buffer + __pyx_v_nbytes));
1940 __pyx_r = (!__pyx_t_1);
1945 __Pyx_RefNannyFinishContext();
1949 /* Python wrapper */
1950 static int __pyx_pw_10TabProxies_10TupleProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1951 static int __pyx_pw_10TabProxies_10TupleProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1953 __Pyx_RefNannyDeclarations
1954 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
1955 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
1956 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
1957 if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
1958 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy___cinit__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self));
1959 __Pyx_RefNannyFinishContext();
1963 /* "TabProxies.pyx":95
1966 * def __cinit__(self ): # <<<<<<<<<<<<<<
1968 * self.fields = NULL
1971 static int __pyx_pf_10TabProxies_10TupleProxy___cinit__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self) {
1973 __Pyx_RefNannyDeclarations
1974 __Pyx_RefNannySetupContext("__cinit__", 0);
1976 /* "TabProxies.pyx":96
1978 * def __cinit__(self ):
1979 * self.data = NULL # <<<<<<<<<<<<<<
1980 * self.fields = NULL
1983 __pyx_v_self->data = NULL;
1985 /* "TabProxies.pyx":97
1986 * def __cinit__(self ):
1988 * self.fields = NULL # <<<<<<<<<<<<<<
1992 __pyx_v_self->fields = NULL;
1994 /* "TabProxies.pyx":98
1996 * self.fields = NULL
1997 * self.index = 0 # <<<<<<<<<<<<<<
1999 * self.is_modified = 0
2001 __pyx_v_self->index = 0;
2003 /* "TabProxies.pyx":99
2004 * self.fields = NULL
2006 * self.nbytes = 0 # <<<<<<<<<<<<<<
2007 * self.is_modified = 0
2010 __pyx_v_self->nbytes = 0;
2012 /* "TabProxies.pyx":100
2015 * self.is_modified = 0 # <<<<<<<<<<<<<<
2017 * # start counting at field offset
2019 __pyx_v_self->is_modified = 0;
2021 /* "TabProxies.pyx":101
2023 * self.is_modified = 0
2024 * self.nfields = 0 # <<<<<<<<<<<<<<
2025 * # start counting at field offset
2028 __pyx_v_self->nfields = 0;
2030 /* "TabProxies.pyx":103
2032 * # start counting at field offset
2033 * self.offset = 0 # <<<<<<<<<<<<<<
2035 * def __dealloc__(self):
2037 __pyx_v_self->offset = 0;
2040 __Pyx_RefNannyFinishContext();
2044 /* Python wrapper */
2045 static void __pyx_pw_10TabProxies_10TupleProxy_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
2046 static void __pyx_pw_10TabProxies_10TupleProxy_3__dealloc__(PyObject *__pyx_v_self) {
2047 __Pyx_RefNannyDeclarations
2048 __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
2049 __pyx_pf_10TabProxies_10TupleProxy_2__dealloc__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self));
2050 __Pyx_RefNannyFinishContext();
2053 /* "TabProxies.pyx":105
2056 * def __dealloc__(self): # <<<<<<<<<<<<<<
2058 * if self.is_modified:
2061 static void __pyx_pf_10TabProxies_10TupleProxy_2__dealloc__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self) {
2063 __Pyx_RefNannyDeclarations
2067 __Pyx_RefNannySetupContext("__dealloc__", 0);
2069 /* "TabProxies.pyx":107
2070 * def __dealloc__(self):
2072 * if self.is_modified: # <<<<<<<<<<<<<<
2073 * for x from 0 <= x < self.nfields:
2074 * if isNew( self.fields[x], self.data, self.nbytes ):
2076 if (__pyx_v_self->is_modified) {
2078 /* "TabProxies.pyx":108
2080 * if self.is_modified:
2081 * for x from 0 <= x < self.nfields: # <<<<<<<<<<<<<<
2082 * if isNew( self.fields[x], self.data, self.nbytes ):
2083 * free( self.fields[x] )
2085 __pyx_t_1 = __pyx_v_self->nfields;
2086 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_1; __pyx_v_x++) {
2088 /* "TabProxies.pyx":109
2089 * if self.is_modified:
2090 * for x from 0 <= x < self.nfields:
2091 * if isNew( self.fields[x], self.data, self.nbytes ): # <<<<<<<<<<<<<<
2092 * free( self.fields[x] )
2093 * self.fields[x] = NULL
2095 __pyx_t_2 = __pyx_f_10TabProxies_isNew((__pyx_v_self->fields[__pyx_v_x]), __pyx_v_self->data, __pyx_v_self->nbytes);
2098 /* "TabProxies.pyx":110
2099 * for x from 0 <= x < self.nfields:
2100 * if isNew( self.fields[x], self.data, self.nbytes ):
2101 * free( self.fields[x] ) # <<<<<<<<<<<<<<
2102 * self.fields[x] = NULL
2105 free((__pyx_v_self->fields[__pyx_v_x]));
2107 /* "TabProxies.pyx":111
2108 * if isNew( self.fields[x], self.data, self.nbytes ):
2109 * free( self.fields[x] )
2110 * self.fields[x] = NULL # <<<<<<<<<<<<<<
2112 * if self.data != NULL: free(self.data)
2114 (__pyx_v_self->fields[__pyx_v_x]) = NULL;
2123 /* "TabProxies.pyx":113
2124 * self.fields[x] = NULL
2126 * if self.data != NULL: free(self.data) # <<<<<<<<<<<<<<
2127 * if self.fields != NULL: free( self.fields )
2130 __pyx_t_3 = (__pyx_v_self->data != NULL);
2132 free(__pyx_v_self->data);
2137 /* "TabProxies.pyx":114
2139 * if self.data != NULL: free(self.data)
2140 * if self.fields != NULL: free( self.fields ) # <<<<<<<<<<<<<<
2142 * cdef take( self, char * buffer, size_t nbytes ):
2144 __pyx_t_3 = (__pyx_v_self->fields != NULL);
2146 free(__pyx_v_self->fields);
2151 __Pyx_RefNannyFinishContext();
2154 /* "TabProxies.pyx":116
2155 * if self.fields != NULL: free( self.fields )
2157 * cdef take( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
2158 * '''start presenting buffer.
2162 static PyObject *__pyx_f_10TabProxies_10TupleProxy_take(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
2163 PyObject *__pyx_r = NULL;
2164 __Pyx_RefNannyDeclarations
2165 PyObject *__pyx_t_1 = NULL;
2166 int __pyx_lineno = 0;
2167 const char *__pyx_filename = NULL;
2168 int __pyx_clineno = 0;
2169 __Pyx_RefNannySetupContext("take", 0);
2171 /* "TabProxies.pyx":121
2172 * Take ownership of the pointer.
2174 * self.data = buffer # <<<<<<<<<<<<<<
2175 * self.nbytes = nbytes
2176 * self.update( buffer, nbytes )
2178 __pyx_v_self->data = __pyx_v_buffer;
2180 /* "TabProxies.pyx":122
2182 * self.data = buffer
2183 * self.nbytes = nbytes # <<<<<<<<<<<<<<
2184 * self.update( buffer, nbytes )
2187 __pyx_v_self->nbytes = __pyx_v_nbytes;
2189 /* "TabProxies.pyx":123
2190 * self.data = buffer
2191 * self.nbytes = nbytes
2192 * self.update( buffer, nbytes ) # <<<<<<<<<<<<<<
2194 * cdef present( self, char * buffer, size_t nbytes ):
2196 __pyx_t_1 = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2197 __Pyx_GOTREF(__pyx_t_1);
2198 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2200 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2203 __Pyx_XDECREF(__pyx_t_1);
2204 __Pyx_AddTraceback("TabProxies.TupleProxy.take", __pyx_clineno, __pyx_lineno, __pyx_filename);
2207 __Pyx_XGIVEREF(__pyx_r);
2208 __Pyx_RefNannyFinishContext();
2212 /* "TabProxies.pyx":125
2213 * self.update( buffer, nbytes )
2215 * cdef present( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
2216 * '''start presenting buffer.
2220 static PyObject *__pyx_f_10TabProxies_10TupleProxy_present(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
2221 PyObject *__pyx_r = NULL;
2222 __Pyx_RefNannyDeclarations
2223 PyObject *__pyx_t_1 = NULL;
2224 int __pyx_lineno = 0;
2225 const char *__pyx_filename = NULL;
2226 int __pyx_clineno = 0;
2227 __Pyx_RefNannySetupContext("present", 0);
2229 /* "TabProxies.pyx":130
2230 * Do not take ownership of the pointer.
2232 * self.update( buffer, nbytes ) # <<<<<<<<<<<<<<
2234 * cdef copy( self, char * buffer, size_t nbytes ):
2236 __pyx_t_1 = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2237 __Pyx_GOTREF(__pyx_t_1);
2238 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2240 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2243 __Pyx_XDECREF(__pyx_t_1);
2244 __Pyx_AddTraceback("TabProxies.TupleProxy.present", __pyx_clineno, __pyx_lineno, __pyx_filename);
2247 __Pyx_XGIVEREF(__pyx_r);
2248 __Pyx_RefNannyFinishContext();
2252 /* "TabProxies.pyx":132
2253 * self.update( buffer, nbytes )
2255 * cdef copy( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
2256 * '''start presenting buffer of size *nbytes*.
2260 static PyObject *__pyx_f_10TabProxies_10TupleProxy_copy(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
2262 PyObject *__pyx_r = NULL;
2263 __Pyx_RefNannyDeclarations
2265 PyObject *__pyx_t_2 = NULL;
2266 int __pyx_lineno = 0;
2267 const char *__pyx_filename = NULL;
2268 int __pyx_clineno = 0;
2269 __Pyx_RefNannySetupContext("copy", 0);
2271 /* "TabProxies.pyx":141
2274 * s = sizeof(char) * (nbytes + 1) # <<<<<<<<<<<<<<
2275 * self.data = <char*>malloc( s )
2276 * if self.data == NULL:
2278 __pyx_v_s = ((sizeof(char)) * (__pyx_v_nbytes + 1));
2280 /* "TabProxies.pyx":142
2282 * s = sizeof(char) * (nbytes + 1)
2283 * self.data = <char*>malloc( s ) # <<<<<<<<<<<<<<
2284 * if self.data == NULL:
2285 * raise ValueError("out of memory" )
2287 __pyx_v_self->data = ((char *)malloc(__pyx_v_s));
2289 /* "TabProxies.pyx":143
2290 * s = sizeof(char) * (nbytes + 1)
2291 * self.data = <char*>malloc( s )
2292 * if self.data == NULL: # <<<<<<<<<<<<<<
2293 * raise ValueError("out of memory" )
2294 * self.nbytes = nbytes
2296 __pyx_t_1 = (__pyx_v_self->data == NULL);
2299 /* "TabProxies.pyx":144
2300 * self.data = <char*>malloc( s )
2301 * if self.data == NULL:
2302 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
2303 * self.nbytes = nbytes
2304 * memcpy( <char*>self.data, buffer, s )
2306 __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2307 __Pyx_GOTREF(__pyx_t_2);
2308 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
2309 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2310 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2315 /* "TabProxies.pyx":145
2316 * if self.data == NULL:
2317 * raise ValueError("out of memory" )
2318 * self.nbytes = nbytes # <<<<<<<<<<<<<<
2319 * memcpy( <char*>self.data, buffer, s )
2320 * self.update( self.data, nbytes )
2322 __pyx_v_self->nbytes = __pyx_v_nbytes;
2324 /* "TabProxies.pyx":146
2325 * raise ValueError("out of memory" )
2326 * self.nbytes = nbytes
2327 * memcpy( <char*>self.data, buffer, s ) # <<<<<<<<<<<<<<
2328 * self.update( self.data, nbytes )
2331 memcpy(((char *)__pyx_v_self->data), __pyx_v_buffer, __pyx_v_s);
2333 /* "TabProxies.pyx":147
2334 * self.nbytes = nbytes
2335 * memcpy( <char*>self.data, buffer, s )
2336 * self.update( self.data, nbytes ) # <<<<<<<<<<<<<<
2338 * cdef int getMaxFields( self, size_t nbytes ):
2340 __pyx_t_2 = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_self->data, __pyx_v_nbytes); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2341 __Pyx_GOTREF(__pyx_t_2);
2342 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2344 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2347 __Pyx_XDECREF(__pyx_t_2);
2348 __Pyx_AddTraceback("TabProxies.TupleProxy.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
2351 __Pyx_XGIVEREF(__pyx_r);
2352 __Pyx_RefNannyFinishContext();
2356 /* "TabProxies.pyx":149
2357 * self.update( self.data, nbytes )
2359 * cdef int getMaxFields( self, size_t nbytes ): # <<<<<<<<<<<<<<
2360 * '''initialize fields.'''
2364 static int __pyx_f_10TabProxies_10TupleProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, size_t __pyx_v_nbytes) {
2366 __Pyx_RefNannyDeclarations
2367 __Pyx_RefNannySetupContext("getMaxFields", 0);
2369 /* "TabProxies.pyx":151
2370 * cdef int getMaxFields( self, size_t nbytes ):
2371 * '''initialize fields.'''
2372 * return nbytes / 2 # <<<<<<<<<<<<<<
2374 * cdef update( self, char * buffer, size_t nbytes ):
2376 __pyx_r = (__pyx_v_nbytes / 2);
2381 __Pyx_RefNannyFinishContext();
2385 /* "TabProxies.pyx":153
2388 * cdef update( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
2389 * '''update internal data.
2393 static PyObject *__pyx_f_10TabProxies_10TupleProxy_update(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
2395 char *__pyx_v_old_pos;
2397 int __pyx_v_max_fields;
2399 PyObject *__pyx_r = NULL;
2400 __Pyx_RefNannyDeclarations
2402 PyObject *__pyx_t_2 = NULL;
2403 PyObject *__pyx_t_3 = NULL;
2409 int __pyx_lineno = 0;
2410 const char *__pyx_filename = NULL;
2411 int __pyx_clineno = 0;
2412 __Pyx_RefNannySetupContext("update", 0);
2414 /* "TabProxies.pyx":173
2415 * cdef int max_fields, x
2417 * assert strlen(buffer) == nbytes # <<<<<<<<<<<<<<
2419 * if buffer[nbytes] != 0:
2421 #ifndef CYTHON_WITHOUT_ASSERTIONS
2422 if (unlikely(!(strlen(__pyx_v_buffer) == __pyx_v_nbytes))) {
2423 PyErr_SetNone(PyExc_AssertionError);
2424 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2428 /* "TabProxies.pyx":175
2429 * assert strlen(buffer) == nbytes
2431 * if buffer[nbytes] != 0: # <<<<<<<<<<<<<<
2432 * raise ValueError( "incomplete line at %s" % buffer )
2435 __pyx_t_1 = ((__pyx_v_buffer[__pyx_v_nbytes]) != 0);
2438 /* "TabProxies.pyx":176
2440 * if buffer[nbytes] != 0:
2441 * raise ValueError( "incomplete line at %s" % buffer ) # <<<<<<<<<<<<<<
2443 * #################################
2445 __pyx_t_2 = PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2446 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
2447 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2448 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
2449 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
2450 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2451 __Pyx_GOTREF(__pyx_t_2);
2452 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
2453 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
2455 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2456 __Pyx_GOTREF(__pyx_t_3);
2457 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
2458 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
2459 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2460 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2465 /* "TabProxies.pyx":180
2466 * #################################
2467 * # remove line breaks and feeds and update number of bytes
2468 * x = nbytes - 1 # <<<<<<<<<<<<<<
2469 * while x > 0 and (buffer[x] == '\n' or buffer[x] == '\r'):
2472 __pyx_v_x = (__pyx_v_nbytes - 1);
2474 /* "TabProxies.pyx":181
2475 * # remove line breaks and feeds and update number of bytes
2477 * while x > 0 and (buffer[x] == '\n' or buffer[x] == '\r'): # <<<<<<<<<<<<<<
2482 __pyx_t_1 = (__pyx_v_x > 0);
2484 __pyx_t_4 = ((__pyx_v_buffer[__pyx_v_x]) == '\n');
2486 __pyx_t_5 = ((__pyx_v_buffer[__pyx_v_x]) == '\r');
2487 __pyx_t_6 = __pyx_t_5;
2489 __pyx_t_6 = __pyx_t_4;
2491 __pyx_t_4 = __pyx_t_6;
2493 __pyx_t_4 = __pyx_t_1;
2495 if (!__pyx_t_4) break;
2497 /* "TabProxies.pyx":182
2499 * while x > 0 and (buffer[x] == '\n' or buffer[x] == '\r'):
2500 * buffer[x] = '\0' # <<<<<<<<<<<<<<
2502 * self.nbytes = x + 1
2504 (__pyx_v_buffer[__pyx_v_x]) = '\x00';
2506 /* "TabProxies.pyx":183
2507 * while x > 0 and (buffer[x] == '\n' or buffer[x] == '\r'):
2509 * x -= 1 # <<<<<<<<<<<<<<
2510 * self.nbytes = x + 1
2513 __pyx_v_x = (__pyx_v_x - 1);
2516 /* "TabProxies.pyx":184
2519 * self.nbytes = x + 1 # <<<<<<<<<<<<<<
2521 * #################################
2523 __pyx_v_self->nbytes = (__pyx_v_x + 1);
2525 /* "TabProxies.pyx":188
2526 * #################################
2528 * if self.fields != NULL: free(self.fields) # <<<<<<<<<<<<<<
2530 * for field from 0 <= field < self.nfields:
2532 __pyx_t_4 = (__pyx_v_self->fields != NULL);
2534 free(__pyx_v_self->fields);
2539 /* "TabProxies.pyx":190
2540 * if self.fields != NULL: free(self.fields)
2542 * for field from 0 <= field < self.nfields: # <<<<<<<<<<<<<<
2543 * if isNew( self.fields[field], self.data, self.nbytes ):
2544 * free( self.fields[field] )
2546 __pyx_t_7 = __pyx_v_self->nfields;
2547 for (__pyx_v_field = 0; __pyx_v_field < __pyx_t_7; __pyx_v_field++) {
2549 /* "TabProxies.pyx":191
2551 * for field from 0 <= field < self.nfields:
2552 * if isNew( self.fields[field], self.data, self.nbytes ): # <<<<<<<<<<<<<<
2553 * free( self.fields[field] )
2556 __pyx_t_8 = __pyx_f_10TabProxies_isNew((__pyx_v_self->fields[__pyx_v_field]), __pyx_v_self->data, __pyx_v_self->nbytes);
2559 /* "TabProxies.pyx":192
2560 * for field from 0 <= field < self.nfields:
2561 * if isNew( self.fields[field], self.data, self.nbytes ):
2562 * free( self.fields[field] ) # <<<<<<<<<<<<<<
2564 * self.is_modified = self.nfields = 0
2566 free((__pyx_v_self->fields[__pyx_v_field]));
2572 /* "TabProxies.pyx":194
2573 * free( self.fields[field] )
2575 * self.is_modified = self.nfields = 0 # <<<<<<<<<<<<<<
2577 * #################################
2579 __pyx_v_self->is_modified = 0;
2580 __pyx_v_self->nfields = 0;
2582 /* "TabProxies.pyx":198
2583 * #################################
2585 * max_fields = self.getMaxFields( nbytes ) # <<<<<<<<<<<<<<
2586 * self.fields = <char **>calloc( max_fields, sizeof(char *) )
2587 * if self.fields == NULL:
2589 __pyx_v_max_fields = ((struct __pyx_vtabstruct_10TabProxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->getMaxFields(__pyx_v_self, __pyx_v_nbytes);
2591 /* "TabProxies.pyx":199
2593 * max_fields = self.getMaxFields( nbytes )
2594 * self.fields = <char **>calloc( max_fields, sizeof(char *) ) # <<<<<<<<<<<<<<
2595 * if self.fields == NULL:
2596 * raise ValueError("out of memory" )
2598 __pyx_v_self->fields = ((char **)calloc(__pyx_v_max_fields, (sizeof(char *))));
2600 /* "TabProxies.pyx":200
2601 * max_fields = self.getMaxFields( nbytes )
2602 * self.fields = <char **>calloc( max_fields, sizeof(char *) )
2603 * if self.fields == NULL: # <<<<<<<<<<<<<<
2604 * raise ValueError("out of memory" )
2607 __pyx_t_4 = (__pyx_v_self->fields == NULL);
2610 /* "TabProxies.pyx":201
2611 * self.fields = <char **>calloc( max_fields, sizeof(char *) )
2612 * if self.fields == NULL:
2613 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
2615 * #################################
2617 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2618 __Pyx_GOTREF(__pyx_t_3);
2619 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
2620 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2621 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2626 /* "TabProxies.pyx":205
2627 * #################################
2629 * field = 0 # <<<<<<<<<<<<<<
2630 * self.fields[field] = pos = buffer
2635 /* "TabProxies.pyx":206
2638 * self.fields[field] = pos = buffer # <<<<<<<<<<<<<<
2642 (__pyx_v_self->fields[__pyx_v_field]) = __pyx_v_buffer;
2643 __pyx_v_pos = __pyx_v_buffer;
2645 /* "TabProxies.pyx":207
2647 * self.fields[field] = pos = buffer
2648 * field += 1 # <<<<<<<<<<<<<<
2652 __pyx_v_field = (__pyx_v_field + 1);
2654 /* "TabProxies.pyx":208
2655 * self.fields[field] = pos = buffer
2657 * old_pos = pos # <<<<<<<<<<<<<<
2661 __pyx_v_old_pos = __pyx_v_pos;
2663 /* "TabProxies.pyx":210
2666 * while 1: # <<<<<<<<<<<<<<
2668 * pos = <char*>memchr( pos, '\t', nbytes )
2673 /* "TabProxies.pyx":212
2676 * pos = <char*>memchr( pos, '\t', nbytes ) # <<<<<<<<<<<<<<
2677 * if pos == NULL: break
2680 __pyx_v_pos = ((char *)memchr(__pyx_v_pos, '\t', __pyx_v_nbytes));
2682 /* "TabProxies.pyx":213
2684 * pos = <char*>memchr( pos, '\t', nbytes )
2685 * if pos == NULL: break # <<<<<<<<<<<<<<
2689 __pyx_t_4 = (__pyx_v_pos == NULL);
2691 goto __pyx_L12_break;
2696 /* "TabProxies.pyx":214
2697 * pos = <char*>memchr( pos, '\t', nbytes )
2698 * if pos == NULL: break
2699 * pos[0] = '\0' # <<<<<<<<<<<<<<
2701 * self.fields[field] = pos
2703 (__pyx_v_pos[0]) = '\x00';
2705 /* "TabProxies.pyx":215
2706 * if pos == NULL: break
2708 * pos += 1 # <<<<<<<<<<<<<<
2709 * self.fields[field] = pos
2712 __pyx_v_pos = (__pyx_v_pos + 1);
2714 /* "TabProxies.pyx":216
2717 * self.fields[field] = pos # <<<<<<<<<<<<<<
2719 * if field > max_fields:
2721 (__pyx_v_self->fields[__pyx_v_field]) = __pyx_v_pos;
2723 /* "TabProxies.pyx":217
2725 * self.fields[field] = pos
2726 * field += 1 # <<<<<<<<<<<<<<
2727 * if field > max_fields:
2728 * raise ValueError("row too large - more than %i fields" % max_fields )
2730 __pyx_v_field = (__pyx_v_field + 1);
2732 /* "TabProxies.pyx":218
2733 * self.fields[field] = pos
2735 * if field > max_fields: # <<<<<<<<<<<<<<
2736 * raise ValueError("row too large - more than %i fields" % max_fields )
2737 * nbytes -= pos - old_pos
2739 __pyx_t_4 = (__pyx_v_field > __pyx_v_max_fields);
2742 /* "TabProxies.pyx":219
2744 * if field > max_fields:
2745 * raise ValueError("row too large - more than %i fields" % max_fields ) # <<<<<<<<<<<<<<
2746 * nbytes -= pos - old_pos
2747 * if nbytes < 0: break
2749 __pyx_t_3 = PyInt_FromLong(__pyx_v_max_fields); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2750 __Pyx_GOTREF(__pyx_t_3);
2751 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2752 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
2753 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2754 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2755 __Pyx_GOTREF(__pyx_t_3);
2756 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
2757 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
2759 __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2760 __Pyx_GOTREF(__pyx_t_2);
2761 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
2762 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
2763 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2764 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2769 /* "TabProxies.pyx":220
2770 * if field > max_fields:
2771 * raise ValueError("row too large - more than %i fields" % max_fields )
2772 * nbytes -= pos - old_pos # <<<<<<<<<<<<<<
2773 * if nbytes < 0: break
2776 __pyx_v_nbytes = (__pyx_v_nbytes - (__pyx_v_pos - __pyx_v_old_pos));
2778 /* "TabProxies.pyx":221
2779 * raise ValueError("row too large - more than %i fields" % max_fields )
2780 * nbytes -= pos - old_pos
2781 * if nbytes < 0: break # <<<<<<<<<<<<<<
2785 __pyx_t_4 = (__pyx_v_nbytes < 0);
2787 goto __pyx_L12_break;
2792 /* "TabProxies.pyx":222
2793 * nbytes -= pos - old_pos
2794 * if nbytes < 0: break
2795 * old_pos = pos # <<<<<<<<<<<<<<
2797 * self.nfields = field
2799 __pyx_v_old_pos = __pyx_v_pos;
2803 /* "TabProxies.pyx":224
2806 * self.nfields = field # <<<<<<<<<<<<<<
2808 * def _getindex( self, int index ):
2810 __pyx_v_self->nfields = __pyx_v_field;
2812 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2815 __Pyx_XDECREF(__pyx_t_2);
2816 __Pyx_XDECREF(__pyx_t_3);
2817 __Pyx_AddTraceback("TabProxies.TupleProxy.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
2820 __Pyx_XGIVEREF(__pyx_r);
2821 __Pyx_RefNannyFinishContext();
2825 /* Python wrapper */
2826 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_5_getindex(PyObject *__pyx_v_self, PyObject *__pyx_arg_index); /*proto*/
2827 static char __pyx_doc_10TabProxies_10TupleProxy_4_getindex[] = "return item at idx index";
2828 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_5_getindex(PyObject *__pyx_v_self, PyObject *__pyx_arg_index) {
2830 PyObject *__pyx_r = 0;
2831 __Pyx_RefNannyDeclarations
2832 __Pyx_RefNannySetupContext("_getindex (wrapper)", 0);
2833 assert(__pyx_arg_index); {
2834 __pyx_v_index = __Pyx_PyInt_AsInt(__pyx_arg_index); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2836 goto __pyx_L4_argument_unpacking_done;
2838 __Pyx_AddTraceback("TabProxies.TupleProxy._getindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
2839 __Pyx_RefNannyFinishContext();
2841 __pyx_L4_argument_unpacking_done:;
2842 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_4_getindex(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), ((int)__pyx_v_index));
2843 __Pyx_RefNannyFinishContext();
2847 /* "TabProxies.pyx":226
2848 * self.nfields = field
2850 * def _getindex( self, int index ): # <<<<<<<<<<<<<<
2851 * '''return item at idx index'''
2852 * cdef int i = index
2855 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_4_getindex(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, int __pyx_v_index) {
2857 PyObject *__pyx_r = NULL;
2858 __Pyx_RefNannyDeclarations
2860 PyObject *__pyx_t_2 = NULL;
2861 PyObject *__pyx_t_3 = NULL;
2862 PyObject *__pyx_t_4 = NULL;
2863 int __pyx_lineno = 0;
2864 const char *__pyx_filename = NULL;
2865 int __pyx_clineno = 0;
2866 __Pyx_RefNannySetupContext("_getindex", 0);
2868 /* "TabProxies.pyx":228
2869 * def _getindex( self, int index ):
2870 * '''return item at idx index'''
2871 * cdef int i = index # <<<<<<<<<<<<<<
2872 * if i < 0: i += self.nfields
2873 * if i < 0: raise IndexError( "list index out of range" )
2875 __pyx_v_i = __pyx_v_index;
2877 /* "TabProxies.pyx":229
2878 * '''return item at idx index'''
2879 * cdef int i = index
2880 * if i < 0: i += self.nfields # <<<<<<<<<<<<<<
2881 * if i < 0: raise IndexError( "list index out of range" )
2884 __pyx_t_1 = (__pyx_v_i < 0);
2886 __pyx_v_i = (__pyx_v_i + __pyx_v_self->nfields);
2891 /* "TabProxies.pyx":230
2892 * cdef int i = index
2893 * if i < 0: i += self.nfields
2894 * if i < 0: raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
2896 * if i >= self.nfields:
2898 __pyx_t_1 = (__pyx_v_i < 0);
2900 __pyx_t_2 = PyObject_Call(__pyx_builtin_IndexError, ((PyObject *)__pyx_k_tuple_13), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2901 __Pyx_GOTREF(__pyx_t_2);
2902 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
2903 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2904 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2909 /* "TabProxies.pyx":231
2910 * if i < 0: i += self.nfields
2911 * if i < 0: raise IndexError( "list index out of range" )
2912 * i += self.offset # <<<<<<<<<<<<<<
2913 * if i >= self.nfields:
2914 * raise IndexError( "list index out of range %i >= %i" % (i, self.nfields ))
2916 __pyx_v_i = (__pyx_v_i + __pyx_v_self->offset);
2918 /* "TabProxies.pyx":232
2919 * if i < 0: raise IndexError( "list index out of range" )
2921 * if i >= self.nfields: # <<<<<<<<<<<<<<
2922 * raise IndexError( "list index out of range %i >= %i" % (i, self.nfields ))
2923 * return self.fields[i]
2925 __pyx_t_1 = (__pyx_v_i >= __pyx_v_self->nfields);
2928 /* "TabProxies.pyx":233
2930 * if i >= self.nfields:
2931 * raise IndexError( "list index out of range %i >= %i" % (i, self.nfields )) # <<<<<<<<<<<<<<
2932 * return self.fields[i]
2935 __pyx_t_2 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2936 __Pyx_GOTREF(__pyx_t_2);
2937 __pyx_t_3 = PyInt_FromLong(__pyx_v_self->nfields); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2938 __Pyx_GOTREF(__pyx_t_3);
2939 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2940 __Pyx_GOTREF(__pyx_t_4);
2941 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
2942 __Pyx_GIVEREF(__pyx_t_2);
2943 PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
2944 __Pyx_GIVEREF(__pyx_t_3);
2947 __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_14), ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2948 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
2949 __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
2950 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2951 __Pyx_GOTREF(__pyx_t_4);
2952 PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3));
2953 __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
2955 __pyx_t_3 = PyObject_Call(__pyx_builtin_IndexError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2956 __Pyx_GOTREF(__pyx_t_3);
2957 __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
2958 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
2959 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2960 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2965 /* "TabProxies.pyx":234
2966 * if i >= self.nfields:
2967 * raise IndexError( "list index out of range %i >= %i" % (i, self.nfields ))
2968 * return self.fields[i] # <<<<<<<<<<<<<<
2970 * def __getitem__( self, key ):
2972 __Pyx_XDECREF(__pyx_r);
2973 __pyx_t_3 = PyBytes_FromString((__pyx_v_self->fields[__pyx_v_i])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2974 __Pyx_GOTREF(((PyObject *)__pyx_t_3));
2975 __pyx_r = ((PyObject *)__pyx_t_3);
2979 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2982 __Pyx_XDECREF(__pyx_t_2);
2983 __Pyx_XDECREF(__pyx_t_3);
2984 __Pyx_XDECREF(__pyx_t_4);
2985 __Pyx_AddTraceback("TabProxies.TupleProxy._getindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
2988 __Pyx_XGIVEREF(__pyx_r);
2989 __Pyx_RefNannyFinishContext();
2993 /* Python wrapper */
2994 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_7__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
2995 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_7__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
2996 PyObject *__pyx_r = 0;
2997 __Pyx_RefNannyDeclarations
2998 __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
2999 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_6__getitem__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key));
3000 __Pyx_RefNannyFinishContext();
3004 /* "TabProxies.pyx":236
3005 * return self.fields[i]
3007 * def __getitem__( self, key ): # <<<<<<<<<<<<<<
3008 * if type(key) == int: return self._getindex( key )
3012 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_6__getitem__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_key) {
3013 PyObject *__pyx_v_start = NULL;
3014 PyObject *__pyx_v_end = NULL;
3015 PyObject *__pyx_v_step = NULL;
3016 PyObject *__pyx_v_result = NULL;
3017 PyObject *__pyx_v_index = NULL;
3018 PyObject *__pyx_r = NULL;
3019 __Pyx_RefNannyDeclarations
3020 PyObject *__pyx_t_1 = NULL;
3022 PyObject *__pyx_t_3 = NULL;
3023 PyObject *__pyx_t_4 = NULL;
3024 PyObject *__pyx_t_5 = NULL;
3025 PyObject *__pyx_t_6 = NULL;
3026 PyObject *(*__pyx_t_7)(PyObject *);
3027 Py_ssize_t __pyx_t_8;
3028 PyObject *(*__pyx_t_9)(PyObject *);
3030 int __pyx_lineno = 0;
3031 const char *__pyx_filename = NULL;
3032 int __pyx_clineno = 0;
3033 __Pyx_RefNannySetupContext("__getitem__", 0);
3035 /* "TabProxies.pyx":237
3037 * def __getitem__( self, key ):
3038 * if type(key) == int: return self._getindex( key ) # <<<<<<<<<<<<<<
3040 * start, end, step = key.indices( self.nfields )
3042 __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_key)), ((PyObject *)((PyObject*)(&PyInt_Type))), Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3043 __Pyx_GOTREF(__pyx_t_1);
3044 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3045 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3047 __Pyx_XDECREF(__pyx_r);
3048 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3049 __Pyx_GOTREF(__pyx_t_1);
3050 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3051 __Pyx_GOTREF(__pyx_t_3);
3052 __Pyx_INCREF(__pyx_v_key);
3053 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_key);
3054 __Pyx_GIVEREF(__pyx_v_key);
3055 __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3056 __Pyx_GOTREF(__pyx_t_4);
3057 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3058 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
3059 __pyx_r = __pyx_t_4;
3066 /* "TabProxies.pyx":239
3067 * if type(key) == int: return self._getindex( key )
3069 * start, end, step = key.indices( self.nfields ) # <<<<<<<<<<<<<<
3071 * for index in range( start, end, step ):
3073 __pyx_t_4 = PyObject_GetAttr(__pyx_v_key, __pyx_n_s__indices); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3074 __Pyx_GOTREF(__pyx_t_4);
3075 __pyx_t_3 = PyInt_FromLong(__pyx_v_self->nfields); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3076 __Pyx_GOTREF(__pyx_t_3);
3077 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3078 __Pyx_GOTREF(__pyx_t_1);
3079 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
3080 __Pyx_GIVEREF(__pyx_t_3);
3082 __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3083 __Pyx_GOTREF(__pyx_t_3);
3084 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3085 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
3086 if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
3087 PyObject* sequence = __pyx_t_3;
3088 if (likely(PyTuple_CheckExact(sequence))) {
3089 if (unlikely(PyTuple_GET_SIZE(sequence) != 3)) {
3090 if (PyTuple_GET_SIZE(sequence) > 3) __Pyx_RaiseTooManyValuesError(3);
3091 else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
3092 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3094 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
3095 __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
3096 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2);
3098 if (unlikely(PyList_GET_SIZE(sequence) != 3)) {
3099 if (PyList_GET_SIZE(sequence) > 3) __Pyx_RaiseTooManyValuesError(3);
3100 else __Pyx_RaiseNeedMoreValuesError(PyList_GET_SIZE(sequence));
3101 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3103 __pyx_t_1 = PyList_GET_ITEM(sequence, 0);
3104 __pyx_t_4 = PyList_GET_ITEM(sequence, 1);
3105 __pyx_t_5 = PyList_GET_ITEM(sequence, 2);
3107 __Pyx_INCREF(__pyx_t_1);
3108 __Pyx_INCREF(__pyx_t_4);
3109 __Pyx_INCREF(__pyx_t_5);
3110 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3112 Py_ssize_t index = -1;
3113 __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3114 __Pyx_GOTREF(__pyx_t_6);
3115 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3116 __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
3117 index = 0; __pyx_t_1 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_1)) goto __pyx_L4_unpacking_failed;
3118 __Pyx_GOTREF(__pyx_t_1);
3119 index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
3120 __Pyx_GOTREF(__pyx_t_4);
3121 index = 2; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
3122 __Pyx_GOTREF(__pyx_t_5);
3123 if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3124 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3125 goto __pyx_L5_unpacking_done;
3126 __pyx_L4_unpacking_failed:;
3127 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3128 if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration)) PyErr_Clear();
3129 if (!PyErr_Occurred()) __Pyx_RaiseNeedMoreValuesError(index);
3130 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3131 __pyx_L5_unpacking_done:;
3133 __pyx_v_start = __pyx_t_1;
3135 __pyx_v_end = __pyx_t_4;
3137 __pyx_v_step = __pyx_t_5;
3140 /* "TabProxies.pyx":240
3142 * start, end, step = key.indices( self.nfields )
3143 * result = [] # <<<<<<<<<<<<<<
3144 * for index in range( start, end, step ):
3145 * result.append( self._getindex( index ) )
3147 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3148 __Pyx_GOTREF(__pyx_t_3);
3149 __pyx_v_result = __pyx_t_3;
3152 /* "TabProxies.pyx":241
3153 * start, end, step = key.indices( self.nfields )
3155 * for index in range( start, end, step ): # <<<<<<<<<<<<<<
3156 * result.append( self._getindex( index ) )
3159 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3160 __Pyx_GOTREF(__pyx_t_3);
3161 __Pyx_INCREF(__pyx_v_start);
3162 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_start);
3163 __Pyx_GIVEREF(__pyx_v_start);
3164 __Pyx_INCREF(__pyx_v_end);
3165 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_end);
3166 __Pyx_GIVEREF(__pyx_v_end);
3167 __Pyx_INCREF(__pyx_v_step);
3168 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_step);
3169 __Pyx_GIVEREF(__pyx_v_step);
3170 __pyx_t_5 = PyObject_Call(__pyx_builtin_range, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3171 __Pyx_GOTREF(__pyx_t_5);
3172 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
3173 if (PyList_CheckExact(__pyx_t_5) || PyTuple_CheckExact(__pyx_t_5)) {
3174 __pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0;
3177 __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3178 __Pyx_GOTREF(__pyx_t_3);
3179 __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext;
3181 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3183 if (!__pyx_t_9 && PyList_CheckExact(__pyx_t_3)) {
3184 if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break;
3185 __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++;
3186 } else if (!__pyx_t_9 && PyTuple_CheckExact(__pyx_t_3)) {
3187 if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
3188 __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++;
3190 __pyx_t_5 = __pyx_t_9(__pyx_t_3);
3191 if (unlikely(!__pyx_t_5)) {
3192 if (PyErr_Occurred()) {
3193 if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
3194 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3198 __Pyx_GOTREF(__pyx_t_5);
3200 __Pyx_XDECREF(__pyx_v_index);
3201 __pyx_v_index = __pyx_t_5;
3204 /* "TabProxies.pyx":242
3206 * for index in range( start, end, step ):
3207 * result.append( self._getindex( index ) ) # <<<<<<<<<<<<<<
3211 __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3212 __Pyx_GOTREF(__pyx_t_5);
3213 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3214 __Pyx_GOTREF(__pyx_t_4);
3215 __Pyx_INCREF(__pyx_v_index);
3216 PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_index);
3217 __Pyx_GIVEREF(__pyx_v_index);
3218 __pyx_t_1 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3219 __Pyx_GOTREF(__pyx_t_1);
3220 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3221 __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
3222 __pyx_t_10 = PyList_Append(__pyx_v_result, __pyx_t_1); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3223 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3225 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3227 /* "TabProxies.pyx":243
3228 * for index in range( start, end, step ):
3229 * result.append( self._getindex( index ) )
3230 * return result # <<<<<<<<<<<<<<
3232 * def _setindex( self, index, value ):
3234 __Pyx_XDECREF(__pyx_r);
3235 __Pyx_INCREF(((PyObject *)__pyx_v_result));
3236 __pyx_r = ((PyObject *)__pyx_v_result);
3239 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3242 __Pyx_XDECREF(__pyx_t_1);
3243 __Pyx_XDECREF(__pyx_t_3);
3244 __Pyx_XDECREF(__pyx_t_4);
3245 __Pyx_XDECREF(__pyx_t_5);
3246 __Pyx_XDECREF(__pyx_t_6);
3247 __Pyx_AddTraceback("TabProxies.TupleProxy.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3250 __Pyx_XDECREF(__pyx_v_start);
3251 __Pyx_XDECREF(__pyx_v_end);
3252 __Pyx_XDECREF(__pyx_v_step);
3253 __Pyx_XDECREF(__pyx_v_result);
3254 __Pyx_XDECREF(__pyx_v_index);
3255 __Pyx_XGIVEREF(__pyx_r);
3256 __Pyx_RefNannyFinishContext();
3260 /* Python wrapper */
3261 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_9_setindex(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
3262 static char __pyx_doc_10TabProxies_10TupleProxy_8_setindex[] = "set item at idx index.";
3263 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_9_setindex(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3264 PyObject *__pyx_v_index = 0;
3265 PyObject *__pyx_v_value = 0;
3266 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__value,0};
3267 PyObject *__pyx_r = 0;
3268 __Pyx_RefNannyDeclarations
3269 __Pyx_RefNannySetupContext("_setindex (wrapper)", 0);
3271 PyObject* values[2] = {0,0};
3272 if (unlikely(__pyx_kwds)) {
3274 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
3276 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3277 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3279 default: goto __pyx_L5_argtuple_error;
3281 kw_args = PyDict_Size(__pyx_kwds);
3284 values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
3285 if (likely(values[0])) kw_args--;
3286 else goto __pyx_L5_argtuple_error;
3288 values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value);
3289 if (likely(values[1])) kw_args--;
3291 __Pyx_RaiseArgtupleInvalid("_setindex", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3294 if (unlikely(kw_args > 0)) {
3295 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_setindex") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3297 } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
3298 goto __pyx_L5_argtuple_error;
3300 values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3301 values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3303 __pyx_v_index = values[0];
3304 __pyx_v_value = values[1];
3306 goto __pyx_L4_argument_unpacking_done;
3307 __pyx_L5_argtuple_error:;
3308 __Pyx_RaiseArgtupleInvalid("_setindex", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3310 __Pyx_AddTraceback("TabProxies.TupleProxy._setindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
3311 __Pyx_RefNannyFinishContext();
3313 __pyx_L4_argument_unpacking_done:;
3314 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_8_setindex(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), __pyx_v_index, __pyx_v_value);
3315 __Pyx_RefNannyFinishContext();
3319 /* "TabProxies.pyx":245
3322 * def _setindex( self, index, value ): # <<<<<<<<<<<<<<
3323 * '''set item at idx index.'''
3324 * cdef int idx = index
3327 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_8_setindex(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
3330 PyObject *__pyx_r = NULL;
3331 __Pyx_RefNannyDeclarations
3334 PyObject *__pyx_t_3 = NULL;
3336 int __pyx_lineno = 0;
3337 const char *__pyx_filename = NULL;
3338 int __pyx_clineno = 0;
3339 __Pyx_RefNannySetupContext("_setindex", 0);
3340 __Pyx_INCREF(__pyx_v_value);
3342 /* "TabProxies.pyx":247
3343 * def _setindex( self, index, value ):
3344 * '''set item at idx index.'''
3345 * cdef int idx = index # <<<<<<<<<<<<<<
3346 * if idx < 0: raise IndexError( "list index out of range" )
3347 * if idx >= self.nfields:
3349 __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_index); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3350 __pyx_v_idx = __pyx_t_1;
3352 /* "TabProxies.pyx":248
3353 * '''set item at idx index.'''
3354 * cdef int idx = index
3355 * if idx < 0: raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
3356 * if idx >= self.nfields:
3357 * raise IndexError( "list index out of range" )
3359 __pyx_t_2 = (__pyx_v_idx < 0);
3361 __pyx_t_3 = PyObject_Call(__pyx_builtin_IndexError, ((PyObject *)__pyx_k_tuple_15), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3362 __Pyx_GOTREF(__pyx_t_3);
3363 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
3364 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3365 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3370 /* "TabProxies.pyx":249
3371 * cdef int idx = index
3372 * if idx < 0: raise IndexError( "list index out of range" )
3373 * if idx >= self.nfields: # <<<<<<<<<<<<<<
3374 * raise IndexError( "list index out of range" )
3377 __pyx_t_2 = (__pyx_v_idx >= __pyx_v_self->nfields);
3380 /* "TabProxies.pyx":250
3381 * if idx < 0: raise IndexError( "list index out of range" )
3382 * if idx >= self.nfields:
3383 * raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
3385 * if isNew( self.fields[idx], self.data, self.nbytes ):
3387 __pyx_t_3 = PyObject_Call(__pyx_builtin_IndexError, ((PyObject *)__pyx_k_tuple_16), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3388 __Pyx_GOTREF(__pyx_t_3);
3389 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
3390 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3391 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3396 /* "TabProxies.pyx":252
3397 * raise IndexError( "list index out of range" )
3399 * if isNew( self.fields[idx], self.data, self.nbytes ): # <<<<<<<<<<<<<<
3400 * free( self.fields[idx] )
3403 __pyx_t_1 = __pyx_f_10TabProxies_isNew((__pyx_v_self->fields[__pyx_v_idx]), __pyx_v_self->data, __pyx_v_self->nbytes);
3406 /* "TabProxies.pyx":253
3408 * if isNew( self.fields[idx], self.data, self.nbytes ):
3409 * free( self.fields[idx] ) # <<<<<<<<<<<<<<
3411 * self.is_modified = 1
3413 free((__pyx_v_self->fields[__pyx_v_idx]));
3418 /* "TabProxies.pyx":255
3419 * free( self.fields[idx] )
3421 * self.is_modified = 1 # <<<<<<<<<<<<<<
3425 __pyx_v_self->is_modified = 1;
3427 /* "TabProxies.pyx":257
3428 * self.is_modified = 1
3430 * if value == None: # <<<<<<<<<<<<<<
3431 * self.fields[idx] = NULL
3434 __pyx_t_3 = PyObject_RichCompare(__pyx_v_value, Py_None, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3435 __Pyx_GOTREF(__pyx_t_3);
3436 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3437 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3440 /* "TabProxies.pyx":258
3443 * self.fields[idx] = NULL # <<<<<<<<<<<<<<
3447 (__pyx_v_self->fields[__pyx_v_idx]) = NULL;
3449 /* "TabProxies.pyx":259
3451 * self.fields[idx] = NULL
3452 * return # <<<<<<<<<<<<<<
3454 * # conversion with error checking
3456 __Pyx_XDECREF(__pyx_r);
3457 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3463 /* "TabProxies.pyx":262
3465 * # conversion with error checking
3466 * value = _force_bytes(value) # <<<<<<<<<<<<<<
3467 * cdef char * tmp = <char*>value
3468 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
3470 __pyx_t_3 = ((PyObject *)__pyx_f_10TabProxies__force_bytes(__pyx_v_value)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3471 __Pyx_GOTREF(__pyx_t_3);
3472 __Pyx_DECREF(__pyx_v_value);
3473 __pyx_v_value = __pyx_t_3;
3476 /* "TabProxies.pyx":263
3477 * # conversion with error checking
3478 * value = _force_bytes(value)
3479 * cdef char * tmp = <char*>value # <<<<<<<<<<<<<<
3480 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
3481 * if self.fields[idx] == NULL:
3483 __pyx_t_4 = PyBytes_AsString(__pyx_v_value); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3484 __pyx_v_tmp = ((char *)__pyx_t_4);
3486 /* "TabProxies.pyx":264
3487 * value = _force_bytes(value)
3488 * cdef char * tmp = <char*>value
3489 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) ) # <<<<<<<<<<<<<<
3490 * if self.fields[idx] == NULL:
3491 * raise ValueError("out of memory" )
3493 (__pyx_v_self->fields[__pyx_v_idx]) = ((char *)malloc(((strlen(__pyx_v_tmp) + 1) * (sizeof(char)))));
3495 /* "TabProxies.pyx":265
3496 * cdef char * tmp = <char*>value
3497 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
3498 * if self.fields[idx] == NULL: # <<<<<<<<<<<<<<
3499 * raise ValueError("out of memory" )
3500 * strcpy( self.fields[idx], tmp )
3502 __pyx_t_2 = ((__pyx_v_self->fields[__pyx_v_idx]) == NULL);
3505 /* "TabProxies.pyx":266
3506 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
3507 * if self.fields[idx] == NULL:
3508 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
3509 * strcpy( self.fields[idx], tmp )
3512 __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3513 __Pyx_GOTREF(__pyx_t_3);
3514 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
3515 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3516 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3521 /* "TabProxies.pyx":267
3522 * if self.fields[idx] == NULL:
3523 * raise ValueError("out of memory" )
3524 * strcpy( self.fields[idx], tmp ) # <<<<<<<<<<<<<<
3526 * def __setitem__(self, index, value ):
3528 strcpy((__pyx_v_self->fields[__pyx_v_idx]), __pyx_v_tmp);
3530 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3533 __Pyx_XDECREF(__pyx_t_3);
3534 __Pyx_AddTraceback("TabProxies.TupleProxy._setindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
3537 __Pyx_XDECREF(__pyx_v_value);
3538 __Pyx_XGIVEREF(__pyx_r);
3539 __Pyx_RefNannyFinishContext();
3543 /* Python wrapper */
3544 static int __pyx_pw_10TabProxies_10TupleProxy_11__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /*proto*/
3545 static char __pyx_doc_10TabProxies_10TupleProxy_10__setitem__[] = "set item at *index* to *value*";
3546 struct wrapperbase __pyx_wrapperbase_10TabProxies_10TupleProxy_10__setitem__;
3547 static int __pyx_pw_10TabProxies_10TupleProxy_11__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
3549 __Pyx_RefNannyDeclarations
3550 __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
3551 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_10__setitem__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_index), ((PyObject *)__pyx_v_value));
3552 __Pyx_RefNannyFinishContext();
3556 /* "TabProxies.pyx":269
3557 * strcpy( self.fields[idx], tmp )
3559 * def __setitem__(self, index, value ): # <<<<<<<<<<<<<<
3560 * '''set item at *index* to *value*'''
3561 * cdef int i = index
3564 static int __pyx_pf_10TabProxies_10TupleProxy_10__setitem__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
3567 __Pyx_RefNannyDeclarations
3570 PyObject *__pyx_t_3 = NULL;
3571 PyObject *__pyx_t_4 = NULL;
3572 PyObject *__pyx_t_5 = NULL;
3573 int __pyx_lineno = 0;
3574 const char *__pyx_filename = NULL;
3575 int __pyx_clineno = 0;
3576 __Pyx_RefNannySetupContext("__setitem__", 0);
3578 /* "TabProxies.pyx":271
3579 * def __setitem__(self, index, value ):
3580 * '''set item at *index* to *value*'''
3581 * cdef int i = index # <<<<<<<<<<<<<<
3582 * if i < 0: i += self.nfields
3585 __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_index); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3586 __pyx_v_i = __pyx_t_1;
3588 /* "TabProxies.pyx":272
3589 * '''set item at *index* to *value*'''
3590 * cdef int i = index
3591 * if i < 0: i += self.nfields # <<<<<<<<<<<<<<
3595 __pyx_t_2 = (__pyx_v_i < 0);
3597 __pyx_v_i = (__pyx_v_i + __pyx_v_self->nfields);
3602 /* "TabProxies.pyx":273
3603 * cdef int i = index
3604 * if i < 0: i += self.nfields
3605 * i += self.offset # <<<<<<<<<<<<<<
3607 * self._setindex( i, value )
3609 __pyx_v_i = (__pyx_v_i + __pyx_v_self->offset);
3611 /* "TabProxies.pyx":275
3614 * self._setindex( i, value ) # <<<<<<<<<<<<<<
3616 * def __len__(self):
3618 __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3619 __Pyx_GOTREF(__pyx_t_3);
3620 __pyx_t_4 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3621 __Pyx_GOTREF(__pyx_t_4);
3622 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3623 __Pyx_GOTREF(__pyx_t_5);
3624 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
3625 __Pyx_GIVEREF(__pyx_t_4);
3626 __Pyx_INCREF(__pyx_v_value);
3627 PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_value);
3628 __Pyx_GIVEREF(__pyx_v_value);
3630 __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3631 __Pyx_GOTREF(__pyx_t_4);
3632 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3633 __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
3634 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3639 __Pyx_XDECREF(__pyx_t_3);
3640 __Pyx_XDECREF(__pyx_t_4);
3641 __Pyx_XDECREF(__pyx_t_5);
3642 __Pyx_AddTraceback("TabProxies.TupleProxy.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3645 __Pyx_RefNannyFinishContext();
3649 /* Python wrapper */
3650 static Py_ssize_t __pyx_pw_10TabProxies_10TupleProxy_13__len__(PyObject *__pyx_v_self); /*proto*/
3651 static Py_ssize_t __pyx_pw_10TabProxies_10TupleProxy_13__len__(PyObject *__pyx_v_self) {
3653 __Pyx_RefNannyDeclarations
3654 __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
3655 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_12__len__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self));
3656 __Pyx_RefNannyFinishContext();
3660 /* "TabProxies.pyx":277
3661 * self._setindex( i, value )
3663 * def __len__(self): # <<<<<<<<<<<<<<
3664 * return self.nfields
3668 static Py_ssize_t __pyx_pf_10TabProxies_10TupleProxy_12__len__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self) {
3670 __Pyx_RefNannyDeclarations
3671 __Pyx_RefNannySetupContext("__len__", 0);
3673 /* "TabProxies.pyx":278
3675 * def __len__(self):
3676 * return self.nfields # <<<<<<<<<<<<<<
3678 * def __iter__(self):
3680 __pyx_r = __pyx_v_self->nfields;
3685 __Pyx_RefNannyFinishContext();
3689 /* Python wrapper */
3690 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_15__iter__(PyObject *__pyx_v_self); /*proto*/
3691 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_15__iter__(PyObject *__pyx_v_self) {
3692 PyObject *__pyx_r = 0;
3693 __Pyx_RefNannyDeclarations
3694 __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0);
3695 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_14__iter__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self));
3696 __Pyx_RefNannyFinishContext();
3700 /* "TabProxies.pyx":280
3701 * return self.nfields
3703 * def __iter__(self): # <<<<<<<<<<<<<<
3708 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_14__iter__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self) {
3709 PyObject *__pyx_r = NULL;
3710 __Pyx_RefNannyDeclarations
3711 __Pyx_RefNannySetupContext("__iter__", 0);
3713 /* "TabProxies.pyx":281
3715 * def __iter__(self):
3716 * self.index = 0 # <<<<<<<<<<<<<<
3720 __pyx_v_self->index = 0;
3722 /* "TabProxies.pyx":282
3723 * def __iter__(self):
3725 * return self # <<<<<<<<<<<<<<
3727 * def __next__(self):
3729 __Pyx_XDECREF(__pyx_r);
3730 __Pyx_INCREF(((PyObject *)__pyx_v_self));
3731 __pyx_r = ((PyObject *)__pyx_v_self);
3734 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3736 __Pyx_XGIVEREF(__pyx_r);
3737 __Pyx_RefNannyFinishContext();
3741 /* Python wrapper */
3742 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_17__next__(PyObject *__pyx_v_self); /*proto*/
3743 static char __pyx_doc_10TabProxies_10TupleProxy_16__next__[] = "python version of next().\n ";
3744 struct wrapperbase __pyx_wrapperbase_10TabProxies_10TupleProxy_16__next__;
3745 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_17__next__(PyObject *__pyx_v_self) {
3746 PyObject *__pyx_r = 0;
3747 __Pyx_RefNannyDeclarations
3748 __Pyx_RefNannySetupContext("__next__ (wrapper)", 0);
3749 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_16__next__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self));
3750 __Pyx_RefNannyFinishContext();
3754 /* "TabProxies.pyx":284
3757 * def __next__(self): # <<<<<<<<<<<<<<
3758 * """python version of next().
3762 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_16__next__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self) {
3763 char *__pyx_v_retval;
3764 PyObject *__pyx_r = NULL;
3765 __Pyx_RefNannyDeclarations
3767 PyObject *__pyx_t_2 = NULL;
3768 int __pyx_lineno = 0;
3769 const char *__pyx_filename = NULL;
3770 int __pyx_clineno = 0;
3771 __Pyx_RefNannySetupContext("__next__", 0);
3773 /* "TabProxies.pyx":287
3774 * """python version of next().
3776 * if self.index >= self.nfields: # <<<<<<<<<<<<<<
3777 * raise StopIteration
3778 * cdef char * retval = self.fields[self.index]
3780 __pyx_t_1 = (__pyx_v_self->index >= __pyx_v_self->nfields);
3783 /* "TabProxies.pyx":288
3785 * if self.index >= self.nfields:
3786 * raise StopIteration # <<<<<<<<<<<<<<
3787 * cdef char * retval = self.fields[self.index]
3790 __Pyx_Raise(__pyx_builtin_StopIteration, 0, 0, 0);
3791 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3796 /* "TabProxies.pyx":289
3797 * if self.index >= self.nfields:
3798 * raise StopIteration
3799 * cdef char * retval = self.fields[self.index] # <<<<<<<<<<<<<<
3801 * if retval == NULL: return None
3803 __pyx_v_retval = (__pyx_v_self->fields[__pyx_v_self->index]);
3805 /* "TabProxies.pyx":290
3806 * raise StopIteration
3807 * cdef char * retval = self.fields[self.index]
3808 * self.index += 1 # <<<<<<<<<<<<<<
3809 * if retval == NULL: return None
3810 * else: return retval
3812 __pyx_v_self->index = (__pyx_v_self->index + 1);
3814 /* "TabProxies.pyx":291
3815 * cdef char * retval = self.fields[self.index]
3817 * if retval == NULL: return None # <<<<<<<<<<<<<<
3818 * else: return retval
3821 __pyx_t_1 = (__pyx_v_retval == NULL);
3823 __Pyx_XDECREF(__pyx_r);
3824 __Pyx_INCREF(Py_None);
3831 /* "TabProxies.pyx":292
3833 * if retval == NULL: return None
3834 * else: return retval # <<<<<<<<<<<<<<
3836 * def __str__(self):
3838 __Pyx_XDECREF(__pyx_r);
3839 __pyx_t_2 = PyBytes_FromString(__pyx_v_retval); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3840 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
3841 __pyx_r = ((PyObject *)__pyx_t_2);
3847 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3850 __Pyx_XDECREF(__pyx_t_2);
3851 __Pyx_AddTraceback("TabProxies.TupleProxy.__next__", __pyx_clineno, __pyx_lineno, __pyx_filename);
3854 __Pyx_XGIVEREF(__pyx_r);
3855 __Pyx_RefNannyFinishContext();
3859 /* Python wrapper */
3860 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_19__str__(PyObject *__pyx_v_self); /*proto*/
3861 static char __pyx_doc_10TabProxies_10TupleProxy_18__str__[] = "return original data";
3862 struct wrapperbase __pyx_wrapperbase_10TabProxies_10TupleProxy_18__str__;
3863 static PyObject *__pyx_pw_10TabProxies_10TupleProxy_19__str__(PyObject *__pyx_v_self) {
3864 PyObject *__pyx_r = 0;
3865 __Pyx_RefNannyDeclarations
3866 __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
3867 __pyx_r = __pyx_pf_10TabProxies_10TupleProxy_18__str__(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self));
3868 __Pyx_RefNannyFinishContext();
3872 /* "TabProxies.pyx":294
3873 * else: return retval
3875 * def __str__(self): # <<<<<<<<<<<<<<
3876 * '''return original data'''
3877 * # copy and replace \0 bytes with \t characters
3880 static PyObject *__pyx_pf_10TabProxies_10TupleProxy_18__str__(struct __pyx_obj_10TabProxies_TupleProxy *__pyx_v_self) {
3881 PyObject *__pyx_v_result = NULL;
3884 PyObject *__pyx_r = NULL;
3885 __Pyx_RefNannyDeclarations
3886 PyObject *__pyx_t_1 = NULL;
3890 PyObject *__pyx_t_5 = NULL;
3891 PyObject *__pyx_t_6 = NULL;
3893 int __pyx_lineno = 0;
3894 const char *__pyx_filename = NULL;
3895 int __pyx_clineno = 0;
3896 __Pyx_RefNannySetupContext("__str__", 0);
3898 /* "TabProxies.pyx":297
3899 * '''return original data'''
3900 * # copy and replace \0 bytes with \t characters
3901 * if self.is_modified: # <<<<<<<<<<<<<<
3902 * # todo: treat NULL values
3905 if (__pyx_v_self->is_modified) {
3907 /* "TabProxies.pyx":299
3908 * if self.is_modified:
3909 * # todo: treat NULL values
3910 * result = [] # <<<<<<<<<<<<<<
3911 * for x in xrange( 0, self.nfields ):
3912 * result.append( StrOrEmpty( self.fields[x]).decode('ascii') )
3914 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3915 __Pyx_GOTREF(__pyx_t_1);
3916 __pyx_v_result = ((PyObject *)__pyx_t_1);
3919 /* "TabProxies.pyx":300
3920 * # todo: treat NULL values
3922 * for x in xrange( 0, self.nfields ): # <<<<<<<<<<<<<<
3923 * result.append( StrOrEmpty( self.fields[x]).decode('ascii') )
3924 * return "\t".join( result )
3926 __pyx_t_2 = __pyx_v_self->nfields;
3927 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
3928 __pyx_v_x = __pyx_t_3;
3930 /* "TabProxies.pyx":301
3932 * for x in xrange( 0, self.nfields ):
3933 * result.append( StrOrEmpty( self.fields[x]).decode('ascii') ) # <<<<<<<<<<<<<<
3934 * return "\t".join( result )
3937 __pyx_t_4 = __pyx_f_10TabProxies_StrOrEmpty((__pyx_v_self->fields[__pyx_v_x]));
3938 __pyx_t_1 = ((PyObject *)PyUnicode_DecodeASCII(__pyx_t_4, strlen(__pyx_t_4), NULL)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3939 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3940 __pyx_t_5 = __Pyx_PyObject_Append(__pyx_v_result, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3941 __Pyx_GOTREF(__pyx_t_5);
3942 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
3943 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3946 /* "TabProxies.pyx":302
3947 * for x in xrange( 0, self.nfields ):
3948 * result.append( StrOrEmpty( self.fields[x]).decode('ascii') )
3949 * return "\t".join( result ) # <<<<<<<<<<<<<<
3951 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 )
3953 __Pyx_XDECREF(__pyx_r);
3954 __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_18), __pyx_n_s__join); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3955 __Pyx_GOTREF(__pyx_t_5);
3956 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3957 __Pyx_GOTREF(__pyx_t_1);
3958 __Pyx_INCREF(__pyx_v_result);
3959 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_result);
3960 __Pyx_GIVEREF(__pyx_v_result);
3961 __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3962 __Pyx_GOTREF(__pyx_t_6);
3963 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3964 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
3965 __pyx_r = __pyx_t_6;
3972 /* "TabProxies.pyx":304
3973 * return "\t".join( result )
3975 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 ) # <<<<<<<<<<<<<<
3977 * raise ValueError("out of memory" )
3979 __pyx_v_cpy = ((char *)calloc((sizeof(char)), (__pyx_v_self->nbytes + 1)));
3981 /* "TabProxies.pyx":305
3983 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 )
3984 * if cpy == NULL: # <<<<<<<<<<<<<<
3985 * raise ValueError("out of memory" )
3986 * memcpy( cpy, self.data, self.nbytes+1)
3988 __pyx_t_7 = (__pyx_v_cpy == NULL);
3991 /* "TabProxies.pyx":306
3992 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 )
3994 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
3995 * memcpy( cpy, self.data, self.nbytes+1)
3996 * for x from 0 <= x < self.nbytes:
3998 __pyx_t_6 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_19), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3999 __Pyx_GOTREF(__pyx_t_6);
4000 __Pyx_Raise(__pyx_t_6, 0, 0, 0);
4001 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4002 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4007 /* "TabProxies.pyx":307
4009 * raise ValueError("out of memory" )
4010 * memcpy( cpy, self.data, self.nbytes+1) # <<<<<<<<<<<<<<
4011 * for x from 0 <= x < self.nbytes:
4012 * if cpy[x] == '\0': cpy[x] = '\t'
4014 memcpy(__pyx_v_cpy, __pyx_v_self->data, (__pyx_v_self->nbytes + 1));
4016 /* "TabProxies.pyx":308
4017 * raise ValueError("out of memory" )
4018 * memcpy( cpy, self.data, self.nbytes+1)
4019 * for x from 0 <= x < self.nbytes: # <<<<<<<<<<<<<<
4020 * if cpy[x] == '\0': cpy[x] = '\t'
4021 * result = cpy[:self.nbytes]
4023 __pyx_t_2 = __pyx_v_self->nbytes;
4024 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_2; __pyx_v_x++) {
4026 /* "TabProxies.pyx":309
4027 * memcpy( cpy, self.data, self.nbytes+1)
4028 * for x from 0 <= x < self.nbytes:
4029 * if cpy[x] == '\0': cpy[x] = '\t' # <<<<<<<<<<<<<<
4030 * result = cpy[:self.nbytes]
4033 __pyx_t_7 = ((__pyx_v_cpy[__pyx_v_x]) == '\x00');
4035 (__pyx_v_cpy[__pyx_v_x]) = '\t';
4041 /* "TabProxies.pyx":310
4042 * for x from 0 <= x < self.nbytes:
4043 * if cpy[x] == '\0': cpy[x] = '\t'
4044 * result = cpy[:self.nbytes] # <<<<<<<<<<<<<<
4046 * return result.decode('ascii')
4048 __pyx_t_6 = PyBytes_FromStringAndSize(__pyx_v_cpy + 0, __pyx_v_self->nbytes - 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4049 __Pyx_GOTREF(((PyObject *)__pyx_t_6));
4050 __pyx_v_result = ((PyObject *)__pyx_t_6);
4053 /* "TabProxies.pyx":311
4054 * if cpy[x] == '\0': cpy[x] = '\t'
4055 * result = cpy[:self.nbytes]
4056 * free(cpy) # <<<<<<<<<<<<<<
4057 * return result.decode('ascii')
4062 /* "TabProxies.pyx":312
4063 * result = cpy[:self.nbytes]
4065 * return result.decode('ascii') # <<<<<<<<<<<<<<
4069 __Pyx_XDECREF(__pyx_r);
4070 __pyx_t_6 = PyObject_GetAttr(__pyx_v_result, __pyx_n_s__decode); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4071 __Pyx_GOTREF(__pyx_t_6);
4072 __pyx_t_1 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_20), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4073 __Pyx_GOTREF(__pyx_t_1);
4074 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4075 __pyx_r = __pyx_t_1;
4081 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4084 __Pyx_XDECREF(__pyx_t_1);
4085 __Pyx_XDECREF(__pyx_t_5);
4086 __Pyx_XDECREF(__pyx_t_6);
4087 __Pyx_AddTraceback("TabProxies.TupleProxy.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4090 __Pyx_XDECREF(__pyx_v_result);
4091 __Pyx_XGIVEREF(__pyx_r);
4092 __Pyx_RefNannyFinishContext();
4096 /* Python wrapper */
4097 static PyObject *__pyx_pw_10TabProxies_1toDot(PyObject *__pyx_self, PyObject *__pyx_v_v); /*proto*/
4098 static char __pyx_doc_10TabProxies_toDot[] = "convert value to '.' if None";
4099 static PyMethodDef __pyx_mdef_10TabProxies_1toDot = {__Pyx_NAMESTR("toDot"), (PyCFunction)__pyx_pw_10TabProxies_1toDot, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_toDot)};
4100 static PyObject *__pyx_pw_10TabProxies_1toDot(PyObject *__pyx_self, PyObject *__pyx_v_v) {
4101 PyObject *__pyx_r = 0;
4102 __Pyx_RefNannyDeclarations
4103 __Pyx_RefNannySetupContext("toDot (wrapper)", 0);
4104 __pyx_self = __pyx_self;
4105 __pyx_r = __pyx_pf_10TabProxies_toDot(__pyx_self, ((PyObject *)__pyx_v_v));
4106 __Pyx_RefNannyFinishContext();
4110 /* "TabProxies.pyx":314
4111 * return result.decode('ascii')
4113 * def toDot( v ): # <<<<<<<<<<<<<<
4114 * '''convert value to '.' if None'''
4115 * if v == None: return "."
4118 static PyObject *__pyx_pf_10TabProxies_toDot(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v) {
4119 PyObject *__pyx_r = NULL;
4120 __Pyx_RefNannyDeclarations
4121 PyObject *__pyx_t_1 = NULL;
4123 PyObject *__pyx_t_3 = NULL;
4124 int __pyx_lineno = 0;
4125 const char *__pyx_filename = NULL;
4126 int __pyx_clineno = 0;
4127 __Pyx_RefNannySetupContext("toDot", 0);
4129 /* "TabProxies.pyx":316
4131 * '''convert value to '.' if None'''
4132 * if v == None: return "." # <<<<<<<<<<<<<<
4133 * else: return str(v)
4136 __pyx_t_1 = PyObject_RichCompare(__pyx_v_v, Py_None, Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4137 __Pyx_GOTREF(__pyx_t_1);
4138 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4139 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4141 __Pyx_XDECREF(__pyx_r);
4142 __Pyx_INCREF(((PyObject *)__pyx_kp_s_21));
4143 __pyx_r = ((PyObject *)__pyx_kp_s_21);
4149 /* "TabProxies.pyx":317
4150 * '''convert value to '.' if None'''
4151 * if v == None: return "."
4152 * else: return str(v) # <<<<<<<<<<<<<<
4156 __Pyx_XDECREF(__pyx_r);
4157 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4158 __Pyx_GOTREF(__pyx_t_1);
4159 __Pyx_INCREF(__pyx_v_v);
4160 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_v);
4161 __Pyx_GIVEREF(__pyx_v_v);
4162 __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4163 __Pyx_GOTREF(__pyx_t_3);
4164 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
4165 __pyx_r = __pyx_t_3;
4171 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4174 __Pyx_XDECREF(__pyx_t_1);
4175 __Pyx_XDECREF(__pyx_t_3);
4176 __Pyx_AddTraceback("TabProxies.toDot", __pyx_clineno, __pyx_lineno, __pyx_filename);
4179 __Pyx_XGIVEREF(__pyx_r);
4180 __Pyx_RefNannyFinishContext();
4184 /* Python wrapper */
4185 static PyObject *__pyx_pw_10TabProxies_3quote(PyObject *__pyx_self, PyObject *__pyx_v_v); /*proto*/
4186 static char __pyx_doc_10TabProxies_2quote[] = "return a quoted attribute.";
4187 static PyMethodDef __pyx_mdef_10TabProxies_3quote = {__Pyx_NAMESTR("quote"), (PyCFunction)__pyx_pw_10TabProxies_3quote, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_2quote)};
4188 static PyObject *__pyx_pw_10TabProxies_3quote(PyObject *__pyx_self, PyObject *__pyx_v_v) {
4189 PyObject *__pyx_r = 0;
4190 __Pyx_RefNannyDeclarations
4191 __Pyx_RefNannySetupContext("quote (wrapper)", 0);
4192 __pyx_self = __pyx_self;
4193 __pyx_r = __pyx_pf_10TabProxies_2quote(__pyx_self, ((PyObject *)__pyx_v_v));
4194 __Pyx_RefNannyFinishContext();
4198 /* "TabProxies.pyx":319
4199 * else: return str(v)
4201 * def quote( v ): # <<<<<<<<<<<<<<
4202 * '''return a quoted attribute.'''
4203 * if type(v) in types.StringTypes:
4206 static PyObject *__pyx_pf_10TabProxies_2quote(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v) {
4207 PyObject *__pyx_r = NULL;
4208 __Pyx_RefNannyDeclarations
4209 PyObject *__pyx_t_1 = NULL;
4210 PyObject *__pyx_t_2 = NULL;
4212 int __pyx_lineno = 0;
4213 const char *__pyx_filename = NULL;
4214 int __pyx_clineno = 0;
4215 __Pyx_RefNannySetupContext("quote", 0);
4217 /* "TabProxies.pyx":321
4219 * '''return a quoted attribute.'''
4220 * if type(v) in types.StringTypes: # <<<<<<<<<<<<<<
4224 __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__types); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4225 __Pyx_GOTREF(__pyx_t_1);
4226 __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__StringTypes); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4227 __Pyx_GOTREF(__pyx_t_2);
4228 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4229 __pyx_t_3 = ((PySequence_Contains(__pyx_t_2, ((PyObject *)Py_TYPE(__pyx_v_v))))); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4230 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4233 /* "TabProxies.pyx":322
4234 * '''return a quoted attribute.'''
4235 * if type(v) in types.StringTypes:
4236 * return '"%s"' % v # <<<<<<<<<<<<<<
4240 __Pyx_XDECREF(__pyx_r);
4241 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_22), __pyx_v_v); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4242 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
4243 __pyx_r = ((PyObject *)__pyx_t_2);
4250 /* "TabProxies.pyx":324
4253 * return str(v) # <<<<<<<<<<<<<<
4255 * cdef class GTFProxy( TupleProxy ):
4257 __Pyx_XDECREF(__pyx_r);
4258 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4259 __Pyx_GOTREF(__pyx_t_2);
4260 __Pyx_INCREF(__pyx_v_v);
4261 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v);
4262 __Pyx_GIVEREF(__pyx_v_v);
4263 __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4264 __Pyx_GOTREF(__pyx_t_1);
4265 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4266 __pyx_r = __pyx_t_1;
4272 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4275 __Pyx_XDECREF(__pyx_t_1);
4276 __Pyx_XDECREF(__pyx_t_2);
4277 __Pyx_AddTraceback("TabProxies.quote", __pyx_clineno, __pyx_lineno, __pyx_filename);
4280 __Pyx_XGIVEREF(__pyx_r);
4281 __Pyx_RefNannyFinishContext();
4285 /* Python wrapper */
4286 static int __pyx_pw_10TabProxies_8GTFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
4287 static int __pyx_pw_10TabProxies_8GTFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
4289 __Pyx_RefNannyDeclarations
4290 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
4291 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
4292 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
4293 if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
4294 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy___cinit__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4295 __Pyx_RefNannyFinishContext();
4299 /* "TabProxies.pyx":339
4302 * def __cinit__(self ): # <<<<<<<<<<<<<<
4303 * # automatically calls TupleProxy.__cinit__
4304 * self.hasOwnAttributes = False
4307 static int __pyx_pf_10TabProxies_8GTFProxy___cinit__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
4309 __Pyx_RefNannyDeclarations
4310 __Pyx_RefNannySetupContext("__cinit__", 0);
4312 /* "TabProxies.pyx":341
4313 * def __cinit__(self ):
4314 * # automatically calls TupleProxy.__cinit__
4315 * self.hasOwnAttributes = False # <<<<<<<<<<<<<<
4316 * self._attributes = NULL
4319 __pyx_v_self->hasOwnAttributes = 0;
4321 /* "TabProxies.pyx":342
4322 * # automatically calls TupleProxy.__cinit__
4323 * self.hasOwnAttributes = False
4324 * self._attributes = NULL # <<<<<<<<<<<<<<
4326 * def __dealloc__(self):
4328 __pyx_v_self->_attributes = NULL;
4331 __Pyx_RefNannyFinishContext();
4335 /* Python wrapper */
4336 static void __pyx_pw_10TabProxies_8GTFProxy_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
4337 static void __pyx_pw_10TabProxies_8GTFProxy_3__dealloc__(PyObject *__pyx_v_self) {
4338 __Pyx_RefNannyDeclarations
4339 __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
4340 __pyx_pf_10TabProxies_8GTFProxy_2__dealloc__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4341 __Pyx_RefNannyFinishContext();
4344 /* "TabProxies.pyx":344
4345 * self._attributes = NULL
4347 * def __dealloc__(self): # <<<<<<<<<<<<<<
4348 * # automatically calls TupleProxy.__dealloc__
4349 * if self.hasOwnAttributes:
4352 static void __pyx_pf_10TabProxies_8GTFProxy_2__dealloc__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
4353 __Pyx_RefNannyDeclarations
4354 __Pyx_RefNannySetupContext("__dealloc__", 0);
4356 /* "TabProxies.pyx":346
4357 * def __dealloc__(self):
4358 * # automatically calls TupleProxy.__dealloc__
4359 * if self.hasOwnAttributes: # <<<<<<<<<<<<<<
4360 * free(self._attributes)
4363 if (__pyx_v_self->hasOwnAttributes) {
4365 /* "TabProxies.pyx":347
4366 * # automatically calls TupleProxy.__dealloc__
4367 * if self.hasOwnAttributes:
4368 * free(self._attributes) # <<<<<<<<<<<<<<
4370 * cdef int getMaxFields( self, size_t nbytes ):
4372 free(__pyx_v_self->_attributes);
4377 __Pyx_RefNannyFinishContext();
4380 /* "TabProxies.pyx":349
4381 * free(self._attributes)
4383 * cdef int getMaxFields( self, size_t nbytes ): # <<<<<<<<<<<<<<
4384 * '''return max number of fields.'''
4388 static int __pyx_f_10TabProxies_8GTFProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, CYTHON_UNUSED size_t __pyx_v_nbytes) {
4390 __Pyx_RefNannyDeclarations
4391 __Pyx_RefNannySetupContext("getMaxFields", 0);
4393 /* "TabProxies.pyx":351
4394 * cdef int getMaxFields( self, size_t nbytes ):
4395 * '''return max number of fields.'''
4396 * return 9 # <<<<<<<<<<<<<<
4405 __Pyx_RefNannyFinishContext();
4409 /* Python wrapper */
4410 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_6contig_1__get__(PyObject *__pyx_v_self); /*proto*/
4411 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_6contig_1__get__(PyObject *__pyx_v_self) {
4412 PyObject *__pyx_r = 0;
4413 __Pyx_RefNannyDeclarations
4414 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4415 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_6contig___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4416 __Pyx_RefNannyFinishContext();
4420 /* "TabProxies.pyx":355
4422 * '''contig of feature.'''
4423 * def __get__( self ): return self._getindex( 0 ) # <<<<<<<<<<<<<<
4424 * def __set__( self, value ): self._setindex( 0, value )
4428 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6contig___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
4429 PyObject *__pyx_r = NULL;
4430 __Pyx_RefNannyDeclarations
4431 PyObject *__pyx_t_1 = NULL;
4432 PyObject *__pyx_t_2 = NULL;
4433 int __pyx_lineno = 0;
4434 const char *__pyx_filename = NULL;
4435 int __pyx_clineno = 0;
4436 __Pyx_RefNannySetupContext("__get__", 0);
4437 __Pyx_XDECREF(__pyx_r);
4438 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4439 __Pyx_GOTREF(__pyx_t_1);
4440 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_23), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4441 __Pyx_GOTREF(__pyx_t_2);
4442 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4443 __pyx_r = __pyx_t_2;
4447 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4450 __Pyx_XDECREF(__pyx_t_1);
4451 __Pyx_XDECREF(__pyx_t_2);
4452 __Pyx_AddTraceback("TabProxies.GTFProxy.contig.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4455 __Pyx_XGIVEREF(__pyx_r);
4456 __Pyx_RefNannyFinishContext();
4460 /* Python wrapper */
4461 static int __pyx_pw_10TabProxies_8GTFProxy_6contig_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
4462 static int __pyx_pw_10TabProxies_8GTFProxy_6contig_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4464 __Pyx_RefNannyDeclarations
4465 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4466 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_6contig_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4467 __Pyx_RefNannyFinishContext();
4471 /* "TabProxies.pyx":356
4472 * '''contig of feature.'''
4473 * def __get__( self ): return self._getindex( 0 )
4474 * def __set__( self, value ): self._setindex( 0, value ) # <<<<<<<<<<<<<<
4479 static int __pyx_pf_10TabProxies_8GTFProxy_6contig_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
4481 __Pyx_RefNannyDeclarations
4482 PyObject *__pyx_t_1 = NULL;
4483 PyObject *__pyx_t_2 = NULL;
4484 PyObject *__pyx_t_3 = NULL;
4485 int __pyx_lineno = 0;
4486 const char *__pyx_filename = NULL;
4487 int __pyx_clineno = 0;
4488 __Pyx_RefNannySetupContext("__set__", 0);
4489 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4490 __Pyx_GOTREF(__pyx_t_1);
4491 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4492 __Pyx_GOTREF(__pyx_t_2);
4493 __Pyx_INCREF(__pyx_int_0);
4494 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0);
4495 __Pyx_GIVEREF(__pyx_int_0);
4496 __Pyx_INCREF(__pyx_v_value);
4497 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value);
4498 __Pyx_GIVEREF(__pyx_v_value);
4499 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4500 __Pyx_GOTREF(__pyx_t_3);
4501 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4502 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4503 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4508 __Pyx_XDECREF(__pyx_t_1);
4509 __Pyx_XDECREF(__pyx_t_2);
4510 __Pyx_XDECREF(__pyx_t_3);
4511 __Pyx_AddTraceback("TabProxies.GTFProxy.contig.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4514 __Pyx_RefNannyFinishContext();
4518 /* Python wrapper */
4519 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_6source_1__get__(PyObject *__pyx_v_self); /*proto*/
4520 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_6source_1__get__(PyObject *__pyx_v_self) {
4521 PyObject *__pyx_r = 0;
4522 __Pyx_RefNannyDeclarations
4523 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4524 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_6source___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4525 __Pyx_RefNannyFinishContext();
4529 /* "TabProxies.pyx":360
4531 * '''feature source.'''
4532 * def __get__( self ): return self._getindex( 1 ) # <<<<<<<<<<<<<<
4533 * def __set__( self, value ): self._setindex( 1, value )
4537 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6source___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
4538 PyObject *__pyx_r = NULL;
4539 __Pyx_RefNannyDeclarations
4540 PyObject *__pyx_t_1 = NULL;
4541 PyObject *__pyx_t_2 = NULL;
4542 int __pyx_lineno = 0;
4543 const char *__pyx_filename = NULL;
4544 int __pyx_clineno = 0;
4545 __Pyx_RefNannySetupContext("__get__", 0);
4546 __Pyx_XDECREF(__pyx_r);
4547 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4548 __Pyx_GOTREF(__pyx_t_1);
4549 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_24), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4550 __Pyx_GOTREF(__pyx_t_2);
4551 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4552 __pyx_r = __pyx_t_2;
4556 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4559 __Pyx_XDECREF(__pyx_t_1);
4560 __Pyx_XDECREF(__pyx_t_2);
4561 __Pyx_AddTraceback("TabProxies.GTFProxy.source.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4564 __Pyx_XGIVEREF(__pyx_r);
4565 __Pyx_RefNannyFinishContext();
4569 /* Python wrapper */
4570 static int __pyx_pw_10TabProxies_8GTFProxy_6source_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
4571 static int __pyx_pw_10TabProxies_8GTFProxy_6source_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4573 __Pyx_RefNannyDeclarations
4574 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4575 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_6source_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4576 __Pyx_RefNannyFinishContext();
4580 /* "TabProxies.pyx":361
4581 * '''feature source.'''
4582 * def __get__( self ): return self._getindex( 1 )
4583 * def __set__( self, value ): self._setindex( 1, value ) # <<<<<<<<<<<<<<
4588 static int __pyx_pf_10TabProxies_8GTFProxy_6source_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
4590 __Pyx_RefNannyDeclarations
4591 PyObject *__pyx_t_1 = NULL;
4592 PyObject *__pyx_t_2 = NULL;
4593 PyObject *__pyx_t_3 = NULL;
4594 int __pyx_lineno = 0;
4595 const char *__pyx_filename = NULL;
4596 int __pyx_clineno = 0;
4597 __Pyx_RefNannySetupContext("__set__", 0);
4598 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4599 __Pyx_GOTREF(__pyx_t_1);
4600 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4601 __Pyx_GOTREF(__pyx_t_2);
4602 __Pyx_INCREF(__pyx_int_1);
4603 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1);
4604 __Pyx_GIVEREF(__pyx_int_1);
4605 __Pyx_INCREF(__pyx_v_value);
4606 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value);
4607 __Pyx_GIVEREF(__pyx_v_value);
4608 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4609 __Pyx_GOTREF(__pyx_t_3);
4610 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4611 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4612 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4617 __Pyx_XDECREF(__pyx_t_1);
4618 __Pyx_XDECREF(__pyx_t_2);
4619 __Pyx_XDECREF(__pyx_t_3);
4620 __Pyx_AddTraceback("TabProxies.GTFProxy.source.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4623 __Pyx_RefNannyFinishContext();
4627 /* Python wrapper */
4628 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_7feature_1__get__(PyObject *__pyx_v_self); /*proto*/
4629 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_7feature_1__get__(PyObject *__pyx_v_self) {
4630 PyObject *__pyx_r = 0;
4631 __Pyx_RefNannyDeclarations
4632 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4633 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_7feature___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4634 __Pyx_RefNannyFinishContext();
4638 /* "TabProxies.pyx":365
4640 * '''feature name.'''
4641 * def __get__( self ): return self._getindex( 2 ) # <<<<<<<<<<<<<<
4642 * def __set__( self, value ): self._setindex( 2, value )
4646 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_7feature___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
4647 PyObject *__pyx_r = NULL;
4648 __Pyx_RefNannyDeclarations
4649 PyObject *__pyx_t_1 = NULL;
4650 PyObject *__pyx_t_2 = NULL;
4651 int __pyx_lineno = 0;
4652 const char *__pyx_filename = NULL;
4653 int __pyx_clineno = 0;
4654 __Pyx_RefNannySetupContext("__get__", 0);
4655 __Pyx_XDECREF(__pyx_r);
4656 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4657 __Pyx_GOTREF(__pyx_t_1);
4658 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_25), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4659 __Pyx_GOTREF(__pyx_t_2);
4660 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4661 __pyx_r = __pyx_t_2;
4665 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4668 __Pyx_XDECREF(__pyx_t_1);
4669 __Pyx_XDECREF(__pyx_t_2);
4670 __Pyx_AddTraceback("TabProxies.GTFProxy.feature.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4673 __Pyx_XGIVEREF(__pyx_r);
4674 __Pyx_RefNannyFinishContext();
4678 /* Python wrapper */
4679 static int __pyx_pw_10TabProxies_8GTFProxy_7feature_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
4680 static int __pyx_pw_10TabProxies_8GTFProxy_7feature_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4682 __Pyx_RefNannyDeclarations
4683 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4684 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_7feature_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4685 __Pyx_RefNannyFinishContext();
4689 /* "TabProxies.pyx":366
4690 * '''feature name.'''
4691 * def __get__( self ): return self._getindex( 2 )
4692 * def __set__( self, value ): self._setindex( 2, value ) # <<<<<<<<<<<<<<
4697 static int __pyx_pf_10TabProxies_8GTFProxy_7feature_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
4699 __Pyx_RefNannyDeclarations
4700 PyObject *__pyx_t_1 = NULL;
4701 PyObject *__pyx_t_2 = NULL;
4702 PyObject *__pyx_t_3 = NULL;
4703 int __pyx_lineno = 0;
4704 const char *__pyx_filename = NULL;
4705 int __pyx_clineno = 0;
4706 __Pyx_RefNannySetupContext("__set__", 0);
4707 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4708 __Pyx_GOTREF(__pyx_t_1);
4709 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4710 __Pyx_GOTREF(__pyx_t_2);
4711 __Pyx_INCREF(__pyx_int_2);
4712 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_2);
4713 __Pyx_GIVEREF(__pyx_int_2);
4714 __Pyx_INCREF(__pyx_v_value);
4715 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value);
4716 __Pyx_GIVEREF(__pyx_v_value);
4717 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4718 __Pyx_GOTREF(__pyx_t_3);
4719 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4720 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4721 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4726 __Pyx_XDECREF(__pyx_t_1);
4727 __Pyx_XDECREF(__pyx_t_2);
4728 __Pyx_XDECREF(__pyx_t_3);
4729 __Pyx_AddTraceback("TabProxies.GTFProxy.feature.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4732 __Pyx_RefNannyFinishContext();
4736 /* Python wrapper */
4737 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5start_1__get__(PyObject *__pyx_v_self); /*proto*/
4738 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5start_1__get__(PyObject *__pyx_v_self) {
4739 PyObject *__pyx_r = 0;
4740 __Pyx_RefNannyDeclarations
4741 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4742 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_5start___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4743 __Pyx_RefNannyFinishContext();
4747 /* "TabProxies.pyx":370
4749 * '''feature start (in 0-based open/closed coordinates).'''
4750 * def __get__( self ): return int( self._getindex( 3 )) - 1 # <<<<<<<<<<<<<<
4751 * def __set__( self, value ): self._setindex( 3, str(value+1) )
4755 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5start___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
4756 PyObject *__pyx_r = NULL;
4757 __Pyx_RefNannyDeclarations
4758 PyObject *__pyx_t_1 = NULL;
4759 PyObject *__pyx_t_2 = NULL;
4760 int __pyx_lineno = 0;
4761 const char *__pyx_filename = NULL;
4762 int __pyx_clineno = 0;
4763 __Pyx_RefNannySetupContext("__get__", 0);
4764 __Pyx_XDECREF(__pyx_r);
4765 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4766 __Pyx_GOTREF(__pyx_t_1);
4767 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_26), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4768 __Pyx_GOTREF(__pyx_t_2);
4769 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4770 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4771 __Pyx_GOTREF(__pyx_t_1);
4772 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
4773 __Pyx_GIVEREF(__pyx_t_2);
4775 __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4776 __Pyx_GOTREF(__pyx_t_2);
4777 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
4778 __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4779 __Pyx_GOTREF(__pyx_t_1);
4780 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4781 __pyx_r = __pyx_t_1;
4785 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4788 __Pyx_XDECREF(__pyx_t_1);
4789 __Pyx_XDECREF(__pyx_t_2);
4790 __Pyx_AddTraceback("TabProxies.GTFProxy.start.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4793 __Pyx_XGIVEREF(__pyx_r);
4794 __Pyx_RefNannyFinishContext();
4798 /* Python wrapper */
4799 static int __pyx_pw_10TabProxies_8GTFProxy_5start_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
4800 static int __pyx_pw_10TabProxies_8GTFProxy_5start_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4802 __Pyx_RefNannyDeclarations
4803 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4804 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_5start_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4805 __Pyx_RefNannyFinishContext();
4809 /* "TabProxies.pyx":371
4810 * '''feature start (in 0-based open/closed coordinates).'''
4811 * def __get__( self ): return int( self._getindex( 3 )) - 1
4812 * def __set__( self, value ): self._setindex( 3, str(value+1) ) # <<<<<<<<<<<<<<
4817 static int __pyx_pf_10TabProxies_8GTFProxy_5start_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
4819 __Pyx_RefNannyDeclarations
4820 PyObject *__pyx_t_1 = NULL;
4821 PyObject *__pyx_t_2 = NULL;
4822 PyObject *__pyx_t_3 = NULL;
4823 int __pyx_lineno = 0;
4824 const char *__pyx_filename = NULL;
4825 int __pyx_clineno = 0;
4826 __Pyx_RefNannySetupContext("__set__", 0);
4827 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4828 __Pyx_GOTREF(__pyx_t_1);
4829 __pyx_t_2 = PyNumber_Add(__pyx_v_value, __pyx_int_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4830 __Pyx_GOTREF(__pyx_t_2);
4831 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4832 __Pyx_GOTREF(__pyx_t_3);
4833 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
4834 __Pyx_GIVEREF(__pyx_t_2);
4836 __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4837 __Pyx_GOTREF(__pyx_t_2);
4838 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4839 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4840 __Pyx_GOTREF(__pyx_t_3);
4841 __Pyx_INCREF(__pyx_int_3);
4842 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_3);
4843 __Pyx_GIVEREF(__pyx_int_3);
4844 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
4845 __Pyx_GIVEREF(__pyx_t_2);
4847 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4848 __Pyx_GOTREF(__pyx_t_2);
4849 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4850 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4851 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4856 __Pyx_XDECREF(__pyx_t_1);
4857 __Pyx_XDECREF(__pyx_t_2);
4858 __Pyx_XDECREF(__pyx_t_3);
4859 __Pyx_AddTraceback("TabProxies.GTFProxy.start.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4862 __Pyx_RefNannyFinishContext();
4866 /* Python wrapper */
4867 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_3end_1__get__(PyObject *__pyx_v_self); /*proto*/
4868 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_3end_1__get__(PyObject *__pyx_v_self) {
4869 PyObject *__pyx_r = 0;
4870 __Pyx_RefNannyDeclarations
4871 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4872 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_3end___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4873 __Pyx_RefNannyFinishContext();
4877 /* "TabProxies.pyx":375
4879 * '''feature end (in 0-based open/closed coordinates).'''
4880 * def __get__( self ): return int( self._getindex( 4 ) ) # <<<<<<<<<<<<<<
4881 * def __set__( self, value ): self._setindex( 4, str(value) )
4885 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_3end___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
4886 PyObject *__pyx_r = NULL;
4887 __Pyx_RefNannyDeclarations
4888 PyObject *__pyx_t_1 = NULL;
4889 PyObject *__pyx_t_2 = NULL;
4890 int __pyx_lineno = 0;
4891 const char *__pyx_filename = NULL;
4892 int __pyx_clineno = 0;
4893 __Pyx_RefNannySetupContext("__get__", 0);
4894 __Pyx_XDECREF(__pyx_r);
4895 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4896 __Pyx_GOTREF(__pyx_t_1);
4897 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_27), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4898 __Pyx_GOTREF(__pyx_t_2);
4899 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4900 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4901 __Pyx_GOTREF(__pyx_t_1);
4902 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
4903 __Pyx_GIVEREF(__pyx_t_2);
4905 __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4906 __Pyx_GOTREF(__pyx_t_2);
4907 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
4908 __pyx_r = __pyx_t_2;
4912 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4915 __Pyx_XDECREF(__pyx_t_1);
4916 __Pyx_XDECREF(__pyx_t_2);
4917 __Pyx_AddTraceback("TabProxies.GTFProxy.end.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4920 __Pyx_XGIVEREF(__pyx_r);
4921 __Pyx_RefNannyFinishContext();
4925 /* Python wrapper */
4926 static int __pyx_pw_10TabProxies_8GTFProxy_3end_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
4927 static int __pyx_pw_10TabProxies_8GTFProxy_3end_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
4929 __Pyx_RefNannyDeclarations
4930 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
4931 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_3end_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
4932 __Pyx_RefNannyFinishContext();
4936 /* "TabProxies.pyx":376
4937 * '''feature end (in 0-based open/closed coordinates).'''
4938 * def __get__( self ): return int( self._getindex( 4 ) )
4939 * def __set__( self, value ): self._setindex( 4, str(value) ) # <<<<<<<<<<<<<<
4944 static int __pyx_pf_10TabProxies_8GTFProxy_3end_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
4946 __Pyx_RefNannyDeclarations
4947 PyObject *__pyx_t_1 = NULL;
4948 PyObject *__pyx_t_2 = NULL;
4949 PyObject *__pyx_t_3 = NULL;
4950 int __pyx_lineno = 0;
4951 const char *__pyx_filename = NULL;
4952 int __pyx_clineno = 0;
4953 __Pyx_RefNannySetupContext("__set__", 0);
4954 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4955 __Pyx_GOTREF(__pyx_t_1);
4956 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4957 __Pyx_GOTREF(__pyx_t_2);
4958 __Pyx_INCREF(__pyx_v_value);
4959 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_value);
4960 __Pyx_GIVEREF(__pyx_v_value);
4961 __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4962 __Pyx_GOTREF(__pyx_t_3);
4963 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4964 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4965 __Pyx_GOTREF(__pyx_t_2);
4966 __Pyx_INCREF(__pyx_int_4);
4967 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_4);
4968 __Pyx_GIVEREF(__pyx_int_4);
4969 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
4970 __Pyx_GIVEREF(__pyx_t_3);
4972 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4973 __Pyx_GOTREF(__pyx_t_3);
4974 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4975 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4976 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4981 __Pyx_XDECREF(__pyx_t_1);
4982 __Pyx_XDECREF(__pyx_t_2);
4983 __Pyx_XDECREF(__pyx_t_3);
4984 __Pyx_AddTraceback("TabProxies.GTFProxy.end.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4987 __Pyx_RefNannyFinishContext();
4991 /* Python wrapper */
4992 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5score_1__get__(PyObject *__pyx_v_self); /*proto*/
4993 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5score_1__get__(PyObject *__pyx_v_self) {
4994 PyObject *__pyx_r = 0;
4995 __Pyx_RefNannyDeclarations
4996 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
4997 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_5score___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
4998 __Pyx_RefNannyFinishContext();
5002 /* "TabProxies.pyx":380
5004 * '''feature score.'''
5005 * def __get__( self ): # <<<<<<<<<<<<<<
5006 * v = self._getindex(5)
5007 * if v == "" or v[0] == '.':
5010 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5score___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
5011 PyObject *__pyx_v_v = NULL;
5012 PyObject *__pyx_r = NULL;
5013 __Pyx_RefNannyDeclarations
5014 PyObject *__pyx_t_1 = NULL;
5015 PyObject *__pyx_t_2 = NULL;
5020 int __pyx_lineno = 0;
5021 const char *__pyx_filename = NULL;
5022 int __pyx_clineno = 0;
5023 __Pyx_RefNannySetupContext("__get__", 0);
5025 /* "TabProxies.pyx":381
5026 * '''feature score.'''
5027 * def __get__( self ):
5028 * v = self._getindex(5) # <<<<<<<<<<<<<<
5029 * if v == "" or v[0] == '.':
5032 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5033 __Pyx_GOTREF(__pyx_t_1);
5034 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_28), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5035 __Pyx_GOTREF(__pyx_t_2);
5036 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5037 __pyx_v_v = __pyx_t_2;
5040 /* "TabProxies.pyx":382
5041 * def __get__( self ):
5042 * v = self._getindex(5)
5043 * if v == "" or v[0] == '.': # <<<<<<<<<<<<<<
5047 __pyx_t_3 = __Pyx_PyString_Equals(__pyx_v_v, ((PyObject *)__pyx_kp_s_6), Py_EQ); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5049 __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_v, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5050 __Pyx_GOTREF(__pyx_t_2);
5051 __pyx_t_4 = __Pyx_PyString_Equals(__pyx_t_2, ((PyObject *)__pyx_kp_s_21), Py_EQ); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5052 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5053 __pyx_t_5 = __pyx_t_4;
5055 __pyx_t_5 = __pyx_t_3;
5059 /* "TabProxies.pyx":383
5060 * v = self._getindex(5)
5061 * if v == "" or v[0] == '.':
5062 * return None # <<<<<<<<<<<<<<
5066 __Pyx_XDECREF(__pyx_r);
5067 __Pyx_INCREF(Py_None);
5074 /* "TabProxies.pyx":385
5077 * return float(v) # <<<<<<<<<<<<<<
5079 * def __set__( self, value ): self._setindex( 5, value )
5081 __Pyx_XDECREF(__pyx_r);
5082 __pyx_t_6 = __Pyx_PyObject_AsDouble(__pyx_v_v); if (unlikely(__pyx_t_6 == ((double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5083 __pyx_t_2 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5084 __Pyx_GOTREF(__pyx_t_2);
5085 __pyx_r = __pyx_t_2;
5091 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5094 __Pyx_XDECREF(__pyx_t_1);
5095 __Pyx_XDECREF(__pyx_t_2);
5096 __Pyx_AddTraceback("TabProxies.GTFProxy.score.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5099 __Pyx_XDECREF(__pyx_v_v);
5100 __Pyx_XGIVEREF(__pyx_r);
5101 __Pyx_RefNannyFinishContext();
5105 /* Python wrapper */
5106 static int __pyx_pw_10TabProxies_8GTFProxy_5score_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
5107 static int __pyx_pw_10TabProxies_8GTFProxy_5score_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5109 __Pyx_RefNannyDeclarations
5110 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5111 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_5score_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5112 __Pyx_RefNannyFinishContext();
5116 /* "TabProxies.pyx":387
5119 * def __set__( self, value ): self._setindex( 5, value ) # <<<<<<<<<<<<<<
5124 static int __pyx_pf_10TabProxies_8GTFProxy_5score_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
5126 __Pyx_RefNannyDeclarations
5127 PyObject *__pyx_t_1 = NULL;
5128 PyObject *__pyx_t_2 = NULL;
5129 PyObject *__pyx_t_3 = NULL;
5130 int __pyx_lineno = 0;
5131 const char *__pyx_filename = NULL;
5132 int __pyx_clineno = 0;
5133 __Pyx_RefNannySetupContext("__set__", 0);
5134 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5135 __Pyx_GOTREF(__pyx_t_1);
5136 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5137 __Pyx_GOTREF(__pyx_t_2);
5138 __Pyx_INCREF(__pyx_int_5);
5139 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_5);
5140 __Pyx_GIVEREF(__pyx_int_5);
5141 __Pyx_INCREF(__pyx_v_value);
5142 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value);
5143 __Pyx_GIVEREF(__pyx_v_value);
5144 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5145 __Pyx_GOTREF(__pyx_t_3);
5146 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5147 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5148 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5153 __Pyx_XDECREF(__pyx_t_1);
5154 __Pyx_XDECREF(__pyx_t_2);
5155 __Pyx_XDECREF(__pyx_t_3);
5156 __Pyx_AddTraceback("TabProxies.GTFProxy.score.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5159 __Pyx_RefNannyFinishContext();
5163 /* Python wrapper */
5164 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_6strand_1__get__(PyObject *__pyx_v_self); /*proto*/
5165 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_6strand_1__get__(PyObject *__pyx_v_self) {
5166 PyObject *__pyx_r = 0;
5167 __Pyx_RefNannyDeclarations
5168 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5169 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_6strand___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
5170 __Pyx_RefNannyFinishContext();
5174 /* "TabProxies.pyx":391
5176 * '''feature strand.'''
5177 * def __get__( self ): return self._getindex( 6 ) # <<<<<<<<<<<<<<
5178 * def __set__( self, value ): self._setindex( 6, value )
5182 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6strand___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
5183 PyObject *__pyx_r = NULL;
5184 __Pyx_RefNannyDeclarations
5185 PyObject *__pyx_t_1 = NULL;
5186 PyObject *__pyx_t_2 = NULL;
5187 int __pyx_lineno = 0;
5188 const char *__pyx_filename = NULL;
5189 int __pyx_clineno = 0;
5190 __Pyx_RefNannySetupContext("__get__", 0);
5191 __Pyx_XDECREF(__pyx_r);
5192 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5193 __Pyx_GOTREF(__pyx_t_1);
5194 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_29), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5195 __Pyx_GOTREF(__pyx_t_2);
5196 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5197 __pyx_r = __pyx_t_2;
5201 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5204 __Pyx_XDECREF(__pyx_t_1);
5205 __Pyx_XDECREF(__pyx_t_2);
5206 __Pyx_AddTraceback("TabProxies.GTFProxy.strand.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5209 __Pyx_XGIVEREF(__pyx_r);
5210 __Pyx_RefNannyFinishContext();
5214 /* Python wrapper */
5215 static int __pyx_pw_10TabProxies_8GTFProxy_6strand_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
5216 static int __pyx_pw_10TabProxies_8GTFProxy_6strand_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5218 __Pyx_RefNannyDeclarations
5219 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5220 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_6strand_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5221 __Pyx_RefNannyFinishContext();
5225 /* "TabProxies.pyx":392
5226 * '''feature strand.'''
5227 * def __get__( self ): return self._getindex( 6 )
5228 * def __set__( self, value ): self._setindex( 6, value ) # <<<<<<<<<<<<<<
5233 static int __pyx_pf_10TabProxies_8GTFProxy_6strand_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
5235 __Pyx_RefNannyDeclarations
5236 PyObject *__pyx_t_1 = NULL;
5237 PyObject *__pyx_t_2 = NULL;
5238 PyObject *__pyx_t_3 = NULL;
5239 int __pyx_lineno = 0;
5240 const char *__pyx_filename = NULL;
5241 int __pyx_clineno = 0;
5242 __Pyx_RefNannySetupContext("__set__", 0);
5243 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5244 __Pyx_GOTREF(__pyx_t_1);
5245 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5246 __Pyx_GOTREF(__pyx_t_2);
5247 __Pyx_INCREF(__pyx_int_6);
5248 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_6);
5249 __Pyx_GIVEREF(__pyx_int_6);
5250 __Pyx_INCREF(__pyx_v_value);
5251 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value);
5252 __Pyx_GIVEREF(__pyx_v_value);
5253 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5254 __Pyx_GOTREF(__pyx_t_3);
5255 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5256 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5257 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5262 __Pyx_XDECREF(__pyx_t_1);
5263 __Pyx_XDECREF(__pyx_t_2);
5264 __Pyx_XDECREF(__pyx_t_3);
5265 __Pyx_AddTraceback("TabProxies.GTFProxy.strand.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5268 __Pyx_RefNannyFinishContext();
5272 /* Python wrapper */
5273 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5frame_1__get__(PyObject *__pyx_v_self); /*proto*/
5274 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5frame_1__get__(PyObject *__pyx_v_self) {
5275 PyObject *__pyx_r = 0;
5276 __Pyx_RefNannyDeclarations
5277 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5278 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_5frame___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
5279 __Pyx_RefNannyFinishContext();
5283 /* "TabProxies.pyx":396
5285 * '''feature frame.'''
5286 * def __get__( self ): return self._getindex( 7 ) # <<<<<<<<<<<<<<
5287 * def __set__( self, value ): self._setindex( 7, value )
5291 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_5frame___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
5292 PyObject *__pyx_r = NULL;
5293 __Pyx_RefNannyDeclarations
5294 PyObject *__pyx_t_1 = NULL;
5295 PyObject *__pyx_t_2 = NULL;
5296 int __pyx_lineno = 0;
5297 const char *__pyx_filename = NULL;
5298 int __pyx_clineno = 0;
5299 __Pyx_RefNannySetupContext("__get__", 0);
5300 __Pyx_XDECREF(__pyx_r);
5301 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5302 __Pyx_GOTREF(__pyx_t_1);
5303 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_30), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5304 __Pyx_GOTREF(__pyx_t_2);
5305 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5306 __pyx_r = __pyx_t_2;
5310 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5313 __Pyx_XDECREF(__pyx_t_1);
5314 __Pyx_XDECREF(__pyx_t_2);
5315 __Pyx_AddTraceback("TabProxies.GTFProxy.frame.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5318 __Pyx_XGIVEREF(__pyx_r);
5319 __Pyx_RefNannyFinishContext();
5323 /* Python wrapper */
5324 static int __pyx_pw_10TabProxies_8GTFProxy_5frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
5325 static int __pyx_pw_10TabProxies_8GTFProxy_5frame_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5327 __Pyx_RefNannyDeclarations
5328 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5329 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_5frame_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5330 __Pyx_RefNannyFinishContext();
5334 /* "TabProxies.pyx":397
5335 * '''feature frame.'''
5336 * def __get__( self ): return self._getindex( 7 )
5337 * def __set__( self, value ): self._setindex( 7, value ) # <<<<<<<<<<<<<<
5339 * property attributes:
5342 static int __pyx_pf_10TabProxies_8GTFProxy_5frame_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
5344 __Pyx_RefNannyDeclarations
5345 PyObject *__pyx_t_1 = NULL;
5346 PyObject *__pyx_t_2 = NULL;
5347 PyObject *__pyx_t_3 = NULL;
5348 int __pyx_lineno = 0;
5349 const char *__pyx_filename = NULL;
5350 int __pyx_clineno = 0;
5351 __Pyx_RefNannySetupContext("__set__", 0);
5352 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5353 __Pyx_GOTREF(__pyx_t_1);
5354 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5355 __Pyx_GOTREF(__pyx_t_2);
5356 __Pyx_INCREF(__pyx_int_7);
5357 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_7);
5358 __Pyx_GIVEREF(__pyx_int_7);
5359 __Pyx_INCREF(__pyx_v_value);
5360 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value);
5361 __Pyx_GIVEREF(__pyx_v_value);
5362 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5363 __Pyx_GOTREF(__pyx_t_3);
5364 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5365 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5366 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5371 __Pyx_XDECREF(__pyx_t_1);
5372 __Pyx_XDECREF(__pyx_t_2);
5373 __Pyx_XDECREF(__pyx_t_3);
5374 __Pyx_AddTraceback("TabProxies.GTFProxy.frame.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5377 __Pyx_RefNannyFinishContext();
5381 /* Python wrapper */
5382 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_10attributes_1__get__(PyObject *__pyx_v_self); /*proto*/
5383 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_10attributes_1__get__(PyObject *__pyx_v_self) {
5384 PyObject *__pyx_r = 0;
5385 __Pyx_RefNannyDeclarations
5386 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
5387 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_10attributes___get__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
5388 __Pyx_RefNannyFinishContext();
5392 /* "TabProxies.pyx":401
5393 * property attributes:
5394 * '''feature attributes (as a string).'''
5395 * def __get__( self ): # <<<<<<<<<<<<<<
5396 * if self.hasOwnAttributes:
5397 * return self._attributes
5400 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_10attributes___get__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
5401 PyObject *__pyx_r = NULL;
5402 __Pyx_RefNannyDeclarations
5403 PyObject *__pyx_t_1 = NULL;
5404 PyObject *__pyx_t_2 = NULL;
5405 int __pyx_lineno = 0;
5406 const char *__pyx_filename = NULL;
5407 int __pyx_clineno = 0;
5408 __Pyx_RefNannySetupContext("__get__", 0);
5410 /* "TabProxies.pyx":402
5411 * '''feature attributes (as a string).'''
5412 * def __get__( self ):
5413 * if self.hasOwnAttributes: # <<<<<<<<<<<<<<
5414 * return self._attributes
5417 if (__pyx_v_self->hasOwnAttributes) {
5419 /* "TabProxies.pyx":403
5420 * def __get__( self ):
5421 * if self.hasOwnAttributes:
5422 * return self._attributes # <<<<<<<<<<<<<<
5424 * return self._getindex( 8 )
5426 __Pyx_XDECREF(__pyx_r);
5427 __pyx_t_1 = PyBytes_FromString(__pyx_v_self->_attributes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5428 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
5429 __pyx_r = ((PyObject *)__pyx_t_1);
5436 /* "TabProxies.pyx":405
5437 * return self._attributes
5439 * return self._getindex( 8 ) # <<<<<<<<<<<<<<
5440 * def __set__( self, value ):
5441 * if self.hasOwnAttributes:
5443 __Pyx_XDECREF(__pyx_r);
5444 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___getindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5445 __Pyx_GOTREF(__pyx_t_1);
5446 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_31), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5447 __Pyx_GOTREF(__pyx_t_2);
5448 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5449 __pyx_r = __pyx_t_2;
5455 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
5458 __Pyx_XDECREF(__pyx_t_1);
5459 __Pyx_XDECREF(__pyx_t_2);
5460 __Pyx_AddTraceback("TabProxies.GTFProxy.attributes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5463 __Pyx_XGIVEREF(__pyx_r);
5464 __Pyx_RefNannyFinishContext();
5468 /* Python wrapper */
5469 static int __pyx_pw_10TabProxies_8GTFProxy_10attributes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
5470 static int __pyx_pw_10TabProxies_8GTFProxy_10attributes_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
5472 __Pyx_RefNannyDeclarations
5473 __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
5474 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_10attributes_2__set__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_value));
5475 __Pyx_RefNannyFinishContext();
5479 /* "TabProxies.pyx":406
5481 * return self._getindex( 8 )
5482 * def __set__( self, value ): # <<<<<<<<<<<<<<
5483 * if self.hasOwnAttributes:
5484 * free(self._attributes)
5487 static int __pyx_pf_10TabProxies_8GTFProxy_10attributes_2__set__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_value) {
5489 __Pyx_RefNannyDeclarations
5490 PyObject *__pyx_t_1 = NULL;
5491 PyObject *__pyx_t_2 = NULL;
5492 PyObject *__pyx_t_3 = NULL;
5493 int __pyx_lineno = 0;
5494 const char *__pyx_filename = NULL;
5495 int __pyx_clineno = 0;
5496 __Pyx_RefNannySetupContext("__set__", 0);
5498 /* "TabProxies.pyx":407
5499 * return self._getindex( 8 )
5500 * def __set__( self, value ):
5501 * if self.hasOwnAttributes: # <<<<<<<<<<<<<<
5502 * free(self._attributes)
5503 * self._attributes = NULL
5505 if (__pyx_v_self->hasOwnAttributes) {
5507 /* "TabProxies.pyx":408
5508 * def __set__( self, value ):
5509 * if self.hasOwnAttributes:
5510 * free(self._attributes) # <<<<<<<<<<<<<<
5511 * self._attributes = NULL
5512 * self.hasOwnAttributes = False
5514 free(__pyx_v_self->_attributes);
5516 /* "TabProxies.pyx":409
5517 * if self.hasOwnAttributes:
5518 * free(self._attributes)
5519 * self._attributes = NULL # <<<<<<<<<<<<<<
5520 * self.hasOwnAttributes = False
5521 * self._setindex(8, value )
5523 __pyx_v_self->_attributes = NULL;
5525 /* "TabProxies.pyx":410
5526 * free(self._attributes)
5527 * self._attributes = NULL
5528 * self.hasOwnAttributes = False # <<<<<<<<<<<<<<
5529 * self._setindex(8, value )
5532 __pyx_v_self->hasOwnAttributes = 0;
5537 /* "TabProxies.pyx":411
5538 * self._attributes = NULL
5539 * self.hasOwnAttributes = False
5540 * self._setindex(8, value ) # <<<<<<<<<<<<<<
5542 * cdef char * getAttributes( self ):
5544 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___setindex); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5545 __Pyx_GOTREF(__pyx_t_1);
5546 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5547 __Pyx_GOTREF(__pyx_t_2);
5548 __Pyx_INCREF(__pyx_int_8);
5549 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_8);
5550 __Pyx_GIVEREF(__pyx_int_8);
5551 __Pyx_INCREF(__pyx_v_value);
5552 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_value);
5553 __Pyx_GIVEREF(__pyx_v_value);
5554 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5555 __Pyx_GOTREF(__pyx_t_3);
5556 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5557 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5558 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5563 __Pyx_XDECREF(__pyx_t_1);
5564 __Pyx_XDECREF(__pyx_t_2);
5565 __Pyx_XDECREF(__pyx_t_3);
5566 __Pyx_AddTraceback("TabProxies.GTFProxy.attributes.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5569 __Pyx_RefNannyFinishContext();
5573 /* "TabProxies.pyx":413
5574 * self._setindex(8, value )
5576 * cdef char * getAttributes( self ): # <<<<<<<<<<<<<<
5577 * '''return pointer to attributes.'''
5578 * if self.hasOwnAttributes:
5581 static char *__pyx_f_10TabProxies_8GTFProxy_getAttributes(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
5583 __Pyx_RefNannyDeclarations
5584 __Pyx_RefNannySetupContext("getAttributes", 0);
5586 /* "TabProxies.pyx":415
5587 * cdef char * getAttributes( self ):
5588 * '''return pointer to attributes.'''
5589 * if self.hasOwnAttributes: # <<<<<<<<<<<<<<
5590 * return self._attributes
5593 if (__pyx_v_self->hasOwnAttributes) {
5595 /* "TabProxies.pyx":416
5596 * '''return pointer to attributes.'''
5597 * if self.hasOwnAttributes:
5598 * return self._attributes # <<<<<<<<<<<<<<
5600 * return self.fields[ 8 ]
5602 __pyx_r = __pyx_v_self->_attributes;
5608 /* "TabProxies.pyx":418
5609 * return self._attributes
5611 * return self.fields[ 8 ] # <<<<<<<<<<<<<<
5613 * def asDict( self ):
5615 __pyx_r = (__pyx_v_self->__pyx_base.fields[8]);
5622 __Pyx_RefNannyFinishContext();
5626 /* Python wrapper */
5627 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5asDict(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
5628 static char __pyx_doc_10TabProxies_8GTFProxy_4asDict[] = "parse attributes - return as dict\n ";
5629 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_5asDict(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
5630 PyObject *__pyx_r = 0;
5631 __Pyx_RefNannyDeclarations
5632 __Pyx_RefNannySetupContext("asDict (wrapper)", 0);
5633 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_4asDict(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
5634 __Pyx_RefNannyFinishContext();
5638 /* "TabProxies.pyx":420
5639 * return self.fields[ 8 ]
5641 * def asDict( self ): # <<<<<<<<<<<<<<
5642 * """parse attributes - return as dict
5646 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_4asDict(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
5647 PyObject *__pyx_v_attributes = NULL;
5648 PyObject *__pyx_v_fields = NULL;
5649 PyObject *__pyx_v_result = NULL;
5650 PyObject *__pyx_v_f = NULL;
5651 PyObject *__pyx_v_d = NULL;
5652 PyObject *__pyx_v_n = NULL;
5653 PyObject *__pyx_v_v = NULL;
5654 PyObject *__pyx_v_x = NULL;
5655 PyObject *__pyx_r = NULL;
5656 __Pyx_RefNannyDeclarations
5657 PyObject *__pyx_t_1 = NULL;
5658 PyObject *__pyx_t_2 = NULL;
5659 PyObject *__pyx_t_3 = NULL;
5660 Py_ssize_t __pyx_t_4;
5661 PyObject *(*__pyx_t_5)(PyObject *);
5662 PyObject *__pyx_t_6 = NULL;
5663 Py_ssize_t __pyx_t_7;
5664 PyObject *__pyx_t_8 = NULL;
5668 PyObject *__pyx_t_12 = NULL;
5669 PyObject *__pyx_t_13 = NULL;
5670 PyObject *__pyx_t_14 = NULL;
5673 int __pyx_lineno = 0;
5674 const char *__pyx_filename = NULL;
5675 int __pyx_clineno = 0;
5676 __Pyx_RefNannySetupContext("asDict", 0);
5678 /* "TabProxies.pyx":425
5681 * attributes = self.attributes # <<<<<<<<<<<<<<
5683 * # separate into fields
5685 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__attributes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5686 __Pyx_GOTREF(__pyx_t_1);
5687 __pyx_v_attributes = __pyx_t_1;
5690 /* "TabProxies.pyx":428
5692 * # separate into fields
5693 * fields = [ x.strip() for x in attributes.split(";")[:-1]] # <<<<<<<<<<<<<<
5697 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5698 __Pyx_GOTREF(__pyx_t_1);
5699 __pyx_t_2 = PyObject_GetAttr(__pyx_v_attributes, __pyx_n_s__split); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5700 __Pyx_GOTREF(__pyx_t_2);
5701 __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_33), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5702 __Pyx_GOTREF(__pyx_t_3);
5703 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5704 __pyx_t_2 = __Pyx_PySequence_GetSlice(__pyx_t_3, 0, -1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5705 __Pyx_GOTREF(__pyx_t_2);
5706 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5707 if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
5708 __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
5711 __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5712 __Pyx_GOTREF(__pyx_t_3);
5713 __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext;
5715 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5717 if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_3)) {
5718 if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
5719 __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++;
5720 } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_3)) {
5721 if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
5722 __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++;
5724 __pyx_t_2 = __pyx_t_5(__pyx_t_3);
5725 if (unlikely(!__pyx_t_2)) {
5726 if (PyErr_Occurred()) {
5727 if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
5728 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5732 __Pyx_GOTREF(__pyx_t_2);
5734 __Pyx_XDECREF(__pyx_v_x);
5735 __pyx_v_x = __pyx_t_2;
5737 __pyx_t_2 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5738 __Pyx_GOTREF(__pyx_t_2);
5739 __pyx_t_6 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5740 __Pyx_GOTREF(__pyx_t_6);
5741 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5742 if (unlikely(PyList_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5743 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5745 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5746 __Pyx_INCREF(((PyObject *)__pyx_t_1));
5747 __pyx_v_fields = __pyx_t_1;
5748 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
5750 /* "TabProxies.pyx":430
5751 * fields = [ x.strip() for x in attributes.split(";")[:-1]]
5753 * result = {} # <<<<<<<<<<<<<<
5757 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5758 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
5759 __pyx_v_result = __pyx_t_1;
5762 /* "TabProxies.pyx":432
5765 * for f in fields: # <<<<<<<<<<<<<<
5767 * d = [ x.strip() for x in f.split(" ")]
5769 __pyx_t_1 = ((PyObject *)__pyx_v_fields); __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
5771 if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
5772 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++;
5773 __Pyx_XDECREF(__pyx_v_f);
5774 __pyx_v_f = __pyx_t_3;
5777 /* "TabProxies.pyx":434
5780 * d = [ x.strip() for x in f.split(" ")] # <<<<<<<<<<<<<<
5784 __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5785 __Pyx_GOTREF(__pyx_t_3);
5786 __pyx_t_6 = PyObject_GetAttr(__pyx_v_f, __pyx_n_s__split); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5787 __Pyx_GOTREF(__pyx_t_6);
5788 __pyx_t_2 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_35), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5789 __Pyx_GOTREF(__pyx_t_2);
5790 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5791 if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
5792 __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
5795 __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5796 __Pyx_GOTREF(__pyx_t_6);
5797 __pyx_t_5 = Py_TYPE(__pyx_t_6)->tp_iternext;
5799 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5801 if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_6)) {
5802 if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break;
5803 __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++;
5804 } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_6)) {
5805 if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
5806 __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++;
5808 __pyx_t_2 = __pyx_t_5(__pyx_t_6);
5809 if (unlikely(!__pyx_t_2)) {
5810 if (PyErr_Occurred()) {
5811 if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
5812 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5816 __Pyx_GOTREF(__pyx_t_2);
5818 __Pyx_XDECREF(__pyx_v_x);
5819 __pyx_v_x = __pyx_t_2;
5821 __pyx_t_2 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5822 __Pyx_GOTREF(__pyx_t_2);
5823 __pyx_t_8 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5824 __Pyx_GOTREF(__pyx_t_8);
5825 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5826 if (unlikely(PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_8))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5827 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
5829 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5830 __Pyx_INCREF(((PyObject *)__pyx_t_3));
5831 __Pyx_XDECREF(((PyObject *)__pyx_v_d));
5832 __pyx_v_d = __pyx_t_3;
5833 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
5835 /* "TabProxies.pyx":436
5836 * d = [ x.strip() for x in f.split(" ")]
5838 * n,v = d[0], d[1] # <<<<<<<<<<<<<<
5839 * if len(d) > 2: v = d[1:]
5842 __pyx_t_3 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_d), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5843 __Pyx_GOTREF(__pyx_t_3);
5844 __pyx_t_6 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_d), 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5845 __Pyx_GOTREF(__pyx_t_6);
5846 __Pyx_XDECREF(__pyx_v_n);
5847 __pyx_v_n = __pyx_t_3;
5849 __Pyx_XDECREF(__pyx_v_v);
5850 __pyx_v_v = __pyx_t_6;
5853 /* "TabProxies.pyx":437
5856 * if len(d) > 2: v = d[1:] # <<<<<<<<<<<<<<
5858 * if v[0] == '"' and v[-1] == '"':
5860 __pyx_t_7 = PyList_GET_SIZE(((PyObject *)__pyx_v_d));
5861 __pyx_t_9 = (__pyx_t_7 > 2);
5863 __pyx_t_6 = __Pyx_PySequence_GetSlice(((PyObject *)__pyx_v_d), 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5864 __Pyx_GOTREF(((PyObject *)__pyx_t_6));
5865 __Pyx_DECREF(__pyx_v_v);
5866 __pyx_v_v = ((PyObject *)__pyx_t_6);
5872 /* "TabProxies.pyx":439
5873 * if len(d) > 2: v = d[1:]
5875 * if v[0] == '"' and v[-1] == '"': # <<<<<<<<<<<<<<
5879 __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_v, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5880 __Pyx_GOTREF(__pyx_t_6);
5881 __pyx_t_9 = __Pyx_PyString_Equals(__pyx_t_6, ((PyObject *)__pyx_kp_s_36), Py_EQ); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5882 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5884 __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_v, -1, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5885 __Pyx_GOTREF(__pyx_t_6);
5886 __pyx_t_10 = __Pyx_PyString_Equals(__pyx_t_6, ((PyObject *)__pyx_kp_s_36), Py_EQ); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5887 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5888 __pyx_t_11 = __pyx_t_10;
5890 __pyx_t_11 = __pyx_t_9;
5894 /* "TabProxies.pyx":440
5896 * if v[0] == '"' and v[-1] == '"':
5897 * v = v[1:-1] # <<<<<<<<<<<<<<
5899 * ## try to convert to a value
5901 __pyx_t_6 = __Pyx_PySequence_GetSlice(__pyx_v_v, 1, -1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5902 __Pyx_GOTREF(__pyx_t_6);
5903 __Pyx_DECREF(__pyx_v_v);
5904 __pyx_v_v = __pyx_t_6;
5910 /* "TabProxies.pyx":443
5912 * ## try to convert to a value
5913 * try: # <<<<<<<<<<<<<<
5918 __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
5919 __Pyx_XGOTREF(__pyx_t_12);
5920 __Pyx_XGOTREF(__pyx_t_13);
5921 __Pyx_XGOTREF(__pyx_t_14);
5924 /* "TabProxies.pyx":444
5925 * ## try to convert to a value
5927 * v = float( v ) # <<<<<<<<<<<<<<
5929 * except ValueError:
5931 __pyx_t_15 = __Pyx_PyObject_AsDouble(__pyx_v_v); if (unlikely(__pyx_t_15 == ((double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L11_error;}
5932 __pyx_t_6 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L11_error;}
5933 __Pyx_GOTREF(__pyx_t_6);
5934 __Pyx_DECREF(__pyx_v_v);
5935 __pyx_v_v = __pyx_t_6;
5938 /* "TabProxies.pyx":445
5941 * v = int( v ) # <<<<<<<<<<<<<<
5942 * except ValueError:
5945 __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L11_error;}
5946 __Pyx_GOTREF(__pyx_t_6);
5947 __Pyx_INCREF(__pyx_v_v);
5948 PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_v);
5949 __Pyx_GIVEREF(__pyx_v_v);
5950 __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L11_error;}
5951 __Pyx_GOTREF(__pyx_t_3);
5952 __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
5953 __Pyx_DECREF(__pyx_v_v);
5954 __pyx_v_v = __pyx_t_3;
5957 __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
5958 __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
5959 __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
5960 goto __pyx_L18_try_end;
5962 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
5963 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
5964 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
5965 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
5967 /* "TabProxies.pyx":446
5970 * except ValueError: # <<<<<<<<<<<<<<
5974 __pyx_t_16 = PyErr_ExceptionMatches(__pyx_builtin_ValueError);
5976 PyErr_Restore(0,0,0);
5977 goto __pyx_L12_exception_handled;
5980 /* "TabProxies.pyx":448
5981 * except ValueError:
5983 * except TypeError: # <<<<<<<<<<<<<<
5987 __pyx_t_16 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
5989 PyErr_Restore(0,0,0);
5990 goto __pyx_L12_exception_handled;
5992 __Pyx_XGIVEREF(__pyx_t_12);
5993 __Pyx_XGIVEREF(__pyx_t_13);
5994 __Pyx_XGIVEREF(__pyx_t_14);
5995 __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
5996 goto __pyx_L1_error;
5997 __pyx_L12_exception_handled:;
5998 __Pyx_XGIVEREF(__pyx_t_12);
5999 __Pyx_XGIVEREF(__pyx_t_13);
6000 __Pyx_XGIVEREF(__pyx_t_14);
6001 __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
6007 /* "TabProxies.pyx":451
6010 * result[n] = v # <<<<<<<<<<<<<<
6014 if (PyDict_SetItem(((PyObject *)__pyx_v_result), __pyx_v_n, __pyx_v_v) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6016 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6018 /* "TabProxies.pyx":453
6021 * return result # <<<<<<<<<<<<<<
6023 * def fromDict( self, d ):
6025 __Pyx_XDECREF(__pyx_r);
6026 __Pyx_INCREF(((PyObject *)__pyx_v_result));
6027 __pyx_r = ((PyObject *)__pyx_v_result);
6030 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6033 __Pyx_XDECREF(__pyx_t_1);
6034 __Pyx_XDECREF(__pyx_t_2);
6035 __Pyx_XDECREF(__pyx_t_3);
6036 __Pyx_XDECREF(__pyx_t_6);
6037 __Pyx_XDECREF(__pyx_t_8);
6038 __Pyx_AddTraceback("TabProxies.GTFProxy.asDict", __pyx_clineno, __pyx_lineno, __pyx_filename);
6041 __Pyx_XDECREF(__pyx_v_attributes);
6042 __Pyx_XDECREF(__pyx_v_fields);
6043 __Pyx_XDECREF(__pyx_v_result);
6044 __Pyx_XDECREF(__pyx_v_f);
6045 __Pyx_XDECREF(__pyx_v_d);
6046 __Pyx_XDECREF(__pyx_v_n);
6047 __Pyx_XDECREF(__pyx_v_v);
6048 __Pyx_XDECREF(__pyx_v_x);
6049 __Pyx_XGIVEREF(__pyx_r);
6050 __Pyx_RefNannyFinishContext();
6054 /* Python wrapper */
6055 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_7fromDict(PyObject *__pyx_v_self, PyObject *__pyx_v_d); /*proto*/
6056 static char __pyx_doc_10TabProxies_8GTFProxy_6fromDict[] = "set attributes from a dictionary.";
6057 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_7fromDict(PyObject *__pyx_v_self, PyObject *__pyx_v_d) {
6058 PyObject *__pyx_r = 0;
6059 __Pyx_RefNannyDeclarations
6060 __Pyx_RefNannySetupContext("fromDict (wrapper)", 0);
6061 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_6fromDict(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_d));
6062 __Pyx_RefNannyFinishContext();
6066 /* "TabProxies.pyx":455
6069 * def fromDict( self, d ): # <<<<<<<<<<<<<<
6070 * '''set attributes from a dictionary.'''
6074 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_6fromDict(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_d) {
6077 PyObject *__pyx_v_aa = NULL;
6078 PyObject *__pyx_v_k = NULL;
6079 PyObject *__pyx_v_v = NULL;
6080 PyObject *__pyx_v_a = NULL;
6081 PyObject *__pyx_r = NULL;
6082 __Pyx_RefNannyDeclarations
6083 PyObject *__pyx_t_1 = NULL;
6084 PyObject *__pyx_t_2 = NULL;
6085 Py_ssize_t __pyx_t_3;
6086 PyObject *(*__pyx_t_4)(PyObject *);
6087 PyObject *__pyx_t_5 = NULL;
6088 PyObject *__pyx_t_6 = NULL;
6089 PyObject *__pyx_t_7 = NULL;
6090 PyObject *(*__pyx_t_8)(PyObject *);
6094 int __pyx_lineno = 0;
6095 const char *__pyx_filename = NULL;
6096 int __pyx_clineno = 0;
6097 __Pyx_RefNannySetupContext("fromDict", 0);
6099 /* "TabProxies.pyx":461
6101 * # clean up if this field is set twice
6102 * if self.hasOwnAttributes: # <<<<<<<<<<<<<<
6103 * free(self._attributes)
6106 if (__pyx_v_self->hasOwnAttributes) {
6108 /* "TabProxies.pyx":462
6109 * # clean up if this field is set twice
6110 * if self.hasOwnAttributes:
6111 * free(self._attributes) # <<<<<<<<<<<<<<
6115 free(__pyx_v_self->_attributes);
6120 /* "TabProxies.pyx":464
6121 * free(self._attributes)
6123 * aa = [] # <<<<<<<<<<<<<<
6124 * for k,v in d.items():
6125 * if type(v) in types.StringTypes:
6127 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6128 __Pyx_GOTREF(__pyx_t_1);
6129 __pyx_v_aa = __pyx_t_1;
6132 /* "TabProxies.pyx":465
6135 * for k,v in d.items(): # <<<<<<<<<<<<<<
6136 * if type(v) in types.StringTypes:
6137 * aa.append( '%s "%s"' % (k,v) )
6139 __pyx_t_1 = PyObject_GetAttr(__pyx_v_d, __pyx_n_s__items); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6140 __Pyx_GOTREF(__pyx_t_1);
6141 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6142 __Pyx_GOTREF(__pyx_t_2);
6143 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6144 if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
6145 __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
6148 __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6149 __Pyx_GOTREF(__pyx_t_1);
6150 __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext;
6152 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6154 if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_1)) {
6155 if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
6156 __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++;
6157 } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_1)) {
6158 if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
6159 __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++;
6161 __pyx_t_2 = __pyx_t_4(__pyx_t_1);
6162 if (unlikely(!__pyx_t_2)) {
6163 if (PyErr_Occurred()) {
6164 if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
6165 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6169 __Pyx_GOTREF(__pyx_t_2);
6171 if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
6172 PyObject* sequence = __pyx_t_2;
6173 if (likely(PyTuple_CheckExact(sequence))) {
6174 if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
6175 if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
6176 else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
6177 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6179 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
6180 __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
6182 if (unlikely(PyList_GET_SIZE(sequence) != 2)) {
6183 if (PyList_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
6184 else __Pyx_RaiseNeedMoreValuesError(PyList_GET_SIZE(sequence));
6185 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6187 __pyx_t_5 = PyList_GET_ITEM(sequence, 0);
6188 __pyx_t_6 = PyList_GET_ITEM(sequence, 1);
6190 __Pyx_INCREF(__pyx_t_5);
6191 __Pyx_INCREF(__pyx_t_6);
6192 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6194 Py_ssize_t index = -1;
6195 __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6196 __Pyx_GOTREF(__pyx_t_7);
6197 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6198 __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
6199 index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L6_unpacking_failed;
6200 __Pyx_GOTREF(__pyx_t_5);
6201 index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed;
6202 __Pyx_GOTREF(__pyx_t_6);
6203 if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6204 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6205 goto __pyx_L7_unpacking_done;
6206 __pyx_L6_unpacking_failed:;
6207 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6208 if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration)) PyErr_Clear();
6209 if (!PyErr_Occurred()) __Pyx_RaiseNeedMoreValuesError(index);
6210 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6211 __pyx_L7_unpacking_done:;
6213 __Pyx_XDECREF(__pyx_v_k);
6214 __pyx_v_k = __pyx_t_5;
6216 __Pyx_XDECREF(__pyx_v_v);
6217 __pyx_v_v = __pyx_t_6;
6220 /* "TabProxies.pyx":466
6222 * for k,v in d.items():
6223 * if type(v) in types.StringTypes: # <<<<<<<<<<<<<<
6224 * aa.append( '%s "%s"' % (k,v) )
6227 __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__types); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6228 __Pyx_GOTREF(__pyx_t_2);
6229 __pyx_t_6 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__StringTypes); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6230 __Pyx_GOTREF(__pyx_t_6);
6231 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6232 __pyx_t_9 = ((PySequence_Contains(__pyx_t_6, ((PyObject *)Py_TYPE(__pyx_v_v))))); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6233 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6236 /* "TabProxies.pyx":467
6237 * for k,v in d.items():
6238 * if type(v) in types.StringTypes:
6239 * aa.append( '%s "%s"' % (k,v) ) # <<<<<<<<<<<<<<
6241 * aa.append( '%s %s' % (k,str(v)) )
6243 __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6244 __Pyx_GOTREF(__pyx_t_6);
6245 __Pyx_INCREF(__pyx_v_k);
6246 PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_k);
6247 __Pyx_GIVEREF(__pyx_v_k);
6248 __Pyx_INCREF(__pyx_v_v);
6249 PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_v);
6250 __Pyx_GIVEREF(__pyx_v_v);
6251 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_37), ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6252 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
6253 __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
6254 __pyx_t_10 = PyList_Append(__pyx_v_aa, ((PyObject *)__pyx_t_2)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6255 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
6260 /* "TabProxies.pyx":469
6261 * aa.append( '%s "%s"' % (k,v) )
6263 * aa.append( '%s %s' % (k,str(v)) ) # <<<<<<<<<<<<<<
6265 * a = "; ".join( aa ) + ";"
6267 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6268 __Pyx_GOTREF(__pyx_t_2);
6269 __Pyx_INCREF(__pyx_v_v);
6270 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v);
6271 __Pyx_GIVEREF(__pyx_v_v);
6272 __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6273 __Pyx_GOTREF(__pyx_t_6);
6274 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
6275 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6276 __Pyx_GOTREF(__pyx_t_2);
6277 __Pyx_INCREF(__pyx_v_k);
6278 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_k);
6279 __Pyx_GIVEREF(__pyx_v_k);
6280 PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_6);
6281 __Pyx_GIVEREF(__pyx_t_6);
6283 __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_38), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6284 __Pyx_GOTREF(((PyObject *)__pyx_t_6));
6285 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
6286 __pyx_t_10 = PyList_Append(__pyx_v_aa, ((PyObject *)__pyx_t_6)); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6287 __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
6291 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6293 /* "TabProxies.pyx":471
6294 * aa.append( '%s %s' % (k,str(v)) )
6296 * a = "; ".join( aa ) + ";" # <<<<<<<<<<<<<<
6300 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_39), __pyx_n_s__join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6301 __Pyx_GOTREF(__pyx_t_1);
6302 __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6303 __Pyx_GOTREF(__pyx_t_6);
6304 __Pyx_INCREF(((PyObject *)__pyx_v_aa));
6305 PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_aa));
6306 __Pyx_GIVEREF(((PyObject *)__pyx_v_aa));
6307 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6308 __Pyx_GOTREF(__pyx_t_2);
6309 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6310 __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
6311 __pyx_t_6 = PyNumber_Add(__pyx_t_2, ((PyObject *)__pyx_kp_s_32)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6312 __Pyx_GOTREF(__pyx_t_6);
6313 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6314 __pyx_v_a = __pyx_t_6;
6317 /* "TabProxies.pyx":472
6319 * a = "; ".join( aa ) + ";"
6320 * p = a # <<<<<<<<<<<<<<
6322 * self._attributes = <char *>calloc( l + 1, sizeof(char) )
6324 __pyx_t_11 = PyBytes_AsString(__pyx_v_a); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6325 __pyx_v_p = __pyx_t_11;
6327 /* "TabProxies.pyx":473
6328 * a = "; ".join( aa ) + ";"
6330 * l = len(a) # <<<<<<<<<<<<<<
6331 * self._attributes = <char *>calloc( l + 1, sizeof(char) )
6332 * if self._attributes == NULL:
6334 __pyx_t_3 = PyObject_Length(__pyx_v_a); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6335 __pyx_v_l = __pyx_t_3;
6337 /* "TabProxies.pyx":474
6340 * self._attributes = <char *>calloc( l + 1, sizeof(char) ) # <<<<<<<<<<<<<<
6341 * if self._attributes == NULL:
6342 * raise ValueError("out of memory" )
6344 __pyx_v_self->_attributes = ((char *)calloc((__pyx_v_l + 1), (sizeof(char))));
6346 /* "TabProxies.pyx":475
6348 * self._attributes = <char *>calloc( l + 1, sizeof(char) )
6349 * if self._attributes == NULL: # <<<<<<<<<<<<<<
6350 * raise ValueError("out of memory" )
6351 * memcpy( self._attributes, p, l )
6353 __pyx_t_9 = (__pyx_v_self->_attributes == NULL);
6356 /* "TabProxies.pyx":476
6357 * self._attributes = <char *>calloc( l + 1, sizeof(char) )
6358 * if self._attributes == NULL:
6359 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
6360 * memcpy( self._attributes, p, l )
6363 __pyx_t_6 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_40), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6364 __Pyx_GOTREF(__pyx_t_6);
6365 __Pyx_Raise(__pyx_t_6, 0, 0, 0);
6366 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6367 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6372 /* "TabProxies.pyx":477
6373 * if self._attributes == NULL:
6374 * raise ValueError("out of memory" )
6375 * memcpy( self._attributes, p, l ) # <<<<<<<<<<<<<<
6377 * self.hasOwnAttributes = True
6379 memcpy(__pyx_v_self->_attributes, __pyx_v_p, __pyx_v_l);
6381 /* "TabProxies.pyx":479
6382 * memcpy( self._attributes, p, l )
6384 * self.hasOwnAttributes = True # <<<<<<<<<<<<<<
6385 * self.is_modified = True
6388 __pyx_v_self->hasOwnAttributes = 1;
6390 /* "TabProxies.pyx":480
6392 * self.hasOwnAttributes = True
6393 * self.is_modified = True # <<<<<<<<<<<<<<
6395 * def __str__(self):
6397 __pyx_v_self->__pyx_base.is_modified = 1;
6399 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6402 __Pyx_XDECREF(__pyx_t_1);
6403 __Pyx_XDECREF(__pyx_t_2);
6404 __Pyx_XDECREF(__pyx_t_5);
6405 __Pyx_XDECREF(__pyx_t_6);
6406 __Pyx_XDECREF(__pyx_t_7);
6407 __Pyx_AddTraceback("TabProxies.GTFProxy.fromDict", __pyx_clineno, __pyx_lineno, __pyx_filename);
6410 __Pyx_XDECREF(__pyx_v_aa);
6411 __Pyx_XDECREF(__pyx_v_k);
6412 __Pyx_XDECREF(__pyx_v_v);
6413 __Pyx_XDECREF(__pyx_v_a);
6414 __Pyx_XGIVEREF(__pyx_r);
6415 __Pyx_RefNannyFinishContext();
6419 /* Python wrapper */
6420 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_9__str__(PyObject *__pyx_v_self); /*proto*/
6421 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_9__str__(PyObject *__pyx_v_self) {
6422 PyObject *__pyx_r = 0;
6423 __Pyx_RefNannyDeclarations
6424 __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
6425 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_8__str__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
6426 __Pyx_RefNannyFinishContext();
6430 /* "TabProxies.pyx":482
6431 * self.is_modified = True
6433 * def __str__(self): # <<<<<<<<<<<<<<
6438 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_8__str__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
6439 PyObject *__pyx_r = NULL;
6440 __Pyx_RefNannyDeclarations
6441 PyObject *__pyx_t_1 = NULL;
6442 PyObject *__pyx_t_2 = NULL;
6443 PyObject *__pyx_t_3 = NULL;
6444 PyObject *__pyx_t_4 = NULL;
6445 PyObject *__pyx_t_5 = NULL;
6446 PyObject *__pyx_t_6 = NULL;
6447 PyObject *__pyx_t_7 = NULL;
6448 PyObject *__pyx_t_8 = NULL;
6449 PyObject *__pyx_t_9 = NULL;
6450 PyObject *__pyx_t_10 = NULL;
6451 PyObject *__pyx_t_11 = NULL;
6452 int __pyx_lineno = 0;
6453 const char *__pyx_filename = NULL;
6454 int __pyx_clineno = 0;
6455 __Pyx_RefNannySetupContext("__str__", 0);
6457 /* "TabProxies.pyx":486
6460 * if self.is_modified: # <<<<<<<<<<<<<<
6464 if (__pyx_v_self->__pyx_base.is_modified) {
6466 /* "TabProxies.pyx":487
6468 * if self.is_modified:
6469 * return "\t".join( # <<<<<<<<<<<<<<
6473 __Pyx_XDECREF(__pyx_r);
6474 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_18), __pyx_n_s__join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6475 __Pyx_GOTREF(__pyx_t_1);
6477 /* "TabProxies.pyx":488
6478 * if self.is_modified:
6480 * (self.contig, # <<<<<<<<<<<<<<
6484 __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__contig); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6485 __Pyx_GOTREF(__pyx_t_2);
6487 /* "TabProxies.pyx":489
6490 * self.source, # <<<<<<<<<<<<<<
6492 * str(self.start+1),
6494 __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__source); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6495 __Pyx_GOTREF(__pyx_t_3);
6497 /* "TabProxies.pyx":490
6500 * self.feature, # <<<<<<<<<<<<<<
6501 * str(self.start+1),
6504 __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__feature); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6505 __Pyx_GOTREF(__pyx_t_4);
6507 /* "TabProxies.pyx":491
6510 * str(self.start+1), # <<<<<<<<<<<<<<
6512 * toDot(self.score),
6514 __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__start); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6515 __Pyx_GOTREF(__pyx_t_5);
6516 __pyx_t_6 = PyNumber_Add(__pyx_t_5, __pyx_int_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6517 __Pyx_GOTREF(__pyx_t_6);
6518 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6519 __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6520 __Pyx_GOTREF(__pyx_t_5);
6521 PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
6522 __Pyx_GIVEREF(__pyx_t_6);
6524 __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6525 __Pyx_GOTREF(__pyx_t_6);
6526 __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
6528 /* "TabProxies.pyx":492
6530 * str(self.start+1),
6531 * str(self.end), # <<<<<<<<<<<<<<
6532 * toDot(self.score),
6535 __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__end); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6536 __Pyx_GOTREF(__pyx_t_5);
6537 __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6538 __Pyx_GOTREF(__pyx_t_7);
6539 PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
6540 __Pyx_GIVEREF(__pyx_t_5);
6542 __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6543 __Pyx_GOTREF(__pyx_t_5);
6544 __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
6546 /* "TabProxies.pyx":493
6547 * str(self.start+1),
6549 * toDot(self.score), # <<<<<<<<<<<<<<
6553 __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__toDot); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6554 __Pyx_GOTREF(__pyx_t_7);
6555 __pyx_t_8 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__score); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6556 __Pyx_GOTREF(__pyx_t_8);
6557 __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6558 __Pyx_GOTREF(__pyx_t_9);
6559 PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8);
6560 __Pyx_GIVEREF(__pyx_t_8);
6562 __pyx_t_8 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6563 __Pyx_GOTREF(__pyx_t_8);
6564 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
6565 __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
6567 /* "TabProxies.pyx":494
6569 * toDot(self.score),
6570 * self.strand, # <<<<<<<<<<<<<<
6572 * self.attributes ) )
6574 __pyx_t_9 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__strand); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6575 __Pyx_GOTREF(__pyx_t_9);
6577 /* "TabProxies.pyx":495
6578 * toDot(self.score),
6580 * self.frame, # <<<<<<<<<<<<<<
6581 * self.attributes ) )
6584 __pyx_t_7 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__frame); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6585 __Pyx_GOTREF(__pyx_t_7);
6587 /* "TabProxies.pyx":496
6590 * self.attributes ) ) # <<<<<<<<<<<<<<
6592 * return TupleProxy.__str__(self)
6594 __pyx_t_10 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__attributes); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6595 __Pyx_GOTREF(__pyx_t_10);
6596 __pyx_t_11 = PyTuple_New(9); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6597 __Pyx_GOTREF(__pyx_t_11);
6598 PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2);
6599 __Pyx_GIVEREF(__pyx_t_2);
6600 PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_3);
6601 __Pyx_GIVEREF(__pyx_t_3);
6602 PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_4);
6603 __Pyx_GIVEREF(__pyx_t_4);
6604 PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_6);
6605 __Pyx_GIVEREF(__pyx_t_6);
6606 PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_t_5);
6607 __Pyx_GIVEREF(__pyx_t_5);
6608 PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_8);
6609 __Pyx_GIVEREF(__pyx_t_8);
6610 PyTuple_SET_ITEM(__pyx_t_11, 6, __pyx_t_9);
6611 __Pyx_GIVEREF(__pyx_t_9);
6612 PyTuple_SET_ITEM(__pyx_t_11, 7, __pyx_t_7);
6613 __Pyx_GIVEREF(__pyx_t_7);
6614 PyTuple_SET_ITEM(__pyx_t_11, 8, __pyx_t_10);
6615 __Pyx_GIVEREF(__pyx_t_10);
6625 __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6626 __Pyx_GOTREF(__pyx_t_10);
6627 PyTuple_SET_ITEM(__pyx_t_10, 0, ((PyObject *)__pyx_t_11));
6628 __Pyx_GIVEREF(((PyObject *)__pyx_t_11));
6630 __pyx_t_11 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_10), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 487; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6631 __Pyx_GOTREF(__pyx_t_11);
6632 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6633 __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
6634 __pyx_r = __pyx_t_11;
6641 /* "TabProxies.pyx":498
6642 * self.attributes ) )
6644 * return TupleProxy.__str__(self) # <<<<<<<<<<<<<<
6646 * def invert( self, int lcontig ):
6648 __Pyx_XDECREF(__pyx_r);
6649 __pyx_t_11 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s____str__); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6650 __Pyx_GOTREF(__pyx_t_11);
6651 __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6652 __Pyx_GOTREF(__pyx_t_10);
6653 __Pyx_INCREF(((PyObject *)__pyx_v_self));
6654 PyTuple_SET_ITEM(__pyx_t_10, 0, ((PyObject *)__pyx_v_self));
6655 __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
6656 __pyx_t_1 = PyObject_Call(__pyx_t_11, ((PyObject *)__pyx_t_10), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6657 __Pyx_GOTREF(__pyx_t_1);
6658 __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
6659 __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
6660 __pyx_r = __pyx_t_1;
6666 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6669 __Pyx_XDECREF(__pyx_t_1);
6670 __Pyx_XDECREF(__pyx_t_2);
6671 __Pyx_XDECREF(__pyx_t_3);
6672 __Pyx_XDECREF(__pyx_t_4);
6673 __Pyx_XDECREF(__pyx_t_5);
6674 __Pyx_XDECREF(__pyx_t_6);
6675 __Pyx_XDECREF(__pyx_t_7);
6676 __Pyx_XDECREF(__pyx_t_8);
6677 __Pyx_XDECREF(__pyx_t_9);
6678 __Pyx_XDECREF(__pyx_t_10);
6679 __Pyx_XDECREF(__pyx_t_11);
6680 __Pyx_AddTraceback("TabProxies.GTFProxy.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6683 __Pyx_XGIVEREF(__pyx_r);
6684 __Pyx_RefNannyFinishContext();
6688 /* Python wrapper */
6689 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_11invert(PyObject *__pyx_v_self, PyObject *__pyx_arg_lcontig); /*proto*/
6690 static char __pyx_doc_10TabProxies_8GTFProxy_10invert[] = "invert coordinates to negative strand coordinates\n \n This method will only act if the feature is on the\n negative strand.";
6691 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_11invert(PyObject *__pyx_v_self, PyObject *__pyx_arg_lcontig) {
6692 int __pyx_v_lcontig;
6693 PyObject *__pyx_r = 0;
6694 __Pyx_RefNannyDeclarations
6695 __Pyx_RefNannySetupContext("invert (wrapper)", 0);
6696 assert(__pyx_arg_lcontig); {
6697 __pyx_v_lcontig = __Pyx_PyInt_AsInt(__pyx_arg_lcontig); if (unlikely((__pyx_v_lcontig == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
6699 goto __pyx_L4_argument_unpacking_done;
6701 __Pyx_AddTraceback("TabProxies.GTFProxy.invert", __pyx_clineno, __pyx_lineno, __pyx_filename);
6702 __Pyx_RefNannyFinishContext();
6704 __pyx_L4_argument_unpacking_done:;
6705 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_10invert(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((int)__pyx_v_lcontig));
6706 __Pyx_RefNannyFinishContext();
6710 /* "TabProxies.pyx":500
6711 * return TupleProxy.__str__(self)
6713 * def invert( self, int lcontig ): # <<<<<<<<<<<<<<
6714 * '''invert coordinates to negative strand coordinates
6718 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_10invert(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, int __pyx_v_lcontig) {
6719 PyObject *__pyx_v_start = NULL;
6720 PyObject *__pyx_v_end = NULL;
6721 PyObject *__pyx_r = NULL;
6722 __Pyx_RefNannyDeclarations
6723 PyObject *__pyx_t_1 = NULL;
6724 PyObject *__pyx_t_2 = NULL;
6726 PyObject *__pyx_t_4 = NULL;
6727 PyObject *__pyx_t_5 = NULL;
6728 int __pyx_lineno = 0;
6729 const char *__pyx_filename = NULL;
6730 int __pyx_clineno = 0;
6731 __Pyx_RefNannySetupContext("invert", 0);
6733 /* "TabProxies.pyx":506
6734 * negative strand.'''
6736 * if self.strand[0] == '-': # <<<<<<<<<<<<<<
6737 * start = min(self.start, self.end)
6738 * end = max(self.start, self.end)
6740 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__strand); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6741 __Pyx_GOTREF(__pyx_t_1);
6742 __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6743 __Pyx_GOTREF(__pyx_t_2);
6744 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6745 __pyx_t_3 = __Pyx_PyString_Equals(__pyx_t_2, ((PyObject *)__pyx_kp_s_41), Py_EQ); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6746 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6749 /* "TabProxies.pyx":507
6751 * if self.strand[0] == '-':
6752 * start = min(self.start, self.end) # <<<<<<<<<<<<<<
6753 * end = max(self.start, self.end)
6754 * self.start, self.end = lcontig - end, lcontig - start
6756 __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__end); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6757 __Pyx_GOTREF(__pyx_t_2);
6758 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__start); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6759 __Pyx_GOTREF(__pyx_t_1);
6760 __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6761 __Pyx_GOTREF(__pyx_t_5);
6762 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6763 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6765 __Pyx_INCREF(__pyx_t_2);
6766 __pyx_t_4 = __pyx_t_2;
6768 __Pyx_INCREF(__pyx_t_1);
6769 __pyx_t_4 = __pyx_t_1;
6771 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6772 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6773 __Pyx_INCREF(__pyx_t_4);
6774 __pyx_v_start = __pyx_t_4;
6775 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6777 /* "TabProxies.pyx":508
6778 * if self.strand[0] == '-':
6779 * start = min(self.start, self.end)
6780 * end = max(self.start, self.end) # <<<<<<<<<<<<<<
6781 * self.start, self.end = lcontig - end, lcontig - start
6784 __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__end); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6785 __Pyx_GOTREF(__pyx_t_4);
6786 __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__start); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6787 __Pyx_GOTREF(__pyx_t_2);
6788 __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_GT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6789 __Pyx_GOTREF(__pyx_t_5);
6790 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6791 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
6793 __Pyx_INCREF(__pyx_t_4);
6794 __pyx_t_1 = __pyx_t_4;
6796 __Pyx_INCREF(__pyx_t_2);
6797 __pyx_t_1 = __pyx_t_2;
6799 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6800 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6801 __Pyx_INCREF(__pyx_t_1);
6802 __pyx_v_end = __pyx_t_1;
6803 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6805 /* "TabProxies.pyx":509
6806 * start = min(self.start, self.end)
6807 * end = max(self.start, self.end)
6808 * self.start, self.end = lcontig - end, lcontig - start # <<<<<<<<<<<<<<
6812 __pyx_t_1 = PyInt_FromLong(__pyx_v_lcontig); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6813 __Pyx_GOTREF(__pyx_t_1);
6814 __pyx_t_4 = PyNumber_Subtract(__pyx_t_1, __pyx_v_end); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6815 __Pyx_GOTREF(__pyx_t_4);
6816 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6817 __pyx_t_1 = PyInt_FromLong(__pyx_v_lcontig); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6818 __Pyx_GOTREF(__pyx_t_1);
6819 __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_start); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6820 __Pyx_GOTREF(__pyx_t_2);
6821 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6822 if (PyObject_SetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__start, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6823 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6824 if (PyObject_SetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__end, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6825 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6830 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6833 __Pyx_XDECREF(__pyx_t_1);
6834 __Pyx_XDECREF(__pyx_t_2);
6835 __Pyx_XDECREF(__pyx_t_4);
6836 __Pyx_XDECREF(__pyx_t_5);
6837 __Pyx_AddTraceback("TabProxies.GTFProxy.invert", __pyx_clineno, __pyx_lineno, __pyx_filename);
6840 __Pyx_XDECREF(__pyx_v_start);
6841 __Pyx_XDECREF(__pyx_v_end);
6842 __Pyx_XGIVEREF(__pyx_r);
6843 __Pyx_RefNannyFinishContext();
6847 /* Python wrapper */
6848 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_13keys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
6849 static char __pyx_doc_10TabProxies_8GTFProxy_12keys[] = "return a list of attributes defined in this entry.";
6850 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_13keys(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
6851 PyObject *__pyx_r = 0;
6852 __Pyx_RefNannyDeclarations
6853 __Pyx_RefNannySetupContext("keys (wrapper)", 0);
6854 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_12keys(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self));
6855 __Pyx_RefNannyFinishContext();
6859 /* "TabProxies.pyx":511
6860 * self.start, self.end = lcontig - end, lcontig - start
6862 * def keys( self ): # <<<<<<<<<<<<<<
6863 * '''return a list of attributes defined in this entry.'''
6864 * r = self.attributes
6867 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_12keys(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self) {
6868 PyObject *__pyx_v_r = NULL;
6869 PyObject *__pyx_v_x = NULL;
6870 PyObject *__pyx_r = NULL;
6871 __Pyx_RefNannyDeclarations
6872 PyObject *__pyx_t_1 = NULL;
6873 PyObject *__pyx_t_2 = NULL;
6874 PyObject *__pyx_t_3 = NULL;
6875 Py_ssize_t __pyx_t_4;
6876 PyObject *(*__pyx_t_5)(PyObject *);
6877 PyObject *__pyx_t_6 = NULL;
6879 int __pyx_lineno = 0;
6880 const char *__pyx_filename = NULL;
6881 int __pyx_clineno = 0;
6882 __Pyx_RefNannySetupContext("keys", 0);
6884 /* "TabProxies.pyx":513
6886 * '''return a list of attributes defined in this entry.'''
6887 * r = self.attributes # <<<<<<<<<<<<<<
6888 * return [ x.strip().split(" ")[0] for x in r.split(";") if x.strip() != '' ]
6891 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__attributes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6892 __Pyx_GOTREF(__pyx_t_1);
6893 __pyx_v_r = __pyx_t_1;
6896 /* "TabProxies.pyx":514
6897 * '''return a list of attributes defined in this entry.'''
6898 * r = self.attributes
6899 * return [ x.strip().split(" ")[0] for x in r.split(";") if x.strip() != '' ] # <<<<<<<<<<<<<<
6901 * def __getitem__(self, key):
6903 __Pyx_XDECREF(__pyx_r);
6904 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6905 __Pyx_GOTREF(__pyx_t_1);
6906 __pyx_t_2 = PyObject_GetAttr(__pyx_v_r, __pyx_n_s__split); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6907 __Pyx_GOTREF(__pyx_t_2);
6908 __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_42), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6909 __Pyx_GOTREF(__pyx_t_3);
6910 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6911 if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) {
6912 __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
6915 __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6916 __Pyx_GOTREF(__pyx_t_2);
6917 __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext;
6919 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6921 if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_2)) {
6922 if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
6923 __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++;
6924 } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_2)) {
6925 if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
6926 __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++;
6928 __pyx_t_3 = __pyx_t_5(__pyx_t_2);
6929 if (unlikely(!__pyx_t_3)) {
6930 if (PyErr_Occurred()) {
6931 if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
6932 else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6936 __Pyx_GOTREF(__pyx_t_3);
6938 __Pyx_XDECREF(__pyx_v_x);
6939 __pyx_v_x = __pyx_t_3;
6941 __pyx_t_3 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6942 __Pyx_GOTREF(__pyx_t_3);
6943 __pyx_t_6 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6944 __Pyx_GOTREF(__pyx_t_6);
6945 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6946 __pyx_t_7 = __Pyx_PyString_Equals(__pyx_t_6, ((PyObject *)__pyx_kp_s_6), Py_NE); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6947 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6949 __pyx_t_6 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6950 __Pyx_GOTREF(__pyx_t_6);
6951 __pyx_t_3 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6952 __Pyx_GOTREF(__pyx_t_3);
6953 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6954 __pyx_t_6 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__split); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6955 __Pyx_GOTREF(__pyx_t_6);
6956 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6957 __pyx_t_3 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_43), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6958 __Pyx_GOTREF(__pyx_t_3);
6959 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6960 __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_3, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6961 __Pyx_GOTREF(__pyx_t_6);
6962 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6963 if (unlikely(PyList_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6964 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6969 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6970 __Pyx_INCREF(((PyObject *)__pyx_t_1));
6971 __pyx_r = ((PyObject *)__pyx_t_1);
6972 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
6975 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
6978 __Pyx_XDECREF(__pyx_t_1);
6979 __Pyx_XDECREF(__pyx_t_2);
6980 __Pyx_XDECREF(__pyx_t_3);
6981 __Pyx_XDECREF(__pyx_t_6);
6982 __Pyx_AddTraceback("TabProxies.GTFProxy.keys", __pyx_clineno, __pyx_lineno, __pyx_filename);
6985 __Pyx_XDECREF(__pyx_v_r);
6986 __Pyx_XDECREF(__pyx_v_x);
6987 __Pyx_XGIVEREF(__pyx_r);
6988 __Pyx_RefNannyFinishContext();
6992 /* Python wrapper */
6993 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
6994 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_15__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
6995 PyObject *__pyx_r = 0;
6996 __Pyx_RefNannyDeclarations
6997 __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
6998 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_14__getitem__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key));
6999 __Pyx_RefNannyFinishContext();
7003 /* "TabProxies.pyx":516
7004 * return [ x.strip().split(" ")[0] for x in r.split(";") if x.strip() != '' ]
7006 * def __getitem__(self, key): # <<<<<<<<<<<<<<
7007 * return self.__getattr__( key )
7011 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_14__getitem__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key) {
7012 PyObject *__pyx_r = NULL;
7013 __Pyx_RefNannyDeclarations
7014 PyObject *__pyx_t_1 = NULL;
7015 PyObject *__pyx_t_2 = NULL;
7016 PyObject *__pyx_t_3 = NULL;
7017 int __pyx_lineno = 0;
7018 const char *__pyx_filename = NULL;
7019 int __pyx_clineno = 0;
7020 __Pyx_RefNannySetupContext("__getitem__", 0);
7022 /* "TabProxies.pyx":517
7024 * def __getitem__(self, key):
7025 * return self.__getattr__( key ) # <<<<<<<<<<<<<<
7027 * def __getattr__(self, item ):
7029 __Pyx_XDECREF(__pyx_r);
7030 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s____getattr__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7031 __Pyx_GOTREF(__pyx_t_1);
7032 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7033 __Pyx_GOTREF(__pyx_t_2);
7034 __Pyx_INCREF(__pyx_v_key);
7035 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_key);
7036 __Pyx_GIVEREF(__pyx_v_key);
7037 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7038 __Pyx_GOTREF(__pyx_t_3);
7039 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7040 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
7041 __pyx_r = __pyx_t_3;
7045 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7048 __Pyx_XDECREF(__pyx_t_1);
7049 __Pyx_XDECREF(__pyx_t_2);
7050 __Pyx_XDECREF(__pyx_t_3);
7051 __Pyx_AddTraceback("TabProxies.GTFProxy.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7054 __Pyx_XGIVEREF(__pyx_r);
7055 __Pyx_RefNannyFinishContext();
7059 /* Python wrapper */
7060 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_17__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/
7061 static char __pyx_doc_10TabProxies_8GTFProxy_16__getattr__[] = "Generic lookup of attribute from GFF/GTF attributes \n Only called if there *isn't* an attribute with this name\n ";
7062 struct wrapperbase __pyx_wrapperbase_10TabProxies_8GTFProxy_16__getattr__;
7063 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_17__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {
7064 PyObject *__pyx_r = 0;
7065 __Pyx_RefNannyDeclarations
7066 __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0);
7067 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_16__getattr__(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_item));
7068 __Pyx_RefNannyFinishContext();
7072 /* "TabProxies.pyx":519
7073 * return self.__getattr__( key )
7075 * def __getattr__(self, item ): # <<<<<<<<<<<<<<
7076 * """Generic lookup of attribute from GFF/GTF attributes
7077 * Only called if there *isn't* an attribute with this name
7080 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_16__getattr__(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_item) {
7081 char *__pyx_v_start;
7082 char *__pyx_v_query;
7085 char *__pyx_v_attributes;
7086 PyObject *__pyx_v_r = NULL;
7087 PyObject *__pyx_v_result = NULL;
7088 PyObject *__pyx_r = NULL;
7089 __Pyx_RefNannyDeclarations
7090 PyObject *__pyx_t_1 = NULL;
7093 PyObject *__pyx_t_4 = NULL;
7096 int __pyx_lineno = 0;
7097 const char *__pyx_filename = NULL;
7098 int __pyx_clineno = 0;
7099 __Pyx_RefNannySetupContext("__getattr__", 0);
7101 /* "TabProxies.pyx":542
7102 * # disappeard after accessing the C data structures
7103 * # directly and so did the bug.
7104 * cdef char * attributes = self.getAttributes() # <<<<<<<<<<<<<<
7106 * r = _force_bytes(item)
7108 __pyx_v_attributes = ((struct __pyx_vtabstruct_10TabProxies_GTFProxy *)__pyx_v_self->__pyx_base.__pyx_vtab)->getAttributes(__pyx_v_self);
7110 /* "TabProxies.pyx":544
7111 * cdef char * attributes = self.getAttributes()
7113 * r = _force_bytes(item) # <<<<<<<<<<<<<<
7115 * start = strstr( attributes, query)
7117 __pyx_t_1 = ((PyObject *)__pyx_f_10TabProxies__force_bytes(__pyx_v_item)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7118 __Pyx_GOTREF(__pyx_t_1);
7119 __pyx_v_r = ((PyObject*)__pyx_t_1);
7122 /* "TabProxies.pyx":545
7124 * r = _force_bytes(item)
7125 * query = r # <<<<<<<<<<<<<<
7126 * start = strstr( attributes, query)
7129 __pyx_t_2 = PyBytes_AsString(((PyObject *)__pyx_v_r)); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7130 __pyx_v_query = __pyx_t_2;
7132 /* "TabProxies.pyx":546
7133 * r = _force_bytes(item)
7135 * start = strstr( attributes, query) # <<<<<<<<<<<<<<
7139 __pyx_v_start = strstr(__pyx_v_attributes, __pyx_v_query);
7141 /* "TabProxies.pyx":548
7142 * start = strstr( attributes, query)
7144 * if start == NULL: # <<<<<<<<<<<<<<
7145 * raise AttributeError("'GTFProxy' has no attribute '%s'" % item )
7148 __pyx_t_3 = (__pyx_v_start == NULL);
7151 /* "TabProxies.pyx":549
7154 * raise AttributeError("'GTFProxy' has no attribute '%s'" % item ) # <<<<<<<<<<<<<<
7156 * start += strlen(query) + 1
7158 __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_44), __pyx_v_item); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7159 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
7160 __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7161 __Pyx_GOTREF(__pyx_t_4);
7162 PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_1));
7163 __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
7165 __pyx_t_1 = PyObject_Call(__pyx_builtin_AttributeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7166 __Pyx_GOTREF(__pyx_t_1);
7167 __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
7168 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
7169 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7170 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7175 /* "TabProxies.pyx":551
7176 * raise AttributeError("'GTFProxy' has no attribute '%s'" % item )
7178 * start += strlen(query) + 1 # <<<<<<<<<<<<<<
7179 * # skip gaps before
7180 * while start[0] == ' ': start += 1
7182 __pyx_v_start = (__pyx_v_start + (strlen(__pyx_v_query) + 1));
7184 /* "TabProxies.pyx":553
7185 * start += strlen(query) + 1
7186 * # skip gaps before
7187 * while start[0] == ' ': start += 1 # <<<<<<<<<<<<<<
7189 * if start[0] == '"':
7192 __pyx_t_3 = ((__pyx_v_start[0]) == ' ');
7193 if (!__pyx_t_3) break;
7194 __pyx_v_start = (__pyx_v_start + 1);
7197 /* "TabProxies.pyx":555
7198 * while start[0] == ' ': start += 1
7200 * if start[0] == '"': # <<<<<<<<<<<<<<
7204 __pyx_t_3 = ((__pyx_v_start[0]) == '"');
7207 /* "TabProxies.pyx":556
7209 * if start[0] == '"':
7210 * start += 1 # <<<<<<<<<<<<<<
7212 * while end[0] != '\0' and end[0] != '"': end += 1
7214 __pyx_v_start = (__pyx_v_start + 1);
7216 /* "TabProxies.pyx":557
7217 * if start[0] == '"':
7219 * end = start # <<<<<<<<<<<<<<
7220 * while end[0] != '\0' and end[0] != '"': end += 1
7223 __pyx_v_end = __pyx_v_start;
7225 /* "TabProxies.pyx":558
7228 * while end[0] != '\0' and end[0] != '"': end += 1 # <<<<<<<<<<<<<<
7230 * result = _force_str( PyBytes_FromStringAndSize( start, l ) )
7233 __pyx_t_3 = ((__pyx_v_end[0]) != '\x00');
7235 __pyx_t_5 = ((__pyx_v_end[0]) != '"');
7236 __pyx_t_6 = __pyx_t_5;
7238 __pyx_t_6 = __pyx_t_3;
7240 if (!__pyx_t_6) break;
7241 __pyx_v_end = (__pyx_v_end + 1);
7244 /* "TabProxies.pyx":559
7246 * while end[0] != '\0' and end[0] != '"': end += 1
7247 * l = end - start # <<<<<<<<<<<<<<
7248 * result = _force_str( PyBytes_FromStringAndSize( start, l ) )
7251 __pyx_v_l = (__pyx_v_end - __pyx_v_start);
7253 /* "TabProxies.pyx":560
7254 * while end[0] != '\0' and end[0] != '"': end += 1
7256 * result = _force_str( PyBytes_FromStringAndSize( start, l ) ) # <<<<<<<<<<<<<<
7260 __pyx_t_1 = ((PyObject *)PyBytes_FromStringAndSize(__pyx_v_start, __pyx_v_l)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7261 __Pyx_GOTREF(__pyx_t_1);
7262 __pyx_t_4 = __pyx_f_10TabProxies__force_str(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7263 __Pyx_GOTREF(__pyx_t_4);
7264 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7265 __pyx_v_result = __pyx_t_4;
7268 /* "TabProxies.pyx":561
7270 * result = _force_str( PyBytes_FromStringAndSize( start, l ) )
7271 * return result # <<<<<<<<<<<<<<
7273 * return _force_str( start )
7275 __Pyx_XDECREF(__pyx_r);
7276 __Pyx_INCREF(__pyx_v_result);
7277 __pyx_r = __pyx_v_result;
7283 /* "TabProxies.pyx":563
7286 * return _force_str( start ) # <<<<<<<<<<<<<<
7288 * def setAttribute( self, name, value ):
7290 __Pyx_XDECREF(__pyx_r);
7291 __pyx_t_4 = PyBytes_FromString(__pyx_v_start); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7292 __Pyx_GOTREF(((PyObject *)__pyx_t_4));
7293 __pyx_t_1 = __pyx_f_10TabProxies__force_str(((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7294 __Pyx_GOTREF(__pyx_t_1);
7295 __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
7296 __pyx_r = __pyx_t_1;
7302 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7305 __Pyx_XDECREF(__pyx_t_1);
7306 __Pyx_XDECREF(__pyx_t_4);
7307 __Pyx_AddTraceback("TabProxies.GTFProxy.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7310 __Pyx_XDECREF(__pyx_v_r);
7311 __Pyx_XDECREF(__pyx_v_result);
7312 __Pyx_XGIVEREF(__pyx_r);
7313 __Pyx_RefNannyFinishContext();
7317 /* Python wrapper */
7318 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_19setAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
7319 static char __pyx_doc_10TabProxies_8GTFProxy_18setAttribute[] = "convenience method to set an attribute.";
7320 static PyObject *__pyx_pw_10TabProxies_8GTFProxy_19setAttribute(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
7321 PyObject *__pyx_v_name = 0;
7322 PyObject *__pyx_v_value = 0;
7323 static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__value,0};
7324 PyObject *__pyx_r = 0;
7325 __Pyx_RefNannyDeclarations
7326 __Pyx_RefNannySetupContext("setAttribute (wrapper)", 0);
7328 PyObject* values[2] = {0,0};
7329 if (unlikely(__pyx_kwds)) {
7331 const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
7333 case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
7334 case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
7336 default: goto __pyx_L5_argtuple_error;
7338 kw_args = PyDict_Size(__pyx_kwds);
7341 values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
7342 if (likely(values[0])) kw_args--;
7343 else goto __pyx_L5_argtuple_error;
7345 values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value);
7346 if (likely(values[1])) kw_args--;
7348 __Pyx_RaiseArgtupleInvalid("setAttribute", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
7351 if (unlikely(kw_args > 0)) {
7352 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setAttribute") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
7354 } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
7355 goto __pyx_L5_argtuple_error;
7357 values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
7358 values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
7360 __pyx_v_name = values[0];
7361 __pyx_v_value = values[1];
7363 goto __pyx_L4_argument_unpacking_done;
7364 __pyx_L5_argtuple_error:;
7365 __Pyx_RaiseArgtupleInvalid("setAttribute", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
7367 __Pyx_AddTraceback("TabProxies.GTFProxy.setAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
7368 __Pyx_RefNannyFinishContext();
7370 __pyx_L4_argument_unpacking_done:;
7371 __pyx_r = __pyx_pf_10TabProxies_8GTFProxy_18setAttribute(((struct __pyx_obj_10TabProxies_GTFProxy *)__pyx_v_self), __pyx_v_name, __pyx_v_value);
7372 __Pyx_RefNannyFinishContext();
7376 /* "TabProxies.pyx":565
7377 * return _force_str( start )
7379 * def setAttribute( self, name, value ): # <<<<<<<<<<<<<<
7380 * '''convenience method to set an attribute.'''
7384 static PyObject *__pyx_pf_10TabProxies_8GTFProxy_18setAttribute(struct __pyx_obj_10TabProxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
7385 PyObject *__pyx_v_r = NULL;
7386 PyObject *__pyx_r = NULL;
7387 __Pyx_RefNannyDeclarations
7388 PyObject *__pyx_t_1 = NULL;
7389 PyObject *__pyx_t_2 = NULL;
7390 PyObject *__pyx_t_3 = NULL;
7391 int __pyx_lineno = 0;
7392 const char *__pyx_filename = NULL;
7393 int __pyx_clineno = 0;
7394 __Pyx_RefNannySetupContext("setAttribute", 0);
7396 /* "TabProxies.pyx":567
7397 * def setAttribute( self, name, value ):
7398 * '''convenience method to set an attribute.'''
7399 * r = self.asDict() # <<<<<<<<<<<<<<
7401 * self.fromDict( r )
7403 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__asDict); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7404 __Pyx_GOTREF(__pyx_t_1);
7405 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7406 __Pyx_GOTREF(__pyx_t_2);
7407 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7408 __pyx_v_r = __pyx_t_2;
7411 /* "TabProxies.pyx":568
7412 * '''convenience method to set an attribute.'''
7414 * r[name] = value # <<<<<<<<<<<<<<
7415 * self.fromDict( r )
7418 if (PyObject_SetItem(__pyx_v_r, __pyx_v_name, __pyx_v_value) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7420 /* "TabProxies.pyx":569
7423 * self.fromDict( r ) # <<<<<<<<<<<<<<
7425 * cdef class NamedTupleProxy( TupleProxy ):
7427 __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__fromDict); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7428 __Pyx_GOTREF(__pyx_t_2);
7429 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7430 __Pyx_GOTREF(__pyx_t_1);
7431 __Pyx_INCREF(__pyx_v_r);
7432 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_r);
7433 __Pyx_GIVEREF(__pyx_v_r);
7434 __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7435 __Pyx_GOTREF(__pyx_t_3);
7436 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7437 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
7438 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
7440 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7443 __Pyx_XDECREF(__pyx_t_1);
7444 __Pyx_XDECREF(__pyx_t_2);
7445 __Pyx_XDECREF(__pyx_t_3);
7446 __Pyx_AddTraceback("TabProxies.GTFProxy.setAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
7449 __Pyx_XDECREF(__pyx_v_r);
7450 __Pyx_XGIVEREF(__pyx_r);
7451 __Pyx_RefNannyFinishContext();
7455 /* Python wrapper */
7456 static int __pyx_pw_10TabProxies_15NamedTupleProxy_1__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
7457 static char __pyx_doc_10TabProxies_15NamedTupleProxy___setattr__[] = "set attribute.";
7458 struct wrapperbase __pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__;
7459 static int __pyx_pw_10TabProxies_15NamedTupleProxy_1__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
7461 __Pyx_RefNannyDeclarations
7462 __Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
7463 __pyx_r = __pyx_pf_10TabProxies_15NamedTupleProxy___setattr__(((struct __pyx_obj_10TabProxies_NamedTupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
7464 __Pyx_RefNannyFinishContext();
7468 /* "TabProxies.pyx":575
7469 * map_key2field = {}
7471 * def __setattr__(self, key, value ): # <<<<<<<<<<<<<<
7472 * '''set attribute.'''
7476 static int __pyx_pf_10TabProxies_15NamedTupleProxy___setattr__(struct __pyx_obj_10TabProxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
7478 CYTHON_UNUSED PyObject *__pyx_v_f = NULL;
7480 __Pyx_RefNannyDeclarations
7481 PyObject *__pyx_t_1 = NULL;
7482 PyObject *__pyx_t_2 = NULL;
7483 PyObject *__pyx_t_3 = NULL;
7484 PyObject *__pyx_t_4 = NULL;
7485 PyObject *(*__pyx_t_5)(PyObject *);
7488 int __pyx_lineno = 0;
7489 const char *__pyx_filename = NULL;
7490 int __pyx_clineno = 0;
7491 __Pyx_RefNannySetupContext("__setattr__", 0);
7493 /* "TabProxies.pyx":578
7494 * '''set attribute.'''
7496 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
7497 * if self.nfields < idx:
7498 * raise KeyError( "field %s not set" % key )
7500 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7501 __Pyx_GOTREF(__pyx_t_1);
7502 __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7503 __Pyx_GOTREF(__pyx_t_2);
7504 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7505 if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
7506 PyObject* sequence = __pyx_t_2;
7507 if (likely(PyTuple_CheckExact(sequence))) {
7508 if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
7509 if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
7510 else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
7511 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7513 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
7514 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
7516 if (unlikely(PyList_GET_SIZE(sequence) != 2)) {
7517 if (PyList_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
7518 else __Pyx_RaiseNeedMoreValuesError(PyList_GET_SIZE(sequence));
7519 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7521 __pyx_t_1 = PyList_GET_ITEM(sequence, 0);
7522 __pyx_t_3 = PyList_GET_ITEM(sequence, 1);
7524 __Pyx_INCREF(__pyx_t_1);
7525 __Pyx_INCREF(__pyx_t_3);
7526 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7528 Py_ssize_t index = -1;
7529 __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7530 __Pyx_GOTREF(__pyx_t_4);
7531 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7532 __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
7533 index = 0; __pyx_t_1 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
7534 __Pyx_GOTREF(__pyx_t_1);
7535 index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
7536 __Pyx_GOTREF(__pyx_t_3);
7537 if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7538 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7539 goto __pyx_L4_unpacking_done;
7540 __pyx_L3_unpacking_failed:;
7541 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7542 if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration)) PyErr_Clear();
7543 if (!PyErr_Occurred()) __Pyx_RaiseNeedMoreValuesError(index);
7544 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7545 __pyx_L4_unpacking_done:;
7547 __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7548 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7549 __pyx_v_idx = __pyx_t_6;
7550 __pyx_v_f = __pyx_t_3;
7553 /* "TabProxies.pyx":579
7555 * idx, f = self.map_key2field[key]
7556 * if self.nfields < idx: # <<<<<<<<<<<<<<
7557 * raise KeyError( "field %s not set" % key )
7558 * TupleProxy.__setitem__(self, idx, str(value) )
7560 __pyx_t_7 = (__pyx_v_self->__pyx_base.nfields < __pyx_v_idx);
7563 /* "TabProxies.pyx":580
7564 * idx, f = self.map_key2field[key]
7565 * if self.nfields < idx:
7566 * raise KeyError( "field %s not set" % key ) # <<<<<<<<<<<<<<
7567 * TupleProxy.__setitem__(self, idx, str(value) )
7570 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_45), __pyx_v_key); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7571 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
7572 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7573 __Pyx_GOTREF(__pyx_t_3);
7574 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
7575 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
7577 __pyx_t_2 = PyObject_Call(__pyx_builtin_KeyError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7578 __Pyx_GOTREF(__pyx_t_2);
7579 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
7580 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
7581 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7582 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7587 /* "TabProxies.pyx":581
7588 * if self.nfields < idx:
7589 * raise KeyError( "field %s not set" % key )
7590 * TupleProxy.__setitem__(self, idx, str(value) ) # <<<<<<<<<<<<<<
7592 * def __getattr__(self, key ):
7594 __pyx_t_2 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s____setitem__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7595 __Pyx_GOTREF(__pyx_t_2);
7596 __pyx_t_3 = PyInt_FromLong(__pyx_v_idx); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7597 __Pyx_GOTREF(__pyx_t_3);
7598 __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7599 __Pyx_GOTREF(__pyx_t_1);
7600 __Pyx_INCREF(__pyx_v_value);
7601 PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_value);
7602 __Pyx_GIVEREF(__pyx_v_value);
7603 __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7604 __Pyx_GOTREF(__pyx_t_4);
7605 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
7606 __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7607 __Pyx_GOTREF(__pyx_t_1);
7608 __Pyx_INCREF(((PyObject *)__pyx_v_self));
7609 PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
7610 __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
7611 PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3);
7612 __Pyx_GIVEREF(__pyx_t_3);
7613 PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4);
7614 __Pyx_GIVEREF(__pyx_t_4);
7617 __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7618 __Pyx_GOTREF(__pyx_t_4);
7619 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7620 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
7621 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7626 __Pyx_XDECREF(__pyx_t_1);
7627 __Pyx_XDECREF(__pyx_t_2);
7628 __Pyx_XDECREF(__pyx_t_3);
7629 __Pyx_XDECREF(__pyx_t_4);
7630 __Pyx_AddTraceback("TabProxies.NamedTupleProxy.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7633 __Pyx_XDECREF(__pyx_v_f);
7634 __Pyx_RefNannyFinishContext();
7638 /* Python wrapper */
7639 static PyObject *__pyx_pw_10TabProxies_15NamedTupleProxy_3__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
7640 static PyObject *__pyx_pw_10TabProxies_15NamedTupleProxy_3__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
7641 PyObject *__pyx_r = 0;
7642 __Pyx_RefNannyDeclarations
7643 __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0);
7644 __pyx_r = __pyx_pf_10TabProxies_15NamedTupleProxy_2__getattr__(((struct __pyx_obj_10TabProxies_NamedTupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key));
7645 __Pyx_RefNannyFinishContext();
7649 /* "TabProxies.pyx":583
7650 * TupleProxy.__setitem__(self, idx, str(value) )
7652 * def __getattr__(self, key ): # <<<<<<<<<<<<<<
7654 * idx, f = self.map_key2field[key]
7657 static PyObject *__pyx_pf_10TabProxies_15NamedTupleProxy_2__getattr__(struct __pyx_obj_10TabProxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key) {
7659 PyObject *__pyx_v_f = NULL;
7660 PyObject *__pyx_r = NULL;
7661 __Pyx_RefNannyDeclarations
7662 PyObject *__pyx_t_1 = NULL;
7663 PyObject *__pyx_t_2 = NULL;
7664 PyObject *__pyx_t_3 = NULL;
7665 PyObject *__pyx_t_4 = NULL;
7666 PyObject *(*__pyx_t_5)(PyObject *);
7669 int __pyx_lineno = 0;
7670 const char *__pyx_filename = NULL;
7671 int __pyx_clineno = 0;
7672 __Pyx_RefNannySetupContext("__getattr__", 0);
7674 /* "TabProxies.pyx":585
7675 * def __getattr__(self, key ):
7677 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
7678 * if self.nfields < idx:
7679 * raise KeyError( "field %s not set" % key )
7681 __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7682 __Pyx_GOTREF(__pyx_t_1);
7683 __pyx_t_2 = PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7684 __Pyx_GOTREF(__pyx_t_2);
7685 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7686 if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
7687 PyObject* sequence = __pyx_t_2;
7688 if (likely(PyTuple_CheckExact(sequence))) {
7689 if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
7690 if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
7691 else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
7692 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7694 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
7695 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
7697 if (unlikely(PyList_GET_SIZE(sequence) != 2)) {
7698 if (PyList_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
7699 else __Pyx_RaiseNeedMoreValuesError(PyList_GET_SIZE(sequence));
7700 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7702 __pyx_t_1 = PyList_GET_ITEM(sequence, 0);
7703 __pyx_t_3 = PyList_GET_ITEM(sequence, 1);
7705 __Pyx_INCREF(__pyx_t_1);
7706 __Pyx_INCREF(__pyx_t_3);
7707 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7709 Py_ssize_t index = -1;
7710 __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7711 __Pyx_GOTREF(__pyx_t_4);
7712 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7713 __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
7714 index = 0; __pyx_t_1 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
7715 __Pyx_GOTREF(__pyx_t_1);
7716 index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
7717 __Pyx_GOTREF(__pyx_t_3);
7718 if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7719 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7720 goto __pyx_L4_unpacking_done;
7721 __pyx_L3_unpacking_failed:;
7722 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
7723 if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration)) PyErr_Clear();
7724 if (!PyErr_Occurred()) __Pyx_RaiseNeedMoreValuesError(index);
7725 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7726 __pyx_L4_unpacking_done:;
7728 __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7729 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7730 __pyx_v_idx = __pyx_t_6;
7731 __pyx_v_f = __pyx_t_3;
7734 /* "TabProxies.pyx":586
7736 * idx, f = self.map_key2field[key]
7737 * if self.nfields < idx: # <<<<<<<<<<<<<<
7738 * raise KeyError( "field %s not set" % key )
7739 * return f( self.fields[idx] )
7741 __pyx_t_7 = (__pyx_v_self->__pyx_base.nfields < __pyx_v_idx);
7744 /* "TabProxies.pyx":587
7745 * idx, f = self.map_key2field[key]
7746 * if self.nfields < idx:
7747 * raise KeyError( "field %s not set" % key ) # <<<<<<<<<<<<<<
7748 * return f( self.fields[idx] )
7751 __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_45), __pyx_v_key); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7752 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
7753 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7754 __Pyx_GOTREF(__pyx_t_3);
7755 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
7756 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
7758 __pyx_t_2 = PyObject_Call(__pyx_builtin_KeyError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7759 __Pyx_GOTREF(__pyx_t_2);
7760 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
7761 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
7762 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7763 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7768 /* "TabProxies.pyx":588
7769 * if self.nfields < idx:
7770 * raise KeyError( "field %s not set" % key )
7771 * return f( self.fields[idx] ) # <<<<<<<<<<<<<<
7773 * cdef class BedProxy( NamedTupleProxy ):
7775 __Pyx_XDECREF(__pyx_r);
7776 __pyx_t_2 = PyBytes_FromString((__pyx_v_self->__pyx_base.fields[__pyx_v_idx])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7777 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
7778 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7779 __Pyx_GOTREF(__pyx_t_3);
7780 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
7781 __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
7783 __pyx_t_2 = PyObject_Call(__pyx_v_f, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7784 __Pyx_GOTREF(__pyx_t_2);
7785 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
7786 __pyx_r = __pyx_t_2;
7790 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7793 __Pyx_XDECREF(__pyx_t_1);
7794 __Pyx_XDECREF(__pyx_t_2);
7795 __Pyx_XDECREF(__pyx_t_3);
7796 __Pyx_XDECREF(__pyx_t_4);
7797 __Pyx_AddTraceback("TabProxies.NamedTupleProxy.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7800 __Pyx_XDECREF(__pyx_v_f);
7801 __Pyx_XGIVEREF(__pyx_r);
7802 __Pyx_RefNannyFinishContext();
7806 /* "TabProxies.pyx":609
7807 * 'blockStarts': (11, bytes), }
7809 * cdef int getMaxFields( self, size_t nbytes ): # <<<<<<<<<<<<<<
7810 * '''return max number of fields.'''
7814 static int __pyx_f_10TabProxies_8BedProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self, CYTHON_UNUSED size_t __pyx_v_nbytes) {
7816 __Pyx_RefNannyDeclarations
7817 __Pyx_RefNannySetupContext("getMaxFields", 0);
7819 /* "TabProxies.pyx":611
7820 * cdef int getMaxFields( self, size_t nbytes ):
7821 * '''return max number of fields.'''
7822 * return 12 # <<<<<<<<<<<<<<
7824 * cdef update( self, char * buffer, size_t nbytes ):
7831 __Pyx_RefNannyFinishContext();
7835 /* "TabProxies.pyx":613
7838 * cdef update( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
7839 * '''update internal data.
7843 static PyObject *__pyx_f_10TabProxies_8BedProxy_update(struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
7844 PyObject *__pyx_r = NULL;
7845 __Pyx_RefNannyDeclarations
7846 PyObject *__pyx_t_1 = NULL;
7848 int __pyx_lineno = 0;
7849 const char *__pyx_filename = NULL;
7850 int __pyx_clineno = 0;
7851 __Pyx_RefNannySetupContext("update", 0);
7853 /* "TabProxies.pyx":618
7854 * nbytes does not include the terminal '\0'.
7856 * TupleProxy.update( self, buffer, nbytes ) # <<<<<<<<<<<<<<
7858 * if self.nfields < 3:
7860 __pyx_t_1 = __pyx_vtabptr_10TabProxies_TupleProxy->update(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7861 __Pyx_GOTREF(__pyx_t_1);
7862 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7864 /* "TabProxies.pyx":620
7865 * TupleProxy.update( self, buffer, nbytes )
7867 * if self.nfields < 3: # <<<<<<<<<<<<<<
7868 * raise ValueError( "bed format requires at least three columns" )
7871 __pyx_t_2 = (__pyx_v_self->__pyx_base.__pyx_base.nfields < 3);
7874 /* "TabProxies.pyx":621
7876 * if self.nfields < 3:
7877 * raise ValueError( "bed format requires at least three columns" ) # <<<<<<<<<<<<<<
7879 * # determines bed format
7881 __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_47), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7882 __Pyx_GOTREF(__pyx_t_1);
7883 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
7884 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7885 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7890 /* "TabProxies.pyx":624
7892 * # determines bed format
7893 * self.bedfields = self.nfields # <<<<<<<<<<<<<<
7895 * # do automatic conversion
7897 __pyx_v_self->bedfields = __pyx_v_self->__pyx_base.__pyx_base.nfields;
7899 /* "TabProxies.pyx":627
7901 * # do automatic conversion
7902 * self.contig = self.fields[0] # <<<<<<<<<<<<<<
7903 * self.start = atoi( self.fields[1] )
7904 * self.end = atoi( self.fields[2] )
7906 __pyx_v_self->contig = (__pyx_v_self->__pyx_base.__pyx_base.fields[0]);
7908 /* "TabProxies.pyx":628
7909 * # do automatic conversion
7910 * self.contig = self.fields[0]
7911 * self.start = atoi( self.fields[1] ) # <<<<<<<<<<<<<<
7912 * self.end = atoi( self.fields[2] )
7915 __pyx_v_self->start = atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[1]));
7917 /* "TabProxies.pyx":629
7918 * self.contig = self.fields[0]
7919 * self.start = atoi( self.fields[1] )
7920 * self.end = atoi( self.fields[2] ) # <<<<<<<<<<<<<<
7922 * # __setattr__ in base class seems to take precedence
7924 __pyx_v_self->end = atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[2]));
7926 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7929 __Pyx_XDECREF(__pyx_t_1);
7930 __Pyx_AddTraceback("TabProxies.BedProxy.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
7933 __Pyx_XGIVEREF(__pyx_r);
7934 __Pyx_RefNannyFinishContext();
7938 /* Python wrapper */
7939 static PyObject *__pyx_pw_10TabProxies_8BedProxy_1__str__(PyObject *__pyx_v_self); /*proto*/
7940 static PyObject *__pyx_pw_10TabProxies_8BedProxy_1__str__(PyObject *__pyx_v_self) {
7941 PyObject *__pyx_r = 0;
7942 __Pyx_RefNannyDeclarations
7943 __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
7944 __pyx_r = __pyx_pf_10TabProxies_8BedProxy___str__(((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self));
7945 __Pyx_RefNannyFinishContext();
7949 /* "TabProxies.pyx":638
7950 * # def __get__( self ): return self.end
7952 * def __str__(self): # <<<<<<<<<<<<<<
7954 * cdef int save_fields = self.nfields
7957 static PyObject *__pyx_pf_10TabProxies_8BedProxy___str__(struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self) {
7958 int __pyx_v_save_fields;
7959 PyObject *__pyx_v_retval = NULL;
7960 PyObject *__pyx_r = NULL;
7961 __Pyx_RefNannyDeclarations
7962 PyObject *__pyx_t_1 = NULL;
7963 PyObject *__pyx_t_2 = NULL;
7964 PyObject *__pyx_t_3 = NULL;
7965 int __pyx_lineno = 0;
7966 const char *__pyx_filename = NULL;
7967 int __pyx_clineno = 0;
7968 __Pyx_RefNannySetupContext("__str__", 0);
7970 /* "TabProxies.pyx":640
7971 * def __str__(self):
7973 * cdef int save_fields = self.nfields # <<<<<<<<<<<<<<
7974 * # ensure fields to use correct format
7975 * self.nfields = self.bedfields
7977 __pyx_v_save_fields = __pyx_v_self->__pyx_base.__pyx_base.nfields;
7979 /* "TabProxies.pyx":642
7980 * cdef int save_fields = self.nfields
7981 * # ensure fields to use correct format
7982 * self.nfields = self.bedfields # <<<<<<<<<<<<<<
7983 * retval = TupleProxy.__str__( self )
7984 * self.nfields = save_fields
7986 __pyx_v_self->__pyx_base.__pyx_base.nfields = __pyx_v_self->bedfields;
7988 /* "TabProxies.pyx":643
7989 * # ensure fields to use correct format
7990 * self.nfields = self.bedfields
7991 * retval = TupleProxy.__str__( self ) # <<<<<<<<<<<<<<
7992 * self.nfields = save_fields
7995 __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s____str__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7996 __Pyx_GOTREF(__pyx_t_1);
7997 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7998 __Pyx_GOTREF(__pyx_t_2);
7999 __Pyx_INCREF(((PyObject *)__pyx_v_self));
8000 PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self));
8001 __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
8002 __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8003 __Pyx_GOTREF(__pyx_t_3);
8004 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8005 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
8006 __pyx_v_retval = __pyx_t_3;
8009 /* "TabProxies.pyx":644
8010 * self.nfields = self.bedfields
8011 * retval = TupleProxy.__str__( self )
8012 * self.nfields = save_fields # <<<<<<<<<<<<<<
8016 __pyx_v_self->__pyx_base.__pyx_base.nfields = __pyx_v_save_fields;
8018 /* "TabProxies.pyx":645
8019 * retval = TupleProxy.__str__( self )
8020 * self.nfields = save_fields
8021 * return retval # <<<<<<<<<<<<<<
8023 * def __setattr__(self, key, value ):
8025 __Pyx_XDECREF(__pyx_r);
8026 __Pyx_INCREF(__pyx_v_retval);
8027 __pyx_r = __pyx_v_retval;
8030 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8033 __Pyx_XDECREF(__pyx_t_1);
8034 __Pyx_XDECREF(__pyx_t_2);
8035 __Pyx_XDECREF(__pyx_t_3);
8036 __Pyx_AddTraceback("TabProxies.BedProxy.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8039 __Pyx_XDECREF(__pyx_v_retval);
8040 __Pyx_XGIVEREF(__pyx_r);
8041 __Pyx_RefNannyFinishContext();
8045 /* Python wrapper */
8046 static int __pyx_pw_10TabProxies_8BedProxy_3__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
8047 static char __pyx_doc_10TabProxies_8BedProxy_2__setattr__[] = "set attribute.";
8048 struct wrapperbase __pyx_wrapperbase_10TabProxies_8BedProxy_2__setattr__;
8049 static int __pyx_pw_10TabProxies_8BedProxy_3__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
8051 __Pyx_RefNannyDeclarations
8052 __Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
8053 __pyx_r = __pyx_pf_10TabProxies_8BedProxy_2__setattr__(((struct __pyx_obj_10TabProxies_BedProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
8054 __Pyx_RefNannyFinishContext();
8058 /* "TabProxies.pyx":647
8061 * def __setattr__(self, key, value ): # <<<<<<<<<<<<<<
8062 * '''set attribute.'''
8063 * if key == "start": self.start = value
8066 static int __pyx_pf_10TabProxies_8BedProxy_2__setattr__(struct __pyx_obj_10TabProxies_BedProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
8068 CYTHON_UNUSED PyObject *__pyx_v_f = NULL;
8070 __Pyx_RefNannyDeclarations
8073 PyObject *__pyx_t_3 = NULL;
8074 PyObject *__pyx_t_4 = NULL;
8075 PyObject *__pyx_t_5 = NULL;
8076 PyObject *__pyx_t_6 = NULL;
8077 PyObject *(*__pyx_t_7)(PyObject *);
8079 int __pyx_lineno = 0;
8080 const char *__pyx_filename = NULL;
8081 int __pyx_clineno = 0;
8082 __Pyx_RefNannySetupContext("__setattr__", 0);
8084 /* "TabProxies.pyx":649
8085 * def __setattr__(self, key, value ):
8086 * '''set attribute.'''
8087 * if key == "start": self.start = value # <<<<<<<<<<<<<<
8088 * elif key == "end": self.end = value
8091 __pyx_t_1 = __Pyx_PyString_Equals(__pyx_v_key, ((PyObject *)__pyx_n_s__start), Py_EQ); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8093 __pyx_t_2 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_2 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 649; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8094 __pyx_v_self->start = __pyx_t_2;
8098 /* "TabProxies.pyx":650
8099 * '''set attribute.'''
8100 * if key == "start": self.start = value
8101 * elif key == "end": self.end = value # <<<<<<<<<<<<<<
8105 __pyx_t_1 = __Pyx_PyString_Equals(__pyx_v_key, ((PyObject *)__pyx_n_s__end), Py_EQ); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8107 __pyx_t_2 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_2 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8108 __pyx_v_self->end = __pyx_t_2;
8113 /* "TabProxies.pyx":653
8116 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
8117 * TupleProxy._setindex(self, idx, str(value) )
8120 __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8121 __Pyx_GOTREF(__pyx_t_3);
8122 __pyx_t_4 = PyObject_GetItem(__pyx_t_3, __pyx_v_key); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8123 __Pyx_GOTREF(__pyx_t_4);
8124 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8125 if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
8126 PyObject* sequence = __pyx_t_4;
8127 if (likely(PyTuple_CheckExact(sequence))) {
8128 if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
8129 if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
8130 else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
8131 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8133 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
8134 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
8136 if (unlikely(PyList_GET_SIZE(sequence) != 2)) {
8137 if (PyList_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
8138 else __Pyx_RaiseNeedMoreValuesError(PyList_GET_SIZE(sequence));
8139 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8141 __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
8142 __pyx_t_5 = PyList_GET_ITEM(sequence, 1);
8144 __Pyx_INCREF(__pyx_t_3);
8145 __Pyx_INCREF(__pyx_t_5);
8146 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8148 Py_ssize_t index = -1;
8149 __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8150 __Pyx_GOTREF(__pyx_t_6);
8151 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8152 __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
8153 index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
8154 __Pyx_GOTREF(__pyx_t_3);
8155 index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
8156 __Pyx_GOTREF(__pyx_t_5);
8157 if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8158 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
8159 goto __pyx_L5_unpacking_done;
8160 __pyx_L4_unpacking_failed:;
8161 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
8162 if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration)) PyErr_Clear();
8163 if (!PyErr_Occurred()) __Pyx_RaiseNeedMoreValuesError(index);
8164 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8165 __pyx_L5_unpacking_done:;
8167 __pyx_t_8 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8168 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8169 __pyx_v_idx = __pyx_t_8;
8170 __pyx_v_f = __pyx_t_5;
8173 /* "TabProxies.pyx":654
8175 * idx, f = self.map_key2field[key]
8176 * TupleProxy._setindex(self, idx, str(value) ) # <<<<<<<<<<<<<<
8178 * cdef class VCFProxy( NamedTupleProxy ):
8180 __pyx_t_4 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s___setindex); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8181 __Pyx_GOTREF(__pyx_t_4);
8182 __pyx_t_5 = PyInt_FromLong(__pyx_v_idx); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8183 __Pyx_GOTREF(__pyx_t_5);
8184 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8185 __Pyx_GOTREF(__pyx_t_3);
8186 __Pyx_INCREF(__pyx_v_value);
8187 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_value);
8188 __Pyx_GIVEREF(__pyx_v_value);
8189 __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8190 __Pyx_GOTREF(__pyx_t_6);
8191 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
8192 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8193 __Pyx_GOTREF(__pyx_t_3);
8194 __Pyx_INCREF(((PyObject *)__pyx_v_self));
8195 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self));
8196 __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
8197 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
8198 __Pyx_GIVEREF(__pyx_t_5);
8199 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_6);
8200 __Pyx_GIVEREF(__pyx_t_6);
8203 __pyx_t_6 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8204 __Pyx_GOTREF(__pyx_t_6);
8205 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8206 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
8207 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
8212 __Pyx_XDECREF(__pyx_t_3);
8213 __Pyx_XDECREF(__pyx_t_4);
8214 __Pyx_XDECREF(__pyx_t_5);
8215 __Pyx_XDECREF(__pyx_t_6);
8216 __Pyx_AddTraceback("TabProxies.BedProxy.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8219 __Pyx_XDECREF(__pyx_v_f);
8220 __Pyx_RefNannyFinishContext();
8224 /* Python wrapper */
8225 static int __pyx_pw_10TabProxies_8VCFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
8226 static int __pyx_pw_10TabProxies_8VCFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
8228 __Pyx_RefNannyDeclarations
8229 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
8230 if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
8231 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
8232 if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
8233 __pyx_r = __pyx_pf_10TabProxies_8VCFProxy___cinit__(((struct __pyx_obj_10TabProxies_VCFProxy *)__pyx_v_self));
8234 __Pyx_RefNannyFinishContext();
8238 /* "TabProxies.pyx":672
8239 * 'format' : (8, bytes) }
8241 * def __cinit__(self ): # <<<<<<<<<<<<<<
8242 * # automatically calls TupleProxy.__cinit__
8243 * # start indexed access at genotypes
8246 static int __pyx_pf_10TabProxies_8VCFProxy___cinit__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self) {
8248 __Pyx_RefNannyDeclarations
8249 __Pyx_RefNannySetupContext("__cinit__", 0);
8251 /* "TabProxies.pyx":675
8252 * # automatically calls TupleProxy.__cinit__
8253 * # start indexed access at genotypes
8254 * self.offset = 9 # <<<<<<<<<<<<<<
8256 * cdef update( self, char * buffer, size_t nbytes ):
8258 __pyx_v_self->__pyx_base.__pyx_base.offset = 9;
8261 __Pyx_RefNannyFinishContext();
8265 /* "TabProxies.pyx":677
8268 * cdef update( self, char * buffer, size_t nbytes ): # <<<<<<<<<<<<<<
8269 * '''update internal data.
8273 static PyObject *__pyx_f_10TabProxies_8VCFProxy_update(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
8274 PyObject *__pyx_r = NULL;
8275 __Pyx_RefNannyDeclarations
8276 PyObject *__pyx_t_1 = NULL;
8277 int __pyx_lineno = 0;
8278 const char *__pyx_filename = NULL;
8279 int __pyx_clineno = 0;
8280 __Pyx_RefNannySetupContext("update", 0);
8282 /* "TabProxies.pyx":682
8283 * nbytes does not include the terminal '\0'.
8285 * TupleProxy.update( self, buffer, nbytes ) # <<<<<<<<<<<<<<
8287 * self.contig = self.fields[0]
8289 __pyx_t_1 = __pyx_vtabptr_10TabProxies_TupleProxy->update(((struct __pyx_obj_10TabProxies_TupleProxy *)__pyx_v_self), __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 682; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8290 __Pyx_GOTREF(__pyx_t_1);
8291 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
8293 /* "TabProxies.pyx":684
8294 * TupleProxy.update( self, buffer, nbytes )
8296 * self.contig = self.fields[0] # <<<<<<<<<<<<<<
8297 * # vcf counts from 1 - correct here
8298 * self.pos = atoi( self.fields[1] ) - 1
8300 __pyx_v_self->contig = (__pyx_v_self->__pyx_base.__pyx_base.fields[0]);
8302 /* "TabProxies.pyx":686
8303 * self.contig = self.fields[0]
8304 * # vcf counts from 1 - correct here
8305 * self.pos = atoi( self.fields[1] ) - 1 # <<<<<<<<<<<<<<
8307 * def __len__(self):
8309 __pyx_v_self->pos = (atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[1])) - 1);
8311 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8314 __Pyx_XDECREF(__pyx_t_1);
8315 __Pyx_AddTraceback("TabProxies.VCFProxy.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
8318 __Pyx_XGIVEREF(__pyx_r);
8319 __Pyx_RefNannyFinishContext();
8323 /* Python wrapper */
8324 static Py_ssize_t __pyx_pw_10TabProxies_8VCFProxy_3__len__(PyObject *__pyx_v_self); /*proto*/
8325 static char __pyx_doc_10TabProxies_8VCFProxy_2__len__[] = "return number of genotype fields.";
8326 struct wrapperbase __pyx_wrapperbase_10TabProxies_8VCFProxy_2__len__;
8327 static Py_ssize_t __pyx_pw_10TabProxies_8VCFProxy_3__len__(PyObject *__pyx_v_self) {
8329 __Pyx_RefNannyDeclarations
8330 __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
8331 __pyx_r = __pyx_pf_10TabProxies_8VCFProxy_2__len__(((struct __pyx_obj_10TabProxies_VCFProxy *)__pyx_v_self));
8332 __Pyx_RefNannyFinishContext();
8336 /* "TabProxies.pyx":688
8337 * self.pos = atoi( self.fields[1] ) - 1
8339 * def __len__(self): # <<<<<<<<<<<<<<
8340 * '''return number of genotype fields.'''
8341 * return max(0, self.nfields - 9)
8344 static Py_ssize_t __pyx_pf_10TabProxies_8VCFProxy_2__len__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self) {
8346 __Pyx_RefNannyDeclarations
8350 __Pyx_RefNannySetupContext("__len__", 0);
8352 /* "TabProxies.pyx":690
8353 * def __len__(self):
8354 * '''return number of genotype fields.'''
8355 * return max(0, self.nfields - 9) # <<<<<<<<<<<<<<
8359 __pyx_t_1 = (__pyx_v_self->__pyx_base.__pyx_base.nfields - 9);
8361 if ((__pyx_t_1 > __pyx_t_2)) {
8362 __pyx_t_3 = __pyx_t_1;
8364 __pyx_t_3 = __pyx_t_2;
8366 __pyx_r = __pyx_t_3;
8371 __Pyx_RefNannyFinishContext();
8375 /* Python wrapper */
8376 static PyObject *__pyx_pw_10TabProxies_8VCFProxy_3pos_1__get__(PyObject *__pyx_v_self); /*proto*/
8377 static PyObject *__pyx_pw_10TabProxies_8VCFProxy_3pos_1__get__(PyObject *__pyx_v_self) {
8378 PyObject *__pyx_r = 0;
8379 __Pyx_RefNannyDeclarations
8380 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
8381 __pyx_r = __pyx_pf_10TabProxies_8VCFProxy_3pos___get__(((struct __pyx_obj_10TabProxies_VCFProxy *)__pyx_v_self));
8382 __Pyx_RefNannyFinishContext();
8386 /* "TabProxies.pyx":694
8388 * '''feature end (in 0-based open/closed coordinates).'''
8389 * def __get__( self ): # <<<<<<<<<<<<<<
8394 static PyObject *__pyx_pf_10TabProxies_8VCFProxy_3pos___get__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self) {
8395 PyObject *__pyx_r = NULL;
8396 __Pyx_RefNannyDeclarations
8397 PyObject *__pyx_t_1 = NULL;
8398 int __pyx_lineno = 0;
8399 const char *__pyx_filename = NULL;
8400 int __pyx_clineno = 0;
8401 __Pyx_RefNannySetupContext("__get__", 0);
8403 /* "TabProxies.pyx":695
8404 * '''feature end (in 0-based open/closed coordinates).'''
8405 * def __get__( self ):
8406 * return self.pos # <<<<<<<<<<<<<<
8408 * def __setattr__(self, key, value ):
8410 __Pyx_XDECREF(__pyx_r);
8411 __pyx_t_1 = __Pyx_PyInt_to_py_uint32_t(__pyx_v_self->pos); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8412 __Pyx_GOTREF(__pyx_t_1);
8413 __pyx_r = __pyx_t_1;
8417 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8420 __Pyx_XDECREF(__pyx_t_1);
8421 __Pyx_AddTraceback("TabProxies.VCFProxy.pos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8424 __Pyx_XGIVEREF(__pyx_r);
8425 __Pyx_RefNannyFinishContext();
8429 /* Python wrapper */
8430 static int __pyx_pw_10TabProxies_8VCFProxy_5__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
8431 static char __pyx_doc_10TabProxies_8VCFProxy_4__setattr__[] = "set attribute.";
8432 struct wrapperbase __pyx_wrapperbase_10TabProxies_8VCFProxy_4__setattr__;
8433 static int __pyx_pw_10TabProxies_8VCFProxy_5__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
8435 __Pyx_RefNannyDeclarations
8436 __Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
8437 __pyx_r = __pyx_pf_10TabProxies_8VCFProxy_4__setattr__(((struct __pyx_obj_10TabProxies_VCFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
8438 __Pyx_RefNannyFinishContext();
8442 /* "TabProxies.pyx":697
8445 * def __setattr__(self, key, value ): # <<<<<<<<<<<<<<
8446 * '''set attribute.'''
8450 static int __pyx_pf_10TabProxies_8VCFProxy_4__setattr__(struct __pyx_obj_10TabProxies_VCFProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
8452 CYTHON_UNUSED PyObject *__pyx_v_f = NULL;
8454 __Pyx_RefNannyDeclarations
8457 PyObject *__pyx_t_3 = NULL;
8458 PyObject *__pyx_t_4 = NULL;
8459 PyObject *__pyx_t_5 = NULL;
8460 PyObject *__pyx_t_6 = NULL;
8461 PyObject *(*__pyx_t_7)(PyObject *);
8463 int __pyx_lineno = 0;
8464 const char *__pyx_filename = NULL;
8465 int __pyx_clineno = 0;
8466 __Pyx_RefNannySetupContext("__setattr__", 0);
8467 __Pyx_INCREF(__pyx_v_value);
8469 /* "TabProxies.pyx":699
8470 * def __setattr__(self, key, value ):
8471 * '''set attribute.'''
8472 * if key == "pos": # <<<<<<<<<<<<<<
8476 __pyx_t_1 = __Pyx_PyString_Equals(__pyx_v_key, ((PyObject *)__pyx_n_s__pos), Py_EQ); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8479 /* "TabProxies.pyx":700
8480 * '''set attribute.'''
8482 * self.pos = value # <<<<<<<<<<<<<<
8486 __pyx_t_2 = __Pyx_PyInt_from_py_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_2 == (uint32_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 700; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8487 __pyx_v_self->pos = __pyx_t_2;
8489 /* "TabProxies.pyx":701
8492 * value += 1 # <<<<<<<<<<<<<<
8496 __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_value, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8497 __Pyx_GOTREF(__pyx_t_3);
8498 __Pyx_DECREF(__pyx_v_value);
8499 __pyx_v_value = __pyx_t_3;
8505 /* "TabProxies.pyx":704
8508 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
8509 * TupleProxy._setindex(self, idx, str(value) )
8512 __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__map_key2field); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8513 __Pyx_GOTREF(__pyx_t_3);
8514 __pyx_t_4 = PyObject_GetItem(__pyx_t_3, __pyx_v_key); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8515 __Pyx_GOTREF(__pyx_t_4);
8516 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8517 if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
8518 PyObject* sequence = __pyx_t_4;
8519 if (likely(PyTuple_CheckExact(sequence))) {
8520 if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
8521 if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
8522 else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
8523 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8525 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
8526 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
8528 if (unlikely(PyList_GET_SIZE(sequence) != 2)) {
8529 if (PyList_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
8530 else __Pyx_RaiseNeedMoreValuesError(PyList_GET_SIZE(sequence));
8531 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8533 __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
8534 __pyx_t_5 = PyList_GET_ITEM(sequence, 1);
8536 __Pyx_INCREF(__pyx_t_3);
8537 __Pyx_INCREF(__pyx_t_5);
8538 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8540 Py_ssize_t index = -1;
8541 __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8542 __Pyx_GOTREF(__pyx_t_6);
8543 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8544 __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
8545 index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
8546 __Pyx_GOTREF(__pyx_t_3);
8547 index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
8548 __Pyx_GOTREF(__pyx_t_5);
8549 if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8550 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
8551 goto __pyx_L5_unpacking_done;
8552 __pyx_L4_unpacking_failed:;
8553 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
8554 if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration)) PyErr_Clear();
8555 if (!PyErr_Occurred()) __Pyx_RaiseNeedMoreValuesError(index);
8556 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8557 __pyx_L5_unpacking_done:;
8559 __pyx_t_8 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8560 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8561 __pyx_v_idx = __pyx_t_8;
8562 __pyx_v_f = __pyx_t_5;
8565 /* "TabProxies.pyx":705
8567 * idx, f = self.map_key2field[key]
8568 * TupleProxy._setindex(self, idx, str(value) ) # <<<<<<<<<<<<<<
8571 __pyx_t_4 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_10TabProxies_TupleProxy)), __pyx_n_s___setindex); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8572 __Pyx_GOTREF(__pyx_t_4);
8573 __pyx_t_5 = PyInt_FromLong(__pyx_v_idx); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8574 __Pyx_GOTREF(__pyx_t_5);
8575 __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8576 __Pyx_GOTREF(__pyx_t_3);
8577 __Pyx_INCREF(__pyx_v_value);
8578 PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_value);
8579 __Pyx_GIVEREF(__pyx_v_value);
8580 __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8581 __Pyx_GOTREF(__pyx_t_6);
8582 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
8583 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8584 __Pyx_GOTREF(__pyx_t_3);
8585 __Pyx_INCREF(((PyObject *)__pyx_v_self));
8586 PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_self));
8587 __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
8588 PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5);
8589 __Pyx_GIVEREF(__pyx_t_5);
8590 PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_6);
8591 __Pyx_GIVEREF(__pyx_t_6);
8594 __pyx_t_6 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
8595 __Pyx_GOTREF(__pyx_t_6);
8596 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8597 __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
8598 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
8603 __Pyx_XDECREF(__pyx_t_3);
8604 __Pyx_XDECREF(__pyx_t_4);
8605 __Pyx_XDECREF(__pyx_t_5);
8606 __Pyx_XDECREF(__pyx_t_6);
8607 __Pyx_AddTraceback("TabProxies.VCFProxy.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8610 __Pyx_XDECREF(__pyx_v_f);
8611 __Pyx_XDECREF(__pyx_v_value);
8612 __Pyx_RefNannyFinishContext();
8615 static struct __pyx_vtabstruct_10TabProxies_TupleProxy __pyx_vtable_10TabProxies_TupleProxy;
8617 static PyObject *__pyx_tp_new_10TabProxies_TupleProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
8618 struct __pyx_obj_10TabProxies_TupleProxy *p;
8619 PyObject *o = (*t->tp_alloc)(t, 0);
8621 p = ((struct __pyx_obj_10TabProxies_TupleProxy *)o);
8622 p->__pyx_vtab = __pyx_vtabptr_10TabProxies_TupleProxy;
8623 if (__pyx_pw_10TabProxies_10TupleProxy_1__cinit__(o, __pyx_empty_tuple, NULL) < 0) {
8624 Py_DECREF(o); o = 0;
8629 static void __pyx_tp_dealloc_10TabProxies_TupleProxy(PyObject *o) {
8631 PyObject *etype, *eval, *etb;
8632 PyErr_Fetch(&etype, &eval, &etb);
8634 __pyx_pw_10TabProxies_10TupleProxy_3__dealloc__(o);
8635 if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
8637 PyErr_Restore(etype, eval, etb);
8639 (*Py_TYPE(o)->tp_free)(o);
8641 static PyObject *__pyx_sq_item_10TabProxies_TupleProxy(PyObject *o, Py_ssize_t i) {
8643 PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
8644 r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
8649 static int __pyx_mp_ass_subscript_10TabProxies_TupleProxy(PyObject *o, PyObject *i, PyObject *v) {
8651 return __pyx_pw_10TabProxies_10TupleProxy_11__setitem__(o, i, v);
8654 PyErr_Format(PyExc_NotImplementedError,
8655 "Subscript deletion not supported by %s", Py_TYPE(o)->tp_name);
8660 static PyMethodDef __pyx_methods_10TabProxies_TupleProxy[] = {
8661 {__Pyx_NAMESTR("_getindex"), (PyCFunction)__pyx_pw_10TabProxies_10TupleProxy_5_getindex, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_10TupleProxy_4_getindex)},
8662 {__Pyx_NAMESTR("_setindex"), (PyCFunction)__pyx_pw_10TabProxies_10TupleProxy_9_setindex, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_10TupleProxy_8_setindex)},
8663 {__Pyx_NAMESTR("__next__"), (PyCFunction)__pyx_pw_10TabProxies_10TupleProxy_17__next__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(__pyx_doc_10TabProxies_10TupleProxy_16__next__)},
8667 static PyNumberMethods __pyx_tp_as_number_TupleProxy = {
8671 #if PY_MAJOR_VERSION < 3
8687 #if PY_MAJOR_VERSION < 3
8691 #if PY_MAJOR_VERSION < 3
8697 #if PY_MAJOR_VERSION < 3
8700 #if PY_MAJOR_VERSION < 3
8703 0, /*nb_inplace_add*/
8704 0, /*nb_inplace_subtract*/
8705 0, /*nb_inplace_multiply*/
8706 #if PY_MAJOR_VERSION < 3
8707 0, /*nb_inplace_divide*/
8709 0, /*nb_inplace_remainder*/
8710 0, /*nb_inplace_power*/
8711 0, /*nb_inplace_lshift*/
8712 0, /*nb_inplace_rshift*/
8713 0, /*nb_inplace_and*/
8714 0, /*nb_inplace_xor*/
8715 0, /*nb_inplace_or*/
8716 0, /*nb_floor_divide*/
8717 0, /*nb_true_divide*/
8718 0, /*nb_inplace_floor_divide*/
8719 0, /*nb_inplace_true_divide*/
8720 #if PY_VERSION_HEX >= 0x02050000
8725 static PySequenceMethods __pyx_tp_as_sequence_TupleProxy = {
8726 __pyx_pw_10TabProxies_10TupleProxy_13__len__, /*sq_length*/
8729 __pyx_sq_item_10TabProxies_TupleProxy, /*sq_item*/
8734 0, /*sq_inplace_concat*/
8735 0, /*sq_inplace_repeat*/
8738 static PyMappingMethods __pyx_tp_as_mapping_TupleProxy = {
8739 __pyx_pw_10TabProxies_10TupleProxy_13__len__, /*mp_length*/
8740 __pyx_pw_10TabProxies_10TupleProxy_7__getitem__, /*mp_subscript*/
8741 __pyx_mp_ass_subscript_10TabProxies_TupleProxy, /*mp_ass_subscript*/
8744 static PyBufferProcs __pyx_tp_as_buffer_TupleProxy = {
8745 #if PY_MAJOR_VERSION < 3
8746 0, /*bf_getreadbuffer*/
8748 #if PY_MAJOR_VERSION < 3
8749 0, /*bf_getwritebuffer*/
8751 #if PY_MAJOR_VERSION < 3
8752 0, /*bf_getsegcount*/
8754 #if PY_MAJOR_VERSION < 3
8755 0, /*bf_getcharbuffer*/
8757 #if PY_VERSION_HEX >= 0x02060000
8760 #if PY_VERSION_HEX >= 0x02060000
8761 0, /*bf_releasebuffer*/
8765 static PyTypeObject __pyx_type_10TabProxies_TupleProxy = {
8766 PyVarObject_HEAD_INIT(0, 0)
8767 __Pyx_NAMESTR("TabProxies.TupleProxy"), /*tp_name*/
8768 sizeof(struct __pyx_obj_10TabProxies_TupleProxy), /*tp_basicsize*/
8770 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
8774 #if PY_MAJOR_VERSION < 3
8780 &__pyx_tp_as_number_TupleProxy, /*tp_as_number*/
8781 &__pyx_tp_as_sequence_TupleProxy, /*tp_as_sequence*/
8782 &__pyx_tp_as_mapping_TupleProxy, /*tp_as_mapping*/
8785 __pyx_pw_10TabProxies_10TupleProxy_19__str__, /*tp_str*/
8788 &__pyx_tp_as_buffer_TupleProxy, /*tp_as_buffer*/
8789 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
8790 __Pyx_DOCSTR("Proxy class for access to parsed row as a tuple.\n\n This class represents a table row for fast read-access.\n\n Access to individual fields is via the [] operator.\n \n Only read-only access is implemented.\n\n "), /*tp_doc*/
8793 0, /*tp_richcompare*/
8794 0, /*tp_weaklistoffset*/
8795 __pyx_pw_10TabProxies_10TupleProxy_15__iter__, /*tp_iter*/
8796 __pyx_pw_10TabProxies_10TupleProxy_17__next__, /*tp_iternext*/
8797 __pyx_methods_10TabProxies_TupleProxy, /*tp_methods*/
8804 0, /*tp_dictoffset*/
8807 __pyx_tp_new_10TabProxies_TupleProxy, /*tp_new*/
8813 0, /*tp_subclasses*/
8816 #if PY_VERSION_HEX >= 0x02060000
8817 0, /*tp_version_tag*/
8820 static struct __pyx_vtabstruct_10TabProxies_GTFProxy __pyx_vtable_10TabProxies_GTFProxy;
8822 static PyObject *__pyx_tp_new_10TabProxies_GTFProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
8823 struct __pyx_obj_10TabProxies_GTFProxy *p;
8824 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
8826 p = ((struct __pyx_obj_10TabProxies_GTFProxy *)o);
8827 p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_GTFProxy;
8828 if (__pyx_pw_10TabProxies_8GTFProxy_1__cinit__(o, __pyx_empty_tuple, NULL) < 0) {
8829 Py_DECREF(o); o = 0;
8834 static void __pyx_tp_dealloc_10TabProxies_GTFProxy(PyObject *o) {
8836 PyObject *etype, *eval, *etb;
8837 PyErr_Fetch(&etype, &eval, &etb);
8839 __pyx_pw_10TabProxies_8GTFProxy_3__dealloc__(o);
8840 if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
8842 PyErr_Restore(etype, eval, etb);
8844 __pyx_tp_dealloc_10TabProxies_TupleProxy(o);
8846 static PyObject *__pyx_sq_item_10TabProxies_GTFProxy(PyObject *o, Py_ssize_t i) {
8848 PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
8849 r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
8854 static PyObject *__pyx_tp_getattro_10TabProxies_GTFProxy(PyObject *o, PyObject *n) {
8855 PyObject *v = PyObject_GenericGetAttr(o, n);
8856 if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
8858 v = __pyx_pw_10TabProxies_8GTFProxy_17__getattr__(o, n);
8863 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_contig(PyObject *o, void *x) {
8864 return __pyx_pw_10TabProxies_8GTFProxy_6contig_1__get__(o);
8867 static int __pyx_setprop_10TabProxies_8GTFProxy_contig(PyObject *o, PyObject *v, void *x) {
8869 return __pyx_pw_10TabProxies_8GTFProxy_6contig_3__set__(o, v);
8872 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8877 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_source(PyObject *o, void *x) {
8878 return __pyx_pw_10TabProxies_8GTFProxy_6source_1__get__(o);
8881 static int __pyx_setprop_10TabProxies_8GTFProxy_source(PyObject *o, PyObject *v, void *x) {
8883 return __pyx_pw_10TabProxies_8GTFProxy_6source_3__set__(o, v);
8886 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8891 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_feature(PyObject *o, void *x) {
8892 return __pyx_pw_10TabProxies_8GTFProxy_7feature_1__get__(o);
8895 static int __pyx_setprop_10TabProxies_8GTFProxy_feature(PyObject *o, PyObject *v, void *x) {
8897 return __pyx_pw_10TabProxies_8GTFProxy_7feature_3__set__(o, v);
8900 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8905 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_start(PyObject *o, void *x) {
8906 return __pyx_pw_10TabProxies_8GTFProxy_5start_1__get__(o);
8909 static int __pyx_setprop_10TabProxies_8GTFProxy_start(PyObject *o, PyObject *v, void *x) {
8911 return __pyx_pw_10TabProxies_8GTFProxy_5start_3__set__(o, v);
8914 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8919 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_end(PyObject *o, void *x) {
8920 return __pyx_pw_10TabProxies_8GTFProxy_3end_1__get__(o);
8923 static int __pyx_setprop_10TabProxies_8GTFProxy_end(PyObject *o, PyObject *v, void *x) {
8925 return __pyx_pw_10TabProxies_8GTFProxy_3end_3__set__(o, v);
8928 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8933 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_score(PyObject *o, void *x) {
8934 return __pyx_pw_10TabProxies_8GTFProxy_5score_1__get__(o);
8937 static int __pyx_setprop_10TabProxies_8GTFProxy_score(PyObject *o, PyObject *v, void *x) {
8939 return __pyx_pw_10TabProxies_8GTFProxy_5score_3__set__(o, v);
8942 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8947 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_strand(PyObject *o, void *x) {
8948 return __pyx_pw_10TabProxies_8GTFProxy_6strand_1__get__(o);
8951 static int __pyx_setprop_10TabProxies_8GTFProxy_strand(PyObject *o, PyObject *v, void *x) {
8953 return __pyx_pw_10TabProxies_8GTFProxy_6strand_3__set__(o, v);
8956 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8961 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_frame(PyObject *o, void *x) {
8962 return __pyx_pw_10TabProxies_8GTFProxy_5frame_1__get__(o);
8965 static int __pyx_setprop_10TabProxies_8GTFProxy_frame(PyObject *o, PyObject *v, void *x) {
8967 return __pyx_pw_10TabProxies_8GTFProxy_5frame_3__set__(o, v);
8970 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8975 static PyObject *__pyx_getprop_10TabProxies_8GTFProxy_attributes(PyObject *o, void *x) {
8976 return __pyx_pw_10TabProxies_8GTFProxy_10attributes_1__get__(o);
8979 static int __pyx_setprop_10TabProxies_8GTFProxy_attributes(PyObject *o, PyObject *v, void *x) {
8981 return __pyx_pw_10TabProxies_8GTFProxy_10attributes_3__set__(o, v);
8984 PyErr_SetString(PyExc_NotImplementedError, "__del__");
8989 static PyMethodDef __pyx_methods_10TabProxies_GTFProxy[] = {
8990 {__Pyx_NAMESTR("asDict"), (PyCFunction)__pyx_pw_10TabProxies_8GTFProxy_5asDict, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_4asDict)},
8991 {__Pyx_NAMESTR("fromDict"), (PyCFunction)__pyx_pw_10TabProxies_8GTFProxy_7fromDict, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_6fromDict)},
8992 {__Pyx_NAMESTR("invert"), (PyCFunction)__pyx_pw_10TabProxies_8GTFProxy_11invert, METH_O, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_10invert)},
8993 {__Pyx_NAMESTR("keys"), (PyCFunction)__pyx_pw_10TabProxies_8GTFProxy_13keys, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_12keys)},
8994 {__Pyx_NAMESTR("__getattr__"), (PyCFunction)__pyx_pw_10TabProxies_8GTFProxy_17__getattr__, METH_O|METH_COEXIST, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_16__getattr__)},
8995 {__Pyx_NAMESTR("setAttribute"), (PyCFunction)__pyx_pw_10TabProxies_8GTFProxy_19setAttribute, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_10TabProxies_8GTFProxy_18setAttribute)},
8999 static struct PyGetSetDef __pyx_getsets_10TabProxies_GTFProxy[] = {
9000 {(char *)"contig", __pyx_getprop_10TabProxies_8GTFProxy_contig, __pyx_setprop_10TabProxies_8GTFProxy_contig, __Pyx_DOCSTR(__pyx_k_48), 0},
9001 {(char *)"source", __pyx_getprop_10TabProxies_8GTFProxy_source, __pyx_setprop_10TabProxies_8GTFProxy_source, __Pyx_DOCSTR(__pyx_k_49), 0},
9002 {(char *)"feature", __pyx_getprop_10TabProxies_8GTFProxy_feature, __pyx_setprop_10TabProxies_8GTFProxy_feature, __Pyx_DOCSTR(__pyx_k_50), 0},
9003 {(char *)"start", __pyx_getprop_10TabProxies_8GTFProxy_start, __pyx_setprop_10TabProxies_8GTFProxy_start, __Pyx_DOCSTR(__pyx_k_51), 0},
9004 {(char *)"end", __pyx_getprop_10TabProxies_8GTFProxy_end, __pyx_setprop_10TabProxies_8GTFProxy_end, __Pyx_DOCSTR(__pyx_k_52), 0},
9005 {(char *)"score", __pyx_getprop_10TabProxies_8GTFProxy_score, __pyx_setprop_10TabProxies_8GTFProxy_score, __Pyx_DOCSTR(__pyx_k_53), 0},
9006 {(char *)"strand", __pyx_getprop_10TabProxies_8GTFProxy_strand, __pyx_setprop_10TabProxies_8GTFProxy_strand, __Pyx_DOCSTR(__pyx_k_54), 0},
9007 {(char *)"frame", __pyx_getprop_10TabProxies_8GTFProxy_frame, __pyx_setprop_10TabProxies_8GTFProxy_frame, __Pyx_DOCSTR(__pyx_k_55), 0},
9008 {(char *)"attributes", __pyx_getprop_10TabProxies_8GTFProxy_attributes, __pyx_setprop_10TabProxies_8GTFProxy_attributes, __Pyx_DOCSTR(__pyx_k_56), 0},
9012 static PyNumberMethods __pyx_tp_as_number_GTFProxy = {
9016 #if PY_MAJOR_VERSION < 3
9032 #if PY_MAJOR_VERSION < 3
9036 #if PY_MAJOR_VERSION < 3
9042 #if PY_MAJOR_VERSION < 3
9045 #if PY_MAJOR_VERSION < 3
9048 0, /*nb_inplace_add*/
9049 0, /*nb_inplace_subtract*/
9050 0, /*nb_inplace_multiply*/
9051 #if PY_MAJOR_VERSION < 3
9052 0, /*nb_inplace_divide*/
9054 0, /*nb_inplace_remainder*/
9055 0, /*nb_inplace_power*/
9056 0, /*nb_inplace_lshift*/
9057 0, /*nb_inplace_rshift*/
9058 0, /*nb_inplace_and*/
9059 0, /*nb_inplace_xor*/
9060 0, /*nb_inplace_or*/
9061 0, /*nb_floor_divide*/
9062 0, /*nb_true_divide*/
9063 0, /*nb_inplace_floor_divide*/
9064 0, /*nb_inplace_true_divide*/
9065 #if PY_VERSION_HEX >= 0x02050000
9070 static PySequenceMethods __pyx_tp_as_sequence_GTFProxy = {
9074 __pyx_sq_item_10TabProxies_GTFProxy, /*sq_item*/
9079 0, /*sq_inplace_concat*/
9080 0, /*sq_inplace_repeat*/
9083 static PyMappingMethods __pyx_tp_as_mapping_GTFProxy = {
9085 __pyx_pw_10TabProxies_8GTFProxy_15__getitem__, /*mp_subscript*/
9086 0, /*mp_ass_subscript*/
9089 static PyBufferProcs __pyx_tp_as_buffer_GTFProxy = {
9090 #if PY_MAJOR_VERSION < 3
9091 0, /*bf_getreadbuffer*/
9093 #if PY_MAJOR_VERSION < 3
9094 0, /*bf_getwritebuffer*/
9096 #if PY_MAJOR_VERSION < 3
9097 0, /*bf_getsegcount*/
9099 #if PY_MAJOR_VERSION < 3
9100 0, /*bf_getcharbuffer*/
9102 #if PY_VERSION_HEX >= 0x02060000
9105 #if PY_VERSION_HEX >= 0x02060000
9106 0, /*bf_releasebuffer*/
9110 static PyTypeObject __pyx_type_10TabProxies_GTFProxy = {
9111 PyVarObject_HEAD_INIT(0, 0)
9112 __Pyx_NAMESTR("TabProxies.GTFProxy"), /*tp_name*/
9113 sizeof(struct __pyx_obj_10TabProxies_GTFProxy), /*tp_basicsize*/
9115 __pyx_tp_dealloc_10TabProxies_GTFProxy, /*tp_dealloc*/
9119 #if PY_MAJOR_VERSION < 3
9125 &__pyx_tp_as_number_GTFProxy, /*tp_as_number*/
9126 &__pyx_tp_as_sequence_GTFProxy, /*tp_as_sequence*/
9127 &__pyx_tp_as_mapping_GTFProxy, /*tp_as_mapping*/
9130 __pyx_pw_10TabProxies_8GTFProxy_9__str__, /*tp_str*/
9131 __pyx_tp_getattro_10TabProxies_GTFProxy, /*tp_getattro*/
9133 &__pyx_tp_as_buffer_GTFProxy, /*tp_as_buffer*/
9134 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
9135 __Pyx_DOCSTR("Proxy class for access to GTF fields.\n\n This class represents a GTF entry for fast read-access.\n Write-access has been added as well, though some care must\n be taken. If any of the string fields (contig, source, ...)\n are set, the new value is tied to the lifetime of the\n argument that was supplied.\n\n The only exception is the attributes field when set from\n a dictionary - this field will manage its own memory.\n "), /*tp_doc*/
9138 0, /*tp_richcompare*/
9139 0, /*tp_weaklistoffset*/
9142 __pyx_methods_10TabProxies_GTFProxy, /*tp_methods*/
9144 __pyx_getsets_10TabProxies_GTFProxy, /*tp_getset*/
9149 0, /*tp_dictoffset*/
9152 __pyx_tp_new_10TabProxies_GTFProxy, /*tp_new*/
9158 0, /*tp_subclasses*/
9161 #if PY_VERSION_HEX >= 0x02060000
9162 0, /*tp_version_tag*/
9165 static struct __pyx_vtabstruct_10TabProxies_NamedTupleProxy __pyx_vtable_10TabProxies_NamedTupleProxy;
9167 static PyObject *__pyx_tp_new_10TabProxies_NamedTupleProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
9168 struct __pyx_obj_10TabProxies_NamedTupleProxy *p;
9169 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
9171 p = ((struct __pyx_obj_10TabProxies_NamedTupleProxy *)o);
9172 p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_NamedTupleProxy;
9176 static PyObject *__pyx_tp_getattro_10TabProxies_NamedTupleProxy(PyObject *o, PyObject *n) {
9177 PyObject *v = PyObject_GenericGetAttr(o, n);
9178 if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
9180 v = __pyx_pw_10TabProxies_15NamedTupleProxy_3__getattr__(o, n);
9185 static int __pyx_tp_setattro_10TabProxies_NamedTupleProxy(PyObject *o, PyObject *n, PyObject *v) {
9187 return __pyx_pw_10TabProxies_15NamedTupleProxy_1__setattr__(o, n, v);
9190 if (__pyx_ptype_10TabProxies_TupleProxy->tp_setattro)
9191 return __pyx_ptype_10TabProxies_TupleProxy->tp_setattro(o, n, v);
9192 return PyObject_GenericSetAttr(o, n, 0);
9196 static PyMethodDef __pyx_methods_10TabProxies_NamedTupleProxy[] = {
9197 {__Pyx_NAMESTR("__getattr__"), (PyCFunction)__pyx_pw_10TabProxies_15NamedTupleProxy_3__getattr__, METH_O|METH_COEXIST, __Pyx_DOCSTR(0)},
9201 static PyNumberMethods __pyx_tp_as_number_NamedTupleProxy = {
9205 #if PY_MAJOR_VERSION < 3
9221 #if PY_MAJOR_VERSION < 3
9225 #if PY_MAJOR_VERSION < 3
9231 #if PY_MAJOR_VERSION < 3
9234 #if PY_MAJOR_VERSION < 3
9237 0, /*nb_inplace_add*/
9238 0, /*nb_inplace_subtract*/
9239 0, /*nb_inplace_multiply*/
9240 #if PY_MAJOR_VERSION < 3
9241 0, /*nb_inplace_divide*/
9243 0, /*nb_inplace_remainder*/
9244 0, /*nb_inplace_power*/
9245 0, /*nb_inplace_lshift*/
9246 0, /*nb_inplace_rshift*/
9247 0, /*nb_inplace_and*/
9248 0, /*nb_inplace_xor*/
9249 0, /*nb_inplace_or*/
9250 0, /*nb_floor_divide*/
9251 0, /*nb_true_divide*/
9252 0, /*nb_inplace_floor_divide*/
9253 0, /*nb_inplace_true_divide*/
9254 #if PY_VERSION_HEX >= 0x02050000
9259 static PySequenceMethods __pyx_tp_as_sequence_NamedTupleProxy = {
9268 0, /*sq_inplace_concat*/
9269 0, /*sq_inplace_repeat*/
9272 static PyMappingMethods __pyx_tp_as_mapping_NamedTupleProxy = {
9275 0, /*mp_ass_subscript*/
9278 static PyBufferProcs __pyx_tp_as_buffer_NamedTupleProxy = {
9279 #if PY_MAJOR_VERSION < 3
9280 0, /*bf_getreadbuffer*/
9282 #if PY_MAJOR_VERSION < 3
9283 0, /*bf_getwritebuffer*/
9285 #if PY_MAJOR_VERSION < 3
9286 0, /*bf_getsegcount*/
9288 #if PY_MAJOR_VERSION < 3
9289 0, /*bf_getcharbuffer*/
9291 #if PY_VERSION_HEX >= 0x02060000
9294 #if PY_VERSION_HEX >= 0x02060000
9295 0, /*bf_releasebuffer*/
9299 static PyTypeObject __pyx_type_10TabProxies_NamedTupleProxy = {
9300 PyVarObject_HEAD_INIT(0, 0)
9301 __Pyx_NAMESTR("TabProxies.NamedTupleProxy"), /*tp_name*/
9302 sizeof(struct __pyx_obj_10TabProxies_NamedTupleProxy), /*tp_basicsize*/
9304 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
9308 #if PY_MAJOR_VERSION < 3
9314 &__pyx_tp_as_number_NamedTupleProxy, /*tp_as_number*/
9315 &__pyx_tp_as_sequence_NamedTupleProxy, /*tp_as_sequence*/
9316 &__pyx_tp_as_mapping_NamedTupleProxy, /*tp_as_mapping*/
9320 __pyx_tp_getattro_10TabProxies_NamedTupleProxy, /*tp_getattro*/
9321 __pyx_tp_setattro_10TabProxies_NamedTupleProxy, /*tp_setattro*/
9322 &__pyx_tp_as_buffer_NamedTupleProxy, /*tp_as_buffer*/
9323 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
9327 0, /*tp_richcompare*/
9328 0, /*tp_weaklistoffset*/
9331 __pyx_methods_10TabProxies_NamedTupleProxy, /*tp_methods*/
9338 0, /*tp_dictoffset*/
9341 __pyx_tp_new_10TabProxies_NamedTupleProxy, /*tp_new*/
9347 0, /*tp_subclasses*/
9350 #if PY_VERSION_HEX >= 0x02060000
9351 0, /*tp_version_tag*/
9354 static struct __pyx_vtabstruct_10TabProxies_BedProxy __pyx_vtable_10TabProxies_BedProxy;
9356 static PyObject *__pyx_tp_new_10TabProxies_BedProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
9357 struct __pyx_obj_10TabProxies_BedProxy *p;
9358 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
9360 p = ((struct __pyx_obj_10TabProxies_BedProxy *)o);
9361 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_BedProxy;
9365 static int __pyx_tp_setattro_10TabProxies_BedProxy(PyObject *o, PyObject *n, PyObject *v) {
9367 return __pyx_pw_10TabProxies_8BedProxy_3__setattr__(o, n, v);
9370 if (__pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro)
9371 return __pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro(o, n, v);
9372 return PyObject_GenericSetAttr(o, n, 0);
9376 static PyMethodDef __pyx_methods_10TabProxies_BedProxy[] = {
9380 static PyNumberMethods __pyx_tp_as_number_BedProxy = {
9384 #if PY_MAJOR_VERSION < 3
9400 #if PY_MAJOR_VERSION < 3
9404 #if PY_MAJOR_VERSION < 3
9410 #if PY_MAJOR_VERSION < 3
9413 #if PY_MAJOR_VERSION < 3
9416 0, /*nb_inplace_add*/
9417 0, /*nb_inplace_subtract*/
9418 0, /*nb_inplace_multiply*/
9419 #if PY_MAJOR_VERSION < 3
9420 0, /*nb_inplace_divide*/
9422 0, /*nb_inplace_remainder*/
9423 0, /*nb_inplace_power*/
9424 0, /*nb_inplace_lshift*/
9425 0, /*nb_inplace_rshift*/
9426 0, /*nb_inplace_and*/
9427 0, /*nb_inplace_xor*/
9428 0, /*nb_inplace_or*/
9429 0, /*nb_floor_divide*/
9430 0, /*nb_true_divide*/
9431 0, /*nb_inplace_floor_divide*/
9432 0, /*nb_inplace_true_divide*/
9433 #if PY_VERSION_HEX >= 0x02050000
9438 static PySequenceMethods __pyx_tp_as_sequence_BedProxy = {
9447 0, /*sq_inplace_concat*/
9448 0, /*sq_inplace_repeat*/
9451 static PyMappingMethods __pyx_tp_as_mapping_BedProxy = {
9454 0, /*mp_ass_subscript*/
9457 static PyBufferProcs __pyx_tp_as_buffer_BedProxy = {
9458 #if PY_MAJOR_VERSION < 3
9459 0, /*bf_getreadbuffer*/
9461 #if PY_MAJOR_VERSION < 3
9462 0, /*bf_getwritebuffer*/
9464 #if PY_MAJOR_VERSION < 3
9465 0, /*bf_getsegcount*/
9467 #if PY_MAJOR_VERSION < 3
9468 0, /*bf_getcharbuffer*/
9470 #if PY_VERSION_HEX >= 0x02060000
9473 #if PY_VERSION_HEX >= 0x02060000
9474 0, /*bf_releasebuffer*/
9478 static PyTypeObject __pyx_type_10TabProxies_BedProxy = {
9479 PyVarObject_HEAD_INIT(0, 0)
9480 __Pyx_NAMESTR("TabProxies.BedProxy"), /*tp_name*/
9481 sizeof(struct __pyx_obj_10TabProxies_BedProxy), /*tp_basicsize*/
9483 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
9487 #if PY_MAJOR_VERSION < 3
9493 &__pyx_tp_as_number_BedProxy, /*tp_as_number*/
9494 &__pyx_tp_as_sequence_BedProxy, /*tp_as_sequence*/
9495 &__pyx_tp_as_mapping_BedProxy, /*tp_as_mapping*/
9498 __pyx_pw_10TabProxies_8BedProxy_1__str__, /*tp_str*/
9500 __pyx_tp_setattro_10TabProxies_BedProxy, /*tp_setattro*/
9501 &__pyx_tp_as_buffer_BedProxy, /*tp_as_buffer*/
9502 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
9503 __Pyx_DOCSTR("Proxy class for access to Bed fields.\n\n This class represents a GTF entry for fast read-access.\n "), /*tp_doc*/
9506 0, /*tp_richcompare*/
9507 0, /*tp_weaklistoffset*/
9510 __pyx_methods_10TabProxies_BedProxy, /*tp_methods*/
9517 0, /*tp_dictoffset*/
9520 __pyx_tp_new_10TabProxies_BedProxy, /*tp_new*/
9526 0, /*tp_subclasses*/
9529 #if PY_VERSION_HEX >= 0x02060000
9530 0, /*tp_version_tag*/
9533 static struct __pyx_vtabstruct_10TabProxies_VCFProxy __pyx_vtable_10TabProxies_VCFProxy;
9535 static PyObject *__pyx_tp_new_10TabProxies_VCFProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
9536 struct __pyx_obj_10TabProxies_VCFProxy *p;
9537 PyObject *o = __pyx_tp_new_10TabProxies_TupleProxy(t, a, k);
9539 p = ((struct __pyx_obj_10TabProxies_VCFProxy *)o);
9540 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_10TabProxies_TupleProxy*)__pyx_vtabptr_10TabProxies_VCFProxy;
9541 if (__pyx_pw_10TabProxies_8VCFProxy_1__cinit__(o, __pyx_empty_tuple, NULL) < 0) {
9542 Py_DECREF(o); o = 0;
9547 static int __pyx_tp_setattro_10TabProxies_VCFProxy(PyObject *o, PyObject *n, PyObject *v) {
9549 return __pyx_pw_10TabProxies_8VCFProxy_5__setattr__(o, n, v);
9552 if (__pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro)
9553 return __pyx_ptype_10TabProxies_NamedTupleProxy->tp_setattro(o, n, v);
9554 return PyObject_GenericSetAttr(o, n, 0);
9558 static PyObject *__pyx_getprop_10TabProxies_8VCFProxy_pos(PyObject *o, void *x) {
9559 return __pyx_pw_10TabProxies_8VCFProxy_3pos_1__get__(o);
9562 static PyMethodDef __pyx_methods_10TabProxies_VCFProxy[] = {
9566 static struct PyGetSetDef __pyx_getsets_10TabProxies_VCFProxy[] = {
9567 {(char *)"pos", __pyx_getprop_10TabProxies_8VCFProxy_pos, 0, __Pyx_DOCSTR(__pyx_k_52), 0},
9571 static PyNumberMethods __pyx_tp_as_number_VCFProxy = {
9575 #if PY_MAJOR_VERSION < 3
9591 #if PY_MAJOR_VERSION < 3
9595 #if PY_MAJOR_VERSION < 3
9601 #if PY_MAJOR_VERSION < 3
9604 #if PY_MAJOR_VERSION < 3
9607 0, /*nb_inplace_add*/
9608 0, /*nb_inplace_subtract*/
9609 0, /*nb_inplace_multiply*/
9610 #if PY_MAJOR_VERSION < 3
9611 0, /*nb_inplace_divide*/
9613 0, /*nb_inplace_remainder*/
9614 0, /*nb_inplace_power*/
9615 0, /*nb_inplace_lshift*/
9616 0, /*nb_inplace_rshift*/
9617 0, /*nb_inplace_and*/
9618 0, /*nb_inplace_xor*/
9619 0, /*nb_inplace_or*/
9620 0, /*nb_floor_divide*/
9621 0, /*nb_true_divide*/
9622 0, /*nb_inplace_floor_divide*/
9623 0, /*nb_inplace_true_divide*/
9624 #if PY_VERSION_HEX >= 0x02050000
9629 static PySequenceMethods __pyx_tp_as_sequence_VCFProxy = {
9630 __pyx_pw_10TabProxies_8VCFProxy_3__len__, /*sq_length*/
9638 0, /*sq_inplace_concat*/
9639 0, /*sq_inplace_repeat*/
9642 static PyMappingMethods __pyx_tp_as_mapping_VCFProxy = {
9643 __pyx_pw_10TabProxies_8VCFProxy_3__len__, /*mp_length*/
9645 0, /*mp_ass_subscript*/
9648 static PyBufferProcs __pyx_tp_as_buffer_VCFProxy = {
9649 #if PY_MAJOR_VERSION < 3
9650 0, /*bf_getreadbuffer*/
9652 #if PY_MAJOR_VERSION < 3
9653 0, /*bf_getwritebuffer*/
9655 #if PY_MAJOR_VERSION < 3
9656 0, /*bf_getsegcount*/
9658 #if PY_MAJOR_VERSION < 3
9659 0, /*bf_getcharbuffer*/
9661 #if PY_VERSION_HEX >= 0x02060000
9664 #if PY_VERSION_HEX >= 0x02060000
9665 0, /*bf_releasebuffer*/
9669 static PyTypeObject __pyx_type_10TabProxies_VCFProxy = {
9670 PyVarObject_HEAD_INIT(0, 0)
9671 __Pyx_NAMESTR("TabProxies.VCFProxy"), /*tp_name*/
9672 sizeof(struct __pyx_obj_10TabProxies_VCFProxy), /*tp_basicsize*/
9674 __pyx_tp_dealloc_10TabProxies_TupleProxy, /*tp_dealloc*/
9678 #if PY_MAJOR_VERSION < 3
9684 &__pyx_tp_as_number_VCFProxy, /*tp_as_number*/
9685 &__pyx_tp_as_sequence_VCFProxy, /*tp_as_sequence*/
9686 &__pyx_tp_as_mapping_VCFProxy, /*tp_as_mapping*/
9691 __pyx_tp_setattro_10TabProxies_VCFProxy, /*tp_setattro*/
9692 &__pyx_tp_as_buffer_VCFProxy, /*tp_as_buffer*/
9693 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
9694 __Pyx_DOCSTR("Proxy class for access to VCF fields.\n\n The genotypes are accessed via index.\n "), /*tp_doc*/
9697 0, /*tp_richcompare*/
9698 0, /*tp_weaklistoffset*/
9701 __pyx_methods_10TabProxies_VCFProxy, /*tp_methods*/
9703 __pyx_getsets_10TabProxies_VCFProxy, /*tp_getset*/
9708 0, /*tp_dictoffset*/
9711 __pyx_tp_new_10TabProxies_VCFProxy, /*tp_new*/
9717 0, /*tp_subclasses*/
9720 #if PY_VERSION_HEX >= 0x02060000
9721 0, /*tp_version_tag*/
9725 static PyMethodDef __pyx_methods[] = {
9729 #if PY_MAJOR_VERSION >= 3
9730 static struct PyModuleDef __pyx_moduledef = {
9731 PyModuleDef_HEAD_INIT,
9732 __Pyx_NAMESTR("TabProxies"),
9735 __pyx_methods /* m_methods */,
9736 NULL, /* m_reload */
9737 NULL, /* m_traverse */
9743 static __Pyx_StringTabEntry __pyx_string_tab[] = {
9744 {&__pyx_kp_u_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 1, 0, 0},
9745 {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0},
9746 {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0},
9747 {&__pyx_kp_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 0},
9748 {&__pyx_kp_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 0},
9749 {&__pyx_kp_s_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 1, 0},
9750 {&__pyx_kp_s_22, __pyx_k_22, sizeof(__pyx_k_22), 0, 0, 1, 0},
9751 {&__pyx_kp_u_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 1, 0, 0},
9752 {&__pyx_kp_s_32, __pyx_k_32, sizeof(__pyx_k_32), 0, 0, 1, 0},
9753 {&__pyx_kp_s_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 1, 0},
9754 {&__pyx_kp_s_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 1, 0},
9755 {&__pyx_kp_s_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 0, 1, 0},
9756 {&__pyx_kp_s_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 1, 0},
9757 {&__pyx_kp_s_39, __pyx_k_39, sizeof(__pyx_k_39), 0, 0, 1, 0},
9758 {&__pyx_kp_s_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 1, 0},
9759 {&__pyx_kp_s_44, __pyx_k_44, sizeof(__pyx_k_44), 0, 0, 1, 0},
9760 {&__pyx_kp_s_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 1, 0},
9761 {&__pyx_kp_s_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 1, 0},
9762 {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
9763 {&__pyx_n_s_57, __pyx_k_57, sizeof(__pyx_k_57), 0, 0, 1, 1},
9764 {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
9765 {&__pyx_kp_s_60, __pyx_k_60, sizeof(__pyx_k_60), 0, 0, 1, 0},
9766 {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
9767 {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0},
9768 {&__pyx_n_s__AttributeError, __pyx_k__AttributeError, sizeof(__pyx_k__AttributeError), 0, 0, 1, 1},
9769 {&__pyx_n_s__IndexError, __pyx_k__IndexError, sizeof(__pyx_k__IndexError), 0, 0, 1, 1},
9770 {&__pyx_n_s__KeyError, __pyx_k__KeyError, sizeof(__pyx_k__KeyError), 0, 0, 1, 1},
9771 {&__pyx_n_s__StopIteration, __pyx_k__StopIteration, sizeof(__pyx_k__StopIteration), 0, 0, 1, 1},
9772 {&__pyx_n_s__StringTypes, __pyx_k__StringTypes, sizeof(__pyx_k__StringTypes), 0, 0, 1, 1},
9773 {&__pyx_n_s__TabProxies, __pyx_k__TabProxies, sizeof(__pyx_k__TabProxies), 0, 0, 1, 1},
9774 {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
9775 {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
9776 {&__pyx_n_s____getattr__, __pyx_k____getattr__, sizeof(__pyx_k____getattr__), 0, 0, 1, 1},
9777 {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
9778 {&__pyx_n_s____setitem__, __pyx_k____setitem__, sizeof(__pyx_k____setitem__), 0, 0, 1, 1},
9779 {&__pyx_n_s____str__, __pyx_k____str__, sizeof(__pyx_k____str__), 0, 0, 1, 1},
9780 {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
9781 {&__pyx_n_s___getindex, __pyx_k___getindex, sizeof(__pyx_k___getindex), 0, 0, 1, 1},
9782 {&__pyx_n_s___setindex, __pyx_k___setindex, sizeof(__pyx_k___setindex), 0, 0, 1, 1},
9783 {&__pyx_n_s__alt, __pyx_k__alt, sizeof(__pyx_k__alt), 0, 0, 1, 1},
9784 {&__pyx_n_s__asDict, __pyx_k__asDict, sizeof(__pyx_k__asDict), 0, 0, 1, 1},
9785 {&__pyx_n_s__ascii, __pyx_k__ascii, sizeof(__pyx_k__ascii), 0, 0, 1, 1},
9786 {&__pyx_n_s__attributes, __pyx_k__attributes, sizeof(__pyx_k__attributes), 0, 0, 1, 1},
9787 {&__pyx_n_s__blockCount, __pyx_k__blockCount, sizeof(__pyx_k__blockCount), 0, 0, 1, 1},
9788 {&__pyx_n_s__blockSizes, __pyx_k__blockSizes, sizeof(__pyx_k__blockSizes), 0, 0, 1, 1},
9789 {&__pyx_n_s__blockStarts, __pyx_k__blockStarts, sizeof(__pyx_k__blockStarts), 0, 0, 1, 1},
9790 {&__pyx_n_s__contig, __pyx_k__contig, sizeof(__pyx_k__contig), 0, 0, 1, 1},
9791 {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1},
9792 {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1},
9793 {&__pyx_n_s__end, __pyx_k__end, sizeof(__pyx_k__end), 0, 0, 1, 1},
9794 {&__pyx_n_s__feature, __pyx_k__feature, sizeof(__pyx_k__feature), 0, 0, 1, 1},
9795 {&__pyx_n_s__filter, __pyx_k__filter, sizeof(__pyx_k__filter), 0, 0, 1, 1},
9796 {&__pyx_n_s__format, __pyx_k__format, sizeof(__pyx_k__format), 0, 0, 1, 1},
9797 {&__pyx_n_s__frame, __pyx_k__frame, sizeof(__pyx_k__frame), 0, 0, 1, 1},
9798 {&__pyx_n_s__fromDict, __pyx_k__fromDict, sizeof(__pyx_k__fromDict), 0, 0, 1, 1},
9799 {&__pyx_n_s__getdefaultencoding, __pyx_k__getdefaultencoding, sizeof(__pyx_k__getdefaultencoding), 0, 0, 1, 1},
9800 {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
9801 {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
9802 {&__pyx_n_s__indices, __pyx_k__indices, sizeof(__pyx_k__indices), 0, 0, 1, 1},
9803 {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1},
9804 {&__pyx_n_s__itemRGB, __pyx_k__itemRGB, sizeof(__pyx_k__itemRGB), 0, 0, 1, 1},
9805 {&__pyx_n_s__items, __pyx_k__items, sizeof(__pyx_k__items), 0, 0, 1, 1},
9806 {&__pyx_n_s__join, __pyx_k__join, sizeof(__pyx_k__join), 0, 0, 1, 1},
9807 {&__pyx_n_s__map_key2field, __pyx_k__map_key2field, sizeof(__pyx_k__map_key2field), 0, 0, 1, 1},
9808 {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
9809 {&__pyx_n_s__pos, __pyx_k__pos, sizeof(__pyx_k__pos), 0, 0, 1, 1},
9810 {&__pyx_n_s__qual, __pyx_k__qual, sizeof(__pyx_k__qual), 0, 0, 1, 1},
9811 {&__pyx_n_s__quote, __pyx_k__quote, sizeof(__pyx_k__quote), 0, 0, 1, 1},
9812 {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
9813 {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1},
9814 {&__pyx_n_s__score, __pyx_k__score, sizeof(__pyx_k__score), 0, 0, 1, 1},
9815 {&__pyx_n_s__source, __pyx_k__source, sizeof(__pyx_k__source), 0, 0, 1, 1},
9816 {&__pyx_n_s__split, __pyx_k__split, sizeof(__pyx_k__split), 0, 0, 1, 1},
9817 {&__pyx_n_s__start, __pyx_k__start, sizeof(__pyx_k__start), 0, 0, 1, 1},
9818 {&__pyx_n_s__strand, __pyx_k__strand, sizeof(__pyx_k__strand), 0, 0, 1, 1},
9819 {&__pyx_n_s__strip, __pyx_k__strip, sizeof(__pyx_k__strip), 0, 0, 1, 1},
9820 {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1},
9821 {&__pyx_n_s__thickEnd, __pyx_k__thickEnd, sizeof(__pyx_k__thickEnd), 0, 0, 1, 1},
9822 {&__pyx_n_s__thickStart, __pyx_k__thickStart, sizeof(__pyx_k__thickStart), 0, 0, 1, 1},
9823 {&__pyx_n_s__toDot, __pyx_k__toDot, sizeof(__pyx_k__toDot), 0, 0, 1, 1},
9824 {&__pyx_n_s__types, __pyx_k__types, sizeof(__pyx_k__types), 0, 0, 1, 1},
9825 {&__pyx_n_s__v, __pyx_k__v, sizeof(__pyx_k__v), 0, 0, 1, 1},
9826 {&__pyx_n_s__value, __pyx_k__value, sizeof(__pyx_k__value), 0, 0, 1, 1},
9827 {&__pyx_n_s__xrange, __pyx_k__xrange, sizeof(__pyx_k__xrange), 0, 0, 1, 1},
9828 {0, 0, 0, 0, 0, 0, 0}
9830 static int __Pyx_InitCachedBuiltins(void) {
9831 __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9832 __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9833 __pyx_builtin_IndexError = __Pyx_GetName(__pyx_b, __pyx_n_s__IndexError); if (!__pyx_builtin_IndexError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9834 __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9835 __pyx_builtin_StopIteration = __Pyx_GetName(__pyx_b, __pyx_n_s__StopIteration); if (!__pyx_builtin_StopIteration) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9836 #if PY_MAJOR_VERSION >= 3
9837 __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9839 __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9841 __pyx_builtin_AttributeError = __Pyx_GetName(__pyx_b, __pyx_n_s__AttributeError); if (!__pyx_builtin_AttributeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 549; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9842 __pyx_builtin_KeyError = __Pyx_GetName(__pyx_b, __pyx_n_s__KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9848 static int __Pyx_InitCachedConstants(void) {
9849 __Pyx_RefNannyDeclarations
9850 __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
9852 /* "TabProxies.pyx":43
9854 * elif PyUnicode_Check(s):
9855 * return s.encode('ascii') # <<<<<<<<<<<<<<
9857 * raise TypeError, u"Argument must be string, bytes or unicode."
9859 __pyx_k_tuple_2 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9860 __Pyx_GOTREF(__pyx_k_tuple_2);
9861 __Pyx_INCREF(((PyObject *)__pyx_n_s__ascii));
9862 PyTuple_SET_ITEM(__pyx_k_tuple_2, 0, ((PyObject *)__pyx_n_s__ascii));
9863 __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ascii));
9864 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
9866 /* "TabProxies.pyx":63
9868 * elif PyBytes_Check(s):
9869 * return s.decode('ascii') # <<<<<<<<<<<<<<
9873 __pyx_k_tuple_4 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9874 __Pyx_GOTREF(__pyx_k_tuple_4);
9875 __Pyx_INCREF(((PyObject *)__pyx_n_s__ascii));
9876 PyTuple_SET_ITEM(__pyx_k_tuple_4, 0, ((PyObject *)__pyx_n_s__ascii));
9877 __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ascii));
9878 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
9880 /* "TabProxies.pyx":144
9881 * self.data = <char*>malloc( s )
9882 * if self.data == NULL:
9883 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
9884 * self.nbytes = nbytes
9885 * memcpy( <char*>self.data, buffer, s )
9887 __pyx_k_tuple_8 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9888 __Pyx_GOTREF(__pyx_k_tuple_8);
9889 __Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
9890 PyTuple_SET_ITEM(__pyx_k_tuple_8, 0, ((PyObject *)__pyx_kp_s_7));
9891 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_7));
9892 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
9894 /* "TabProxies.pyx":201
9895 * self.fields = <char **>calloc( max_fields, sizeof(char *) )
9896 * if self.fields == NULL:
9897 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
9899 * #################################
9901 __pyx_k_tuple_10 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9902 __Pyx_GOTREF(__pyx_k_tuple_10);
9903 __Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
9904 PyTuple_SET_ITEM(__pyx_k_tuple_10, 0, ((PyObject *)__pyx_kp_s_7));
9905 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_7));
9906 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_10));
9908 /* "TabProxies.pyx":230
9909 * cdef int i = index
9910 * if i < 0: i += self.nfields
9911 * if i < 0: raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
9913 * if i >= self.nfields:
9915 __pyx_k_tuple_13 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9916 __Pyx_GOTREF(__pyx_k_tuple_13);
9917 __Pyx_INCREF(((PyObject *)__pyx_kp_s_12));
9918 PyTuple_SET_ITEM(__pyx_k_tuple_13, 0, ((PyObject *)__pyx_kp_s_12));
9919 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12));
9920 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_13));
9922 /* "TabProxies.pyx":248
9923 * '''set item at idx index.'''
9924 * cdef int idx = index
9925 * if idx < 0: raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
9926 * if idx >= self.nfields:
9927 * raise IndexError( "list index out of range" )
9929 __pyx_k_tuple_15 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9930 __Pyx_GOTREF(__pyx_k_tuple_15);
9931 __Pyx_INCREF(((PyObject *)__pyx_kp_s_12));
9932 PyTuple_SET_ITEM(__pyx_k_tuple_15, 0, ((PyObject *)__pyx_kp_s_12));
9933 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12));
9934 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
9936 /* "TabProxies.pyx":250
9937 * if idx < 0: raise IndexError( "list index out of range" )
9938 * if idx >= self.nfields:
9939 * raise IndexError( "list index out of range" ) # <<<<<<<<<<<<<<
9941 * if isNew( self.fields[idx], self.data, self.nbytes ):
9943 __pyx_k_tuple_16 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9944 __Pyx_GOTREF(__pyx_k_tuple_16);
9945 __Pyx_INCREF(((PyObject *)__pyx_kp_s_12));
9946 PyTuple_SET_ITEM(__pyx_k_tuple_16, 0, ((PyObject *)__pyx_kp_s_12));
9947 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12));
9948 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));
9950 /* "TabProxies.pyx":266
9951 * self.fields[idx] = <char*>malloc( (strlen( tmp ) + 1) * sizeof(char) )
9952 * if self.fields[idx] == NULL:
9953 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
9954 * strcpy( self.fields[idx], tmp )
9957 __pyx_k_tuple_17 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9958 __Pyx_GOTREF(__pyx_k_tuple_17);
9959 __Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
9960 PyTuple_SET_ITEM(__pyx_k_tuple_17, 0, ((PyObject *)__pyx_kp_s_7));
9961 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_7));
9962 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
9964 /* "TabProxies.pyx":306
9965 * cpy = <char*>calloc( sizeof(char), self.nbytes+1 )
9967 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
9968 * memcpy( cpy, self.data, self.nbytes+1)
9969 * for x from 0 <= x < self.nbytes:
9971 __pyx_k_tuple_19 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9972 __Pyx_GOTREF(__pyx_k_tuple_19);
9973 __Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
9974 PyTuple_SET_ITEM(__pyx_k_tuple_19, 0, ((PyObject *)__pyx_kp_s_7));
9975 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_7));
9976 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));
9978 /* "TabProxies.pyx":312
9979 * result = cpy[:self.nbytes]
9981 * return result.decode('ascii') # <<<<<<<<<<<<<<
9985 __pyx_k_tuple_20 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
9986 __Pyx_GOTREF(__pyx_k_tuple_20);
9987 __Pyx_INCREF(((PyObject *)__pyx_n_s__ascii));
9988 PyTuple_SET_ITEM(__pyx_k_tuple_20, 0, ((PyObject *)__pyx_n_s__ascii));
9989 __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ascii));
9990 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_20));
9992 /* "TabProxies.pyx":355
9994 * '''contig of feature.'''
9995 * def __get__( self ): return self._getindex( 0 ) # <<<<<<<<<<<<<<
9996 * def __set__( self, value ): self._setindex( 0, value )
9999 __pyx_k_tuple_23 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10000 __Pyx_GOTREF(__pyx_k_tuple_23);
10001 __Pyx_INCREF(__pyx_int_0);
10002 PyTuple_SET_ITEM(__pyx_k_tuple_23, 0, __pyx_int_0);
10003 __Pyx_GIVEREF(__pyx_int_0);
10004 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_23));
10006 /* "TabProxies.pyx":360
10008 * '''feature source.'''
10009 * def __get__( self ): return self._getindex( 1 ) # <<<<<<<<<<<<<<
10010 * def __set__( self, value ): self._setindex( 1, value )
10013 __pyx_k_tuple_24 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10014 __Pyx_GOTREF(__pyx_k_tuple_24);
10015 __Pyx_INCREF(__pyx_int_1);
10016 PyTuple_SET_ITEM(__pyx_k_tuple_24, 0, __pyx_int_1);
10017 __Pyx_GIVEREF(__pyx_int_1);
10018 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_24));
10020 /* "TabProxies.pyx":365
10021 * property feature:
10022 * '''feature name.'''
10023 * def __get__( self ): return self._getindex( 2 ) # <<<<<<<<<<<<<<
10024 * def __set__( self, value ): self._setindex( 2, value )
10027 __pyx_k_tuple_25 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10028 __Pyx_GOTREF(__pyx_k_tuple_25);
10029 __Pyx_INCREF(__pyx_int_2);
10030 PyTuple_SET_ITEM(__pyx_k_tuple_25, 0, __pyx_int_2);
10031 __Pyx_GIVEREF(__pyx_int_2);
10032 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_25));
10034 /* "TabProxies.pyx":370
10036 * '''feature start (in 0-based open/closed coordinates).'''
10037 * def __get__( self ): return int( self._getindex( 3 )) - 1 # <<<<<<<<<<<<<<
10038 * def __set__( self, value ): self._setindex( 3, str(value+1) )
10041 __pyx_k_tuple_26 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10042 __Pyx_GOTREF(__pyx_k_tuple_26);
10043 __Pyx_INCREF(__pyx_int_3);
10044 PyTuple_SET_ITEM(__pyx_k_tuple_26, 0, __pyx_int_3);
10045 __Pyx_GIVEREF(__pyx_int_3);
10046 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_26));
10048 /* "TabProxies.pyx":375
10050 * '''feature end (in 0-based open/closed coordinates).'''
10051 * def __get__( self ): return int( self._getindex( 4 ) ) # <<<<<<<<<<<<<<
10052 * def __set__( self, value ): self._setindex( 4, str(value) )
10055 __pyx_k_tuple_27 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10056 __Pyx_GOTREF(__pyx_k_tuple_27);
10057 __Pyx_INCREF(__pyx_int_4);
10058 PyTuple_SET_ITEM(__pyx_k_tuple_27, 0, __pyx_int_4);
10059 __Pyx_GIVEREF(__pyx_int_4);
10060 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_27));
10062 /* "TabProxies.pyx":381
10063 * '''feature score.'''
10064 * def __get__( self ):
10065 * v = self._getindex(5) # <<<<<<<<<<<<<<
10066 * if v == "" or v[0] == '.':
10069 __pyx_k_tuple_28 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10070 __Pyx_GOTREF(__pyx_k_tuple_28);
10071 __Pyx_INCREF(__pyx_int_5);
10072 PyTuple_SET_ITEM(__pyx_k_tuple_28, 0, __pyx_int_5);
10073 __Pyx_GIVEREF(__pyx_int_5);
10074 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28));
10076 /* "TabProxies.pyx":391
10078 * '''feature strand.'''
10079 * def __get__( self ): return self._getindex( 6 ) # <<<<<<<<<<<<<<
10080 * def __set__( self, value ): self._setindex( 6, value )
10083 __pyx_k_tuple_29 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10084 __Pyx_GOTREF(__pyx_k_tuple_29);
10085 __Pyx_INCREF(__pyx_int_6);
10086 PyTuple_SET_ITEM(__pyx_k_tuple_29, 0, __pyx_int_6);
10087 __Pyx_GIVEREF(__pyx_int_6);
10088 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_29));
10090 /* "TabProxies.pyx":396
10092 * '''feature frame.'''
10093 * def __get__( self ): return self._getindex( 7 ) # <<<<<<<<<<<<<<
10094 * def __set__( self, value ): self._setindex( 7, value )
10097 __pyx_k_tuple_30 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10098 __Pyx_GOTREF(__pyx_k_tuple_30);
10099 __Pyx_INCREF(__pyx_int_7);
10100 PyTuple_SET_ITEM(__pyx_k_tuple_30, 0, __pyx_int_7);
10101 __Pyx_GIVEREF(__pyx_int_7);
10102 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_30));
10104 /* "TabProxies.pyx":405
10105 * return self._attributes
10107 * return self._getindex( 8 ) # <<<<<<<<<<<<<<
10108 * def __set__( self, value ):
10109 * if self.hasOwnAttributes:
10111 __pyx_k_tuple_31 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10112 __Pyx_GOTREF(__pyx_k_tuple_31);
10113 __Pyx_INCREF(__pyx_int_8);
10114 PyTuple_SET_ITEM(__pyx_k_tuple_31, 0, __pyx_int_8);
10115 __Pyx_GIVEREF(__pyx_int_8);
10116 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_31));
10118 /* "TabProxies.pyx":428
10120 * # separate into fields
10121 * fields = [ x.strip() for x in attributes.split(";")[:-1]] # <<<<<<<<<<<<<<
10125 __pyx_k_tuple_33 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10126 __Pyx_GOTREF(__pyx_k_tuple_33);
10127 __Pyx_INCREF(((PyObject *)__pyx_kp_s_32));
10128 PyTuple_SET_ITEM(__pyx_k_tuple_33, 0, ((PyObject *)__pyx_kp_s_32));
10129 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_32));
10130 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_33));
10132 /* "TabProxies.pyx":434
10135 * d = [ x.strip() for x in f.split(" ")] # <<<<<<<<<<<<<<
10139 __pyx_k_tuple_35 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10140 __Pyx_GOTREF(__pyx_k_tuple_35);
10141 __Pyx_INCREF(((PyObject *)__pyx_kp_s_34));
10142 PyTuple_SET_ITEM(__pyx_k_tuple_35, 0, ((PyObject *)__pyx_kp_s_34));
10143 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_34));
10144 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_35));
10146 /* "TabProxies.pyx":476
10147 * self._attributes = <char *>calloc( l + 1, sizeof(char) )
10148 * if self._attributes == NULL:
10149 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
10150 * memcpy( self._attributes, p, l )
10153 __pyx_k_tuple_40 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10154 __Pyx_GOTREF(__pyx_k_tuple_40);
10155 __Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
10156 PyTuple_SET_ITEM(__pyx_k_tuple_40, 0, ((PyObject *)__pyx_kp_s_7));
10157 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_7));
10158 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_40));
10160 /* "TabProxies.pyx":514
10161 * '''return a list of attributes defined in this entry.'''
10162 * r = self.attributes
10163 * return [ x.strip().split(" ")[0] for x in r.split(";") if x.strip() != '' ] # <<<<<<<<<<<<<<
10165 * def __getitem__(self, key):
10167 __pyx_k_tuple_42 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10168 __Pyx_GOTREF(__pyx_k_tuple_42);
10169 __Pyx_INCREF(((PyObject *)__pyx_kp_s_32));
10170 PyTuple_SET_ITEM(__pyx_k_tuple_42, 0, ((PyObject *)__pyx_kp_s_32));
10171 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_32));
10172 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_42));
10173 __pyx_k_tuple_43 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10174 __Pyx_GOTREF(__pyx_k_tuple_43);
10175 __Pyx_INCREF(((PyObject *)__pyx_kp_s_34));
10176 PyTuple_SET_ITEM(__pyx_k_tuple_43, 0, ((PyObject *)__pyx_kp_s_34));
10177 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_34));
10178 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_43));
10180 /* "TabProxies.pyx":621
10182 * if self.nfields < 3:
10183 * raise ValueError( "bed format requires at least three columns" ) # <<<<<<<<<<<<<<
10185 * # determines bed format
10187 __pyx_k_tuple_47 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10188 __Pyx_GOTREF(__pyx_k_tuple_47);
10189 __Pyx_INCREF(((PyObject *)__pyx_kp_s_46));
10190 PyTuple_SET_ITEM(__pyx_k_tuple_47, 0, ((PyObject *)__pyx_kp_s_46));
10191 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_46));
10192 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_47));
10194 /* "TabProxies.pyx":314
10195 * return result.decode('ascii')
10197 * def toDot( v ): # <<<<<<<<<<<<<<
10198 * '''convert value to '.' if None'''
10199 * if v == None: return "."
10201 __pyx_k_tuple_58 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_58)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10202 __Pyx_GOTREF(__pyx_k_tuple_58);
10203 __Pyx_INCREF(((PyObject *)__pyx_n_s__v));
10204 PyTuple_SET_ITEM(__pyx_k_tuple_58, 0, ((PyObject *)__pyx_n_s__v));
10205 __Pyx_GIVEREF(((PyObject *)__pyx_n_s__v));
10206 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_58));
10207 __pyx_k_codeobj_59 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_60, __pyx_n_s__toDot, 314, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_59)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10209 /* "TabProxies.pyx":319
10210 * else: return str(v)
10212 * def quote( v ): # <<<<<<<<<<<<<<
10213 * '''return a quoted attribute.'''
10214 * if type(v) in types.StringTypes:
10216 __pyx_k_tuple_61 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10217 __Pyx_GOTREF(__pyx_k_tuple_61);
10218 __Pyx_INCREF(((PyObject *)__pyx_n_s__v));
10219 PyTuple_SET_ITEM(__pyx_k_tuple_61, 0, ((PyObject *)__pyx_n_s__v));
10220 __Pyx_GIVEREF(((PyObject *)__pyx_n_s__v));
10221 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_61));
10222 __pyx_k_codeobj_62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_60, __pyx_n_s__quote, 319, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10223 __Pyx_RefNannyFinishContext();
10226 __Pyx_RefNannyFinishContext();
10230 static int __Pyx_InitGlobals(void) {
10231 if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10232 __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10233 __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10234 __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10235 __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10236 __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10237 __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10238 __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10239 __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10240 __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10241 __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10242 __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10243 __pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10249 #if PY_MAJOR_VERSION < 3
10250 PyMODINIT_FUNC initTabProxies(void); /*proto*/
10251 PyMODINIT_FUNC initTabProxies(void)
10253 PyMODINIT_FUNC PyInit_TabProxies(void); /*proto*/
10254 PyMODINIT_FUNC PyInit_TabProxies(void)
10257 PyObject *__pyx_t_1 = NULL;
10258 PyObject *__pyx_t_2 = NULL;
10260 __Pyx_RefNannyDeclarations
10261 #if CYTHON_REFNANNY
10262 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
10263 if (!__Pyx_RefNanny) {
10265 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
10266 if (!__Pyx_RefNanny)
10267 Py_FatalError("failed to import 'refnanny' module");
10270 __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_TabProxies(void)", 0);
10271 if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10272 __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10273 __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10274 #ifdef __Pyx_CyFunction_USED
10275 if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10277 #ifdef __Pyx_FusedFunction_USED
10278 if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10280 #ifdef __Pyx_Generator_USED
10281 if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10283 /*--- Library function declarations ---*/
10284 /*--- Threads initialization code ---*/
10285 #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
10286 #ifdef WITH_THREAD /* Python build with threading support? */
10287 PyEval_InitThreads();
10290 /*--- Module creation code ---*/
10291 #if PY_MAJOR_VERSION < 3
10292 __pyx_m = Py_InitModule4(__Pyx_NAMESTR("TabProxies"), __pyx_methods, 0, 0, PYTHON_API_VERSION);
10294 __pyx_m = PyModule_Create(&__pyx_moduledef);
10296 if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10297 #if PY_MAJOR_VERSION < 3
10298 Py_INCREF(__pyx_m);
10300 __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
10301 if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10302 if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10303 /*--- Initialize various global constants etc. ---*/
10304 if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10305 if (__pyx_module_is_main_TabProxies) {
10306 if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
10308 /*--- Builtin init code ---*/
10309 if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10310 /*--- Constants init code ---*/
10311 if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10312 /*--- Global init code ---*/
10313 __pyx_v_10TabProxies__FILENAME_ENCODING = ((PyObject*)Py_None); Py_INCREF(Py_None);
10314 /*--- Variable export code ---*/
10315 /*--- Function export code ---*/
10316 /*--- Type init code ---*/
10317 __pyx_vtabptr_10TabProxies_TupleProxy = &__pyx_vtable_10TabProxies_TupleProxy;
10318 __pyx_vtable_10TabProxies_TupleProxy.getMaxFields = (int (*)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t))__pyx_f_10TabProxies_10TupleProxy_getMaxFields;
10319 __pyx_vtable_10TabProxies_TupleProxy.take = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_take;
10320 __pyx_vtable_10TabProxies_TupleProxy.present = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_present;
10321 __pyx_vtable_10TabProxies_TupleProxy.copy = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_copy;
10322 __pyx_vtable_10TabProxies_TupleProxy.update = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_10TupleProxy_update;
10323 if (PyType_Ready(&__pyx_type_10TabProxies_TupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10325 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_TupleProxy, "__setitem__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10326 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10327 __pyx_wrapperbase_10TabProxies_10TupleProxy_10__setitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10328 __pyx_wrapperbase_10TabProxies_10TupleProxy_10__setitem__.doc = __pyx_doc_10TabProxies_10TupleProxy_10__setitem__;
10329 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_10TupleProxy_10__setitem__;
10333 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_TupleProxy, "__next__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10334 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10335 __pyx_wrapperbase_10TabProxies_10TupleProxy_16__next__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10336 __pyx_wrapperbase_10TabProxies_10TupleProxy_16__next__.doc = __pyx_doc_10TabProxies_10TupleProxy_16__next__;
10337 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_10TupleProxy_16__next__;
10341 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_TupleProxy, "__str__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10342 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10343 __pyx_wrapperbase_10TabProxies_10TupleProxy_18__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10344 __pyx_wrapperbase_10TabProxies_10TupleProxy_18__str__.doc = __pyx_doc_10TabProxies_10TupleProxy_18__str__;
10345 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_10TupleProxy_18__str__;
10348 if (__Pyx_SetVtable(__pyx_type_10TabProxies_TupleProxy.tp_dict, __pyx_vtabptr_10TabProxies_TupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10349 if (__Pyx_SetAttrString(__pyx_m, "TupleProxy", (PyObject *)&__pyx_type_10TabProxies_TupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10350 __pyx_ptype_10TabProxies_TupleProxy = &__pyx_type_10TabProxies_TupleProxy;
10351 __pyx_vtabptr_10TabProxies_GTFProxy = &__pyx_vtable_10TabProxies_GTFProxy;
10352 __pyx_vtable_10TabProxies_GTFProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_TupleProxy;
10353 __pyx_vtable_10TabProxies_GTFProxy.__pyx_base.getMaxFields = (int (*)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t))__pyx_f_10TabProxies_8GTFProxy_getMaxFields;
10354 __pyx_vtable_10TabProxies_GTFProxy.getAttributes = (char *(*)(struct __pyx_obj_10TabProxies_GTFProxy *))__pyx_f_10TabProxies_8GTFProxy_getAttributes;
10355 __pyx_type_10TabProxies_GTFProxy.tp_base = __pyx_ptype_10TabProxies_TupleProxy;
10356 if (PyType_Ready(&__pyx_type_10TabProxies_GTFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10358 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_GTFProxy, "__getattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10359 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10360 __pyx_wrapperbase_10TabProxies_8GTFProxy_16__getattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10361 __pyx_wrapperbase_10TabProxies_8GTFProxy_16__getattr__.doc = __pyx_doc_10TabProxies_8GTFProxy_16__getattr__;
10362 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_8GTFProxy_16__getattr__;
10365 if (__Pyx_SetVtable(__pyx_type_10TabProxies_GTFProxy.tp_dict, __pyx_vtabptr_10TabProxies_GTFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10366 if (__Pyx_SetAttrString(__pyx_m, "GTFProxy", (PyObject *)&__pyx_type_10TabProxies_GTFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10367 __pyx_ptype_10TabProxies_GTFProxy = &__pyx_type_10TabProxies_GTFProxy;
10368 __pyx_vtabptr_10TabProxies_NamedTupleProxy = &__pyx_vtable_10TabProxies_NamedTupleProxy;
10369 __pyx_vtable_10TabProxies_NamedTupleProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_TupleProxy;
10370 __pyx_type_10TabProxies_NamedTupleProxy.tp_base = __pyx_ptype_10TabProxies_TupleProxy;
10371 if (PyType_Ready(&__pyx_type_10TabProxies_NamedTupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10373 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_NamedTupleProxy, "__setattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10374 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10375 __pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10376 __pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__.doc = __pyx_doc_10TabProxies_15NamedTupleProxy___setattr__;
10377 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_15NamedTupleProxy___setattr__;
10380 if (__Pyx_SetVtable(__pyx_type_10TabProxies_NamedTupleProxy.tp_dict, __pyx_vtabptr_10TabProxies_NamedTupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10381 if (__Pyx_SetAttrString(__pyx_m, "NamedTupleProxy", (PyObject *)&__pyx_type_10TabProxies_NamedTupleProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10382 __pyx_ptype_10TabProxies_NamedTupleProxy = &__pyx_type_10TabProxies_NamedTupleProxy;
10383 __pyx_vtabptr_10TabProxies_BedProxy = &__pyx_vtable_10TabProxies_BedProxy;
10384 __pyx_vtable_10TabProxies_BedProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_NamedTupleProxy;
10385 __pyx_vtable_10TabProxies_BedProxy.__pyx_base.__pyx_base.getMaxFields = (int (*)(struct __pyx_obj_10TabProxies_TupleProxy *, size_t))__pyx_f_10TabProxies_8BedProxy_getMaxFields;
10386 __pyx_vtable_10TabProxies_BedProxy.__pyx_base.__pyx_base.update = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_8BedProxy_update;
10387 __pyx_type_10TabProxies_BedProxy.tp_base = __pyx_ptype_10TabProxies_NamedTupleProxy;
10388 if (PyType_Ready(&__pyx_type_10TabProxies_BedProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10390 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_BedProxy, "__setattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10391 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10392 __pyx_wrapperbase_10TabProxies_8BedProxy_2__setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10393 __pyx_wrapperbase_10TabProxies_8BedProxy_2__setattr__.doc = __pyx_doc_10TabProxies_8BedProxy_2__setattr__;
10394 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_8BedProxy_2__setattr__;
10397 if (__Pyx_SetVtable(__pyx_type_10TabProxies_BedProxy.tp_dict, __pyx_vtabptr_10TabProxies_BedProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10398 if (__Pyx_SetAttrString(__pyx_m, "BedProxy", (PyObject *)&__pyx_type_10TabProxies_BedProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10399 __pyx_ptype_10TabProxies_BedProxy = &__pyx_type_10TabProxies_BedProxy;
10400 __pyx_vtabptr_10TabProxies_VCFProxy = &__pyx_vtable_10TabProxies_VCFProxy;
10401 __pyx_vtable_10TabProxies_VCFProxy.__pyx_base = *__pyx_vtabptr_10TabProxies_NamedTupleProxy;
10402 __pyx_vtable_10TabProxies_VCFProxy.__pyx_base.__pyx_base.update = (PyObject *(*)(struct __pyx_obj_10TabProxies_TupleProxy *, char *, size_t))__pyx_f_10TabProxies_8VCFProxy_update;
10403 __pyx_type_10TabProxies_VCFProxy.tp_base = __pyx_ptype_10TabProxies_NamedTupleProxy;
10404 if (PyType_Ready(&__pyx_type_10TabProxies_VCFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10406 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_VCFProxy, "__len__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10407 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10408 __pyx_wrapperbase_10TabProxies_8VCFProxy_2__len__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10409 __pyx_wrapperbase_10TabProxies_8VCFProxy_2__len__.doc = __pyx_doc_10TabProxies_8VCFProxy_2__len__;
10410 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_8VCFProxy_2__len__;
10414 PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_10TabProxies_VCFProxy, "__setattr__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10415 if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
10416 __pyx_wrapperbase_10TabProxies_8VCFProxy_4__setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
10417 __pyx_wrapperbase_10TabProxies_8VCFProxy_4__setattr__.doc = __pyx_doc_10TabProxies_8VCFProxy_4__setattr__;
10418 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_10TabProxies_8VCFProxy_4__setattr__;
10421 if (__Pyx_SetVtable(__pyx_type_10TabProxies_VCFProxy.tp_dict, __pyx_vtabptr_10TabProxies_VCFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10422 if (__Pyx_SetAttrString(__pyx_m, "VCFProxy", (PyObject *)&__pyx_type_10TabProxies_VCFProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10423 __pyx_ptype_10TabProxies_VCFProxy = &__pyx_type_10TabProxies_VCFProxy;
10424 /*--- Type import code ---*/
10425 __pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "bool", sizeof(PyBoolObject), 0); if (unlikely(!__pyx_ptype_7cpython_4bool_bool)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10426 __pyx_ptype_7cpython_7complex_complex = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "complex", sizeof(PyComplexObject), 0); if (unlikely(!__pyx_ptype_7cpython_7complex_complex)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10427 /*--- Variable import code ---*/
10428 /*--- Function import code ---*/
10429 /*--- Execution code ---*/
10431 /* "TabProxies.pyx":1
10432 * import types, sys # <<<<<<<<<<<<<<
10434 * from cpython.version cimport PY_MAJOR_VERSION
10436 __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__types), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10437 __Pyx_GOTREF(__pyx_t_1);
10438 if (PyObject_SetAttr(__pyx_m, __pyx_n_s__types, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10439 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10440 __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10441 __Pyx_GOTREF(__pyx_t_1);
10442 if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10443 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10445 /* "TabProxies.pyx":15
10446 * # filename encoding (copied from lxml.etree.pyx)
10447 * cdef str _FILENAME_ENCODING
10448 * _FILENAME_ENCODING = sys.getfilesystemencoding() # <<<<<<<<<<<<<<
10449 * if _FILENAME_ENCODING is None:
10450 * _FILENAME_ENCODING = sys.getdefaultencoding()
10452 __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10453 __Pyx_GOTREF(__pyx_t_1);
10454 __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s_57); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10455 __Pyx_GOTREF(__pyx_t_2);
10456 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10457 __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10458 __Pyx_GOTREF(__pyx_t_1);
10459 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10460 if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected str, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10461 __Pyx_XGOTREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
10462 __Pyx_DECREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
10463 __Pyx_GIVEREF(__pyx_t_1);
10464 __pyx_v_10TabProxies__FILENAME_ENCODING = ((PyObject*)__pyx_t_1);
10467 /* "TabProxies.pyx":16
10468 * cdef str _FILENAME_ENCODING
10469 * _FILENAME_ENCODING = sys.getfilesystemencoding()
10470 * if _FILENAME_ENCODING is None: # <<<<<<<<<<<<<<
10471 * _FILENAME_ENCODING = sys.getdefaultencoding()
10472 * if _FILENAME_ENCODING is None:
10474 __pyx_t_3 = (__pyx_v_10TabProxies__FILENAME_ENCODING == ((PyObject*)Py_None));
10477 /* "TabProxies.pyx":17
10478 * _FILENAME_ENCODING = sys.getfilesystemencoding()
10479 * if _FILENAME_ENCODING is None:
10480 * _FILENAME_ENCODING = sys.getdefaultencoding() # <<<<<<<<<<<<<<
10481 * if _FILENAME_ENCODING is None:
10482 * _FILENAME_ENCODING = 'ascii'
10484 __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10485 __Pyx_GOTREF(__pyx_t_1);
10486 __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__getdefaultencoding); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10487 __Pyx_GOTREF(__pyx_t_2);
10488 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10489 __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10490 __Pyx_GOTREF(__pyx_t_1);
10491 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10492 if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected str, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10493 __Pyx_XGOTREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
10494 __Pyx_DECREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
10495 __Pyx_GIVEREF(__pyx_t_1);
10496 __pyx_v_10TabProxies__FILENAME_ENCODING = ((PyObject*)__pyx_t_1);
10502 /* "TabProxies.pyx":18
10503 * if _FILENAME_ENCODING is None:
10504 * _FILENAME_ENCODING = sys.getdefaultencoding()
10505 * if _FILENAME_ENCODING is None: # <<<<<<<<<<<<<<
10506 * _FILENAME_ENCODING = 'ascii'
10509 __pyx_t_3 = (__pyx_v_10TabProxies__FILENAME_ENCODING == ((PyObject*)Py_None));
10512 /* "TabProxies.pyx":19
10513 * _FILENAME_ENCODING = sys.getdefaultencoding()
10514 * if _FILENAME_ENCODING is None:
10515 * _FILENAME_ENCODING = 'ascii' # <<<<<<<<<<<<<<
10517 * cdef bytes _my_encodeFilename(object filename):
10519 __Pyx_INCREF(((PyObject *)__pyx_n_s__ascii));
10520 __Pyx_XGOTREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
10521 __Pyx_DECREF(((PyObject *)__pyx_v_10TabProxies__FILENAME_ENCODING));
10522 __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ascii));
10523 __pyx_v_10TabProxies__FILENAME_ENCODING = __pyx_n_s__ascii;
10528 /* "TabProxies.pyx":314
10529 * return result.decode('ascii')
10531 * def toDot( v ): # <<<<<<<<<<<<<<
10532 * '''convert value to '.' if None'''
10533 * if v == None: return "."
10535 __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10TabProxies_1toDot, NULL, __pyx_n_s__TabProxies); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10536 __Pyx_GOTREF(__pyx_t_1);
10537 if (PyObject_SetAttr(__pyx_m, __pyx_n_s__toDot, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10538 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10540 /* "TabProxies.pyx":319
10541 * else: return str(v)
10543 * def quote( v ): # <<<<<<<<<<<<<<
10544 * '''return a quoted attribute.'''
10545 * if type(v) in types.StringTypes:
10547 __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10TabProxies_3quote, NULL, __pyx_n_s__TabProxies); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10548 __Pyx_GOTREF(__pyx_t_1);
10549 if (PyObject_SetAttr(__pyx_m, __pyx_n_s__quote, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10550 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10552 /* "TabProxies.pyx":573
10553 * cdef class NamedTupleProxy( TupleProxy ):
10555 * map_key2field = {} # <<<<<<<<<<<<<<
10557 * def __setattr__(self, key, value ):
10559 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10560 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
10561 if (PyDict_SetItem((PyObject *)__pyx_ptype_10TabProxies_NamedTupleProxy->tp_dict, __pyx_n_s__map_key2field, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10562 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
10563 PyType_Modified(__pyx_ptype_10TabProxies_NamedTupleProxy);
10565 /* "TabProxies.pyx":595
10566 * This class represents a GTF entry for fast read-access.
10568 * map_key2field = { # <<<<<<<<<<<<<<
10569 * 'contig' : (0, bytes),
10570 * 'start' : (1, int),
10572 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10573 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
10575 /* "TabProxies.pyx":596
10577 * map_key2field = {
10578 * 'contig' : (0, bytes), # <<<<<<<<<<<<<<
10579 * 'start' : (1, int),
10580 * 'end' : (2, int),
10582 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10583 __Pyx_GOTREF(__pyx_t_2);
10584 __Pyx_INCREF(__pyx_int_0);
10585 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0);
10586 __Pyx_GIVEREF(__pyx_int_0);
10587 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10588 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10589 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10590 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__contig), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10591 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10593 /* "TabProxies.pyx":597
10594 * map_key2field = {
10595 * 'contig' : (0, bytes),
10596 * 'start' : (1, int), # <<<<<<<<<<<<<<
10597 * 'end' : (2, int),
10598 * 'name' : (3, bytes),
10600 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10601 __Pyx_GOTREF(__pyx_t_2);
10602 __Pyx_INCREF(__pyx_int_1);
10603 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1);
10604 __Pyx_GIVEREF(__pyx_int_1);
10605 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10606 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyInt_Type))));
10607 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10608 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__start), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10609 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10611 /* "TabProxies.pyx":598
10612 * 'contig' : (0, bytes),
10613 * 'start' : (1, int),
10614 * 'end' : (2, int), # <<<<<<<<<<<<<<
10615 * 'name' : (3, bytes),
10616 * 'score' : (4, float),
10618 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10619 __Pyx_GOTREF(__pyx_t_2);
10620 __Pyx_INCREF(__pyx_int_2);
10621 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_2);
10622 __Pyx_GIVEREF(__pyx_int_2);
10623 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10624 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyInt_Type))));
10625 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10626 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__end), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10627 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10629 /* "TabProxies.pyx":599
10630 * 'start' : (1, int),
10631 * 'end' : (2, int),
10632 * 'name' : (3, bytes), # <<<<<<<<<<<<<<
10633 * 'score' : (4, float),
10634 * 'strand' : (5, bytes),
10636 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10637 __Pyx_GOTREF(__pyx_t_2);
10638 __Pyx_INCREF(__pyx_int_3);
10639 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3);
10640 __Pyx_GIVEREF(__pyx_int_3);
10641 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10642 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10643 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10644 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10645 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10647 /* "TabProxies.pyx":600
10648 * 'end' : (2, int),
10649 * 'name' : (3, bytes),
10650 * 'score' : (4, float), # <<<<<<<<<<<<<<
10651 * 'strand' : (5, bytes),
10652 * 'thickStart' : (6, int ),
10654 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10655 __Pyx_GOTREF(__pyx_t_2);
10656 __Pyx_INCREF(__pyx_int_4);
10657 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_4);
10658 __Pyx_GIVEREF(__pyx_int_4);
10659 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyFloat_Type))));
10660 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyFloat_Type))));
10661 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyFloat_Type))));
10662 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__score), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10663 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10665 /* "TabProxies.pyx":601
10666 * 'name' : (3, bytes),
10667 * 'score' : (4, float),
10668 * 'strand' : (5, bytes), # <<<<<<<<<<<<<<
10669 * 'thickStart' : (6, int ),
10670 * 'thickEnd' : (7, int),
10672 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10673 __Pyx_GOTREF(__pyx_t_2);
10674 __Pyx_INCREF(__pyx_int_5);
10675 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_5);
10676 __Pyx_GIVEREF(__pyx_int_5);
10677 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10678 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10679 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10680 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__strand), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10681 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10683 /* "TabProxies.pyx":602
10684 * 'score' : (4, float),
10685 * 'strand' : (5, bytes),
10686 * 'thickStart' : (6, int ), # <<<<<<<<<<<<<<
10687 * 'thickEnd' : (7, int),
10688 * 'itemRGB' : (8, bytes),
10690 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10691 __Pyx_GOTREF(__pyx_t_2);
10692 __Pyx_INCREF(__pyx_int_6);
10693 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_6);
10694 __Pyx_GIVEREF(__pyx_int_6);
10695 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10696 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyInt_Type))));
10697 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10698 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__thickStart), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10699 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10701 /* "TabProxies.pyx":603
10702 * 'strand' : (5, bytes),
10703 * 'thickStart' : (6, int ),
10704 * 'thickEnd' : (7, int), # <<<<<<<<<<<<<<
10705 * 'itemRGB' : (8, bytes),
10706 * 'blockCount': (9, int),
10708 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10709 __Pyx_GOTREF(__pyx_t_2);
10710 __Pyx_INCREF(__pyx_int_7);
10711 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_7);
10712 __Pyx_GIVEREF(__pyx_int_7);
10713 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10714 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyInt_Type))));
10715 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10716 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__thickEnd), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10717 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10719 /* "TabProxies.pyx":604
10720 * 'thickStart' : (6, int ),
10721 * 'thickEnd' : (7, int),
10722 * 'itemRGB' : (8, bytes), # <<<<<<<<<<<<<<
10723 * 'blockCount': (9, int),
10724 * 'blockSizes': (10, bytes),
10726 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10727 __Pyx_GOTREF(__pyx_t_2);
10728 __Pyx_INCREF(__pyx_int_8);
10729 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_8);
10730 __Pyx_GIVEREF(__pyx_int_8);
10731 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10732 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10733 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10734 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__itemRGB), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10735 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10737 /* "TabProxies.pyx":605
10738 * 'thickEnd' : (7, int),
10739 * 'itemRGB' : (8, bytes),
10740 * 'blockCount': (9, int), # <<<<<<<<<<<<<<
10741 * 'blockSizes': (10, bytes),
10742 * 'blockStarts': (11, bytes), }
10744 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10745 __Pyx_GOTREF(__pyx_t_2);
10746 __Pyx_INCREF(__pyx_int_9);
10747 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_9);
10748 __Pyx_GIVEREF(__pyx_int_9);
10749 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10750 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyInt_Type))));
10751 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10752 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__blockCount), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10753 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10755 /* "TabProxies.pyx":606
10756 * 'itemRGB' : (8, bytes),
10757 * 'blockCount': (9, int),
10758 * 'blockSizes': (10, bytes), # <<<<<<<<<<<<<<
10759 * 'blockStarts': (11, bytes), }
10762 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10763 __Pyx_GOTREF(__pyx_t_2);
10764 __Pyx_INCREF(__pyx_int_10);
10765 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_10);
10766 __Pyx_GIVEREF(__pyx_int_10);
10767 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10768 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10769 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10770 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__blockSizes), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10771 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10773 /* "TabProxies.pyx":607
10774 * 'blockCount': (9, int),
10775 * 'blockSizes': (10, bytes),
10776 * 'blockStarts': (11, bytes), } # <<<<<<<<<<<<<<
10778 * cdef int getMaxFields( self, size_t nbytes ):
10780 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10781 __Pyx_GOTREF(__pyx_t_2);
10782 __Pyx_INCREF(__pyx_int_11);
10783 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_11);
10784 __Pyx_GIVEREF(__pyx_int_11);
10785 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10786 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10787 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10788 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__blockStarts), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10789 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10790 if (PyDict_SetItem((PyObject *)__pyx_ptype_10TabProxies_BedProxy->tp_dict, __pyx_n_s__map_key2field, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10791 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
10792 PyType_Modified(__pyx_ptype_10TabProxies_BedProxy);
10794 /* "TabProxies.pyx":661
10795 * The genotypes are accessed via index.
10797 * map_key2field = { # <<<<<<<<<<<<<<
10798 * 'contig' : (0, bytes),
10799 * 'pos' : (1, int),
10801 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10802 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
10804 /* "TabProxies.pyx":662
10806 * map_key2field = {
10807 * 'contig' : (0, bytes), # <<<<<<<<<<<<<<
10808 * 'pos' : (1, int),
10809 * 'id' : (2, bytes),
10811 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10812 __Pyx_GOTREF(__pyx_t_2);
10813 __Pyx_INCREF(__pyx_int_0);
10814 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0);
10815 __Pyx_GIVEREF(__pyx_int_0);
10816 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10817 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10818 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10819 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__contig), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10820 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10822 /* "TabProxies.pyx":663
10823 * map_key2field = {
10824 * 'contig' : (0, bytes),
10825 * 'pos' : (1, int), # <<<<<<<<<<<<<<
10826 * 'id' : (2, bytes),
10827 * 'ref' : (3, bytes),
10829 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10830 __Pyx_GOTREF(__pyx_t_2);
10831 __Pyx_INCREF(__pyx_int_1);
10832 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1);
10833 __Pyx_GIVEREF(__pyx_int_1);
10834 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10835 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyInt_Type))));
10836 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyInt_Type))));
10837 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__pos), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10838 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10840 /* "TabProxies.pyx":664
10841 * 'contig' : (0, bytes),
10842 * 'pos' : (1, int),
10843 * 'id' : (2, bytes), # <<<<<<<<<<<<<<
10844 * 'ref' : (3, bytes),
10845 * 'alt' : (4, bytes),
10847 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10848 __Pyx_GOTREF(__pyx_t_2);
10849 __Pyx_INCREF(__pyx_int_2);
10850 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_2);
10851 __Pyx_GIVEREF(__pyx_int_2);
10852 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10853 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10854 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10855 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__id), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10856 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10858 /* "TabProxies.pyx":665
10859 * 'pos' : (1, int),
10860 * 'id' : (2, bytes),
10861 * 'ref' : (3, bytes), # <<<<<<<<<<<<<<
10862 * 'alt' : (4, bytes),
10863 * 'qual' : (5, bytes),
10865 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10866 __Pyx_GOTREF(__pyx_t_2);
10867 __Pyx_INCREF(__pyx_int_3);
10868 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3);
10869 __Pyx_GIVEREF(__pyx_int_3);
10870 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10871 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10872 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10873 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10874 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10876 /* "TabProxies.pyx":666
10877 * 'id' : (2, bytes),
10878 * 'ref' : (3, bytes),
10879 * 'alt' : (4, bytes), # <<<<<<<<<<<<<<
10880 * 'qual' : (5, bytes),
10881 * 'filter' : (6, bytes),
10883 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10884 __Pyx_GOTREF(__pyx_t_2);
10885 __Pyx_INCREF(__pyx_int_4);
10886 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_4);
10887 __Pyx_GIVEREF(__pyx_int_4);
10888 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10889 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10890 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10891 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__alt), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10892 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10894 /* "TabProxies.pyx":667
10895 * 'ref' : (3, bytes),
10896 * 'alt' : (4, bytes),
10897 * 'qual' : (5, bytes), # <<<<<<<<<<<<<<
10898 * 'filter' : (6, bytes),
10899 * 'info' : (7, bytes),
10901 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10902 __Pyx_GOTREF(__pyx_t_2);
10903 __Pyx_INCREF(__pyx_int_5);
10904 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_5);
10905 __Pyx_GIVEREF(__pyx_int_5);
10906 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10907 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10908 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10909 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__qual), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10910 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10912 /* "TabProxies.pyx":668
10913 * 'alt' : (4, bytes),
10914 * 'qual' : (5, bytes),
10915 * 'filter' : (6, bytes), # <<<<<<<<<<<<<<
10916 * 'info' : (7, bytes),
10917 * 'format' : (8, bytes) }
10919 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10920 __Pyx_GOTREF(__pyx_t_2);
10921 __Pyx_INCREF(__pyx_int_6);
10922 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_6);
10923 __Pyx_GIVEREF(__pyx_int_6);
10924 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10925 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10926 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10927 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__filter), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10928 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10930 /* "TabProxies.pyx":669
10931 * 'qual' : (5, bytes),
10932 * 'filter' : (6, bytes),
10933 * 'info' : (7, bytes), # <<<<<<<<<<<<<<
10934 * 'format' : (8, bytes) }
10937 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10938 __Pyx_GOTREF(__pyx_t_2);
10939 __Pyx_INCREF(__pyx_int_7);
10940 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_7);
10941 __Pyx_GIVEREF(__pyx_int_7);
10942 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10943 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10944 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10945 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__info), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10946 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10948 /* "TabProxies.pyx":670
10949 * 'filter' : (6, bytes),
10950 * 'info' : (7, bytes),
10951 * 'format' : (8, bytes) } # <<<<<<<<<<<<<<
10953 * def __cinit__(self ):
10955 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10956 __Pyx_GOTREF(__pyx_t_2);
10957 __Pyx_INCREF(__pyx_int_8);
10958 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_8);
10959 __Pyx_GIVEREF(__pyx_int_8);
10960 __Pyx_INCREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10961 PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)((PyObject*)(&PyBytes_Type))));
10962 __Pyx_GIVEREF(((PyObject *)((PyObject*)(&PyBytes_Type))));
10963 if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__format), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10964 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
10965 if (PyDict_SetItem((PyObject *)__pyx_ptype_10TabProxies_VCFProxy->tp_dict, __pyx_n_s__map_key2field, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10966 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
10967 PyType_Modified(__pyx_ptype_10TabProxies_VCFProxy);
10969 /* "TabProxies.pyx":1
10970 * import types, sys # <<<<<<<<<<<<<<
10972 * from cpython.version cimport PY_MAJOR_VERSION
10974 __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10975 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
10976 if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
10977 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
10980 __Pyx_XDECREF(__pyx_t_1);
10981 __Pyx_XDECREF(__pyx_t_2);
10983 __Pyx_AddTraceback("init TabProxies", __pyx_clineno, __pyx_lineno, __pyx_filename);
10984 Py_DECREF(__pyx_m); __pyx_m = 0;
10985 } else if (!PyErr_Occurred()) {
10986 PyErr_SetString(PyExc_ImportError, "init TabProxies");
10989 __Pyx_RefNannyFinishContext();
10990 #if PY_MAJOR_VERSION < 3
10997 /* Runtime support code */
10998 #if CYTHON_REFNANNY
10999 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
11000 PyObject *m = NULL, *p = NULL;
11002 m = PyImport_ImportModule((char *)modname);
11004 p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
11006 r = PyLong_AsVoidPtr(p);
11010 return (__Pyx_RefNannyAPIStruct *)r;
11012 #endif /* CYTHON_REFNANNY */
11014 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
11016 result = PyObject_GetAttr(dict, name);
11018 if (dict != __pyx_b) {
11020 result = PyObject_GetAttr(__pyx_b, name);
11023 PyErr_SetObject(PyExc_NameError, name);
11029 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
11030 #if CYTHON_COMPILING_IN_CPYTHON
11031 PyObject *tmp_type, *tmp_value, *tmp_tb;
11032 PyThreadState *tstate = PyThreadState_GET();
11033 tmp_type = tstate->curexc_type;
11034 tmp_value = tstate->curexc_value;
11035 tmp_tb = tstate->curexc_traceback;
11036 tstate->curexc_type = type;
11037 tstate->curexc_value = value;
11038 tstate->curexc_traceback = tb;
11039 Py_XDECREF(tmp_type);
11040 Py_XDECREF(tmp_value);
11041 Py_XDECREF(tmp_tb);
11043 PyErr_Restore(type, value, tb);
11046 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
11047 #if CYTHON_COMPILING_IN_CPYTHON
11048 PyThreadState *tstate = PyThreadState_GET();
11049 *type = tstate->curexc_type;
11050 *value = tstate->curexc_value;
11051 *tb = tstate->curexc_traceback;
11052 tstate->curexc_type = 0;
11053 tstate->curexc_value = 0;
11054 tstate->curexc_traceback = 0;
11056 PyErr_Fetch(type, value, tb);
11060 #if PY_MAJOR_VERSION < 3
11061 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
11062 CYTHON_UNUSED PyObject *cause) {
11066 if (tb == Py_None) {
11070 else if (tb != NULL && !PyTraceBack_Check(tb)) {
11071 PyErr_SetString(PyExc_TypeError,
11072 "raise: arg 3 must be a traceback or None");
11075 if (value == NULL) {
11079 #if PY_VERSION_HEX < 0x02050000
11080 if (!PyClass_Check(type))
11082 if (!PyType_Check(type))
11085 if (value != Py_None) {
11086 PyErr_SetString(PyExc_TypeError,
11087 "instance exception may not have a separate value");
11092 #if PY_VERSION_HEX < 0x02050000
11093 if (PyInstance_Check(type)) {
11094 type = (PyObject*) ((PyInstanceObject*)type)->in_class;
11099 PyErr_SetString(PyExc_TypeError,
11100 "raise: exception must be an old-style class or instance");
11104 type = (PyObject*) Py_TYPE(type);
11106 if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
11107 PyErr_SetString(PyExc_TypeError,
11108 "raise: exception class must be a subclass of BaseException");
11113 __Pyx_ErrRestore(type, value, tb);
11121 #else /* Python 3+ */
11122 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
11123 if (tb == Py_None) {
11125 } else if (tb && !PyTraceBack_Check(tb)) {
11126 PyErr_SetString(PyExc_TypeError,
11127 "raise: arg 3 must be a traceback or None");
11130 if (value == Py_None)
11132 if (PyExceptionInstance_Check(type)) {
11134 PyErr_SetString(PyExc_TypeError,
11135 "instance exception may not have a separate value");
11139 type = (PyObject*) Py_TYPE(value);
11140 } else if (!PyExceptionClass_Check(type)) {
11141 PyErr_SetString(PyExc_TypeError,
11142 "raise: exception class must be a subclass of BaseException");
11146 PyObject *fixed_cause;
11147 if (PyExceptionClass_Check(cause)) {
11148 fixed_cause = PyObject_CallObject(cause, NULL);
11149 if (fixed_cause == NULL)
11152 else if (PyExceptionInstance_Check(cause)) {
11153 fixed_cause = cause;
11154 Py_INCREF(fixed_cause);
11157 PyErr_SetString(PyExc_TypeError,
11158 "exception causes must derive from "
11163 value = PyObject_CallObject(type, NULL);
11165 PyException_SetCause(value, fixed_cause);
11167 PyErr_SetObject(type, value);
11169 PyThreadState *tstate = PyThreadState_GET();
11170 PyObject* tmp_tb = tstate->curexc_traceback;
11171 if (tb != tmp_tb) {
11173 tstate->curexc_traceback = tb;
11174 Py_XDECREF(tmp_tb);
11182 static void __Pyx_RaiseArgtupleInvalid(
11183 const char* func_name,
11185 Py_ssize_t num_min,
11186 Py_ssize_t num_max,
11187 Py_ssize_t num_found)
11189 Py_ssize_t num_expected;
11190 const char *more_or_less;
11191 if (num_found < num_min) {
11192 num_expected = num_min;
11193 more_or_less = "at least";
11195 num_expected = num_max;
11196 more_or_less = "at most";
11199 more_or_less = "exactly";
11201 PyErr_Format(PyExc_TypeError,
11202 "%s() takes %s %"PY_FORMAT_SIZE_T"d positional argument%s (%"PY_FORMAT_SIZE_T"d given)",
11203 func_name, more_or_less, num_expected,
11204 (num_expected == 1) ? "" : "s", num_found);
11207 static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
11209 const char* function_name,
11213 Py_ssize_t pos = 0;
11214 while (PyDict_Next(kwdict, &pos, &key, 0)) {
11215 #if PY_MAJOR_VERSION < 3
11216 if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
11218 if (unlikely(!PyUnicode_Check(key)))
11220 goto invalid_keyword_type;
11222 if ((!kw_allowed) && unlikely(key))
11223 goto invalid_keyword;
11225 invalid_keyword_type:
11226 PyErr_Format(PyExc_TypeError,
11227 "%s() keywords must be strings", function_name);
11230 PyErr_Format(PyExc_TypeError,
11231 #if PY_MAJOR_VERSION < 3
11232 "%s() got an unexpected keyword argument '%s'",
11233 function_name, PyString_AsString(key));
11235 "%s() got an unexpected keyword argument '%U'",
11236 function_name, key);
11241 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
11242 PyErr_Format(PyExc_ValueError,
11243 "need more than %"PY_FORMAT_SIZE_T"d value%s to unpack",
11244 index, (index == 1) ? "" : "s");
11247 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
11248 PyErr_Format(PyExc_ValueError,
11249 "too many values to unpack (expected %"PY_FORMAT_SIZE_T"d)", expected);
11252 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
11253 if (unlikely(retval)) {
11255 __Pyx_RaiseTooManyValuesError(expected);
11257 } else if (PyErr_Occurred()) {
11258 if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
11268 static void __Pyx_RaiseDoubleKeywordsError(
11269 const char* func_name,
11272 PyErr_Format(PyExc_TypeError,
11273 #if PY_MAJOR_VERSION >= 3
11274 "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
11276 "%s() got multiple values for keyword argument '%s'", func_name,
11277 PyString_AS_STRING(kw_name));
11281 static int __Pyx_ParseOptionalKeywords(
11283 PyObject **argnames[],
11285 PyObject *values[],
11286 Py_ssize_t num_pos_args,
11287 const char* function_name)
11289 PyObject *key = 0, *value = 0;
11290 Py_ssize_t pos = 0;
11292 PyObject*** first_kw_arg = argnames + num_pos_args;
11293 while (PyDict_Next(kwds, &pos, &key, &value)) {
11294 name = first_kw_arg;
11295 while (*name && (**name != key)) name++;
11297 values[name-argnames] = value;
11299 #if PY_MAJOR_VERSION < 3
11300 if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) {
11302 if (unlikely(!PyUnicode_Check(key))) {
11304 goto invalid_keyword_type;
11306 for (name = first_kw_arg; *name; name++) {
11307 #if PY_MAJOR_VERSION >= 3
11308 if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
11309 PyUnicode_Compare(**name, key) == 0) break;
11311 if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
11312 _PyString_Eq(**name, key)) break;
11316 values[name-argnames] = value;
11318 for (name=argnames; name != first_kw_arg; name++) {
11319 if (**name == key) goto arg_passed_twice;
11320 #if PY_MAJOR_VERSION >= 3
11321 if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
11322 PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice;
11324 if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
11325 _PyString_Eq(**name, key)) goto arg_passed_twice;
11329 if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
11331 goto invalid_keyword;
11339 __Pyx_RaiseDoubleKeywordsError(function_name, **name);
11341 invalid_keyword_type:
11342 PyErr_Format(PyExc_TypeError,
11343 "%s() keywords must be strings", function_name);
11346 PyErr_Format(PyExc_TypeError,
11347 #if PY_MAJOR_VERSION < 3
11348 "%s() got an unexpected keyword argument '%s'",
11349 function_name, PyString_AsString(key));
11351 "%s() got an unexpected keyword argument '%U'",
11352 function_name, key);
11360 static double __Pyx__PyObject_AsDouble(PyObject* obj) {
11361 PyObject* float_value;
11362 if (Py_TYPE(obj)->tp_as_number && Py_TYPE(obj)->tp_as_number->nb_float) {
11363 return PyFloat_AsDouble(obj);
11364 } else if (PyUnicode_CheckExact(obj) || PyBytes_CheckExact(obj)) {
11365 #if PY_MAJOR_VERSION >= 3
11366 float_value = PyFloat_FromString(obj);
11368 float_value = PyFloat_FromString(obj, 0);
11371 PyObject* args = PyTuple_New(1);
11372 if (unlikely(!args)) goto bad;
11373 PyTuple_SET_ITEM(args, 0, obj);
11374 float_value = PyObject_Call((PyObject*)&PyFloat_Type, args, 0);
11375 PyTuple_SET_ITEM(args, 0, 0);
11378 if (likely(float_value)) {
11379 double value = PyFloat_AS_DOUBLE(float_value);
11380 Py_DECREF(float_value);
11387 static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
11388 PyThreadState *tstate = PyThreadState_GET();
11389 *type = tstate->exc_type;
11390 *value = tstate->exc_value;
11391 *tb = tstate->exc_traceback;
11393 Py_XINCREF(*value);
11396 static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
11397 PyObject *tmp_type, *tmp_value, *tmp_tb;
11398 PyThreadState *tstate = PyThreadState_GET();
11399 tmp_type = tstate->exc_type;
11400 tmp_value = tstate->exc_value;
11401 tmp_tb = tstate->exc_traceback;
11402 tstate->exc_type = type;
11403 tstate->exc_value = value;
11404 tstate->exc_traceback = tb;
11405 Py_XDECREF(tmp_type);
11406 Py_XDECREF(tmp_value);
11407 Py_XDECREF(tmp_tb);
11410 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) {
11411 PyObject *py_import = 0;
11412 PyObject *empty_list = 0;
11413 PyObject *module = 0;
11414 PyObject *global_dict = 0;
11415 PyObject *empty_dict = 0;
11417 py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
11423 empty_list = PyList_New(0);
11428 global_dict = PyModule_GetDict(__pyx_m);
11431 empty_dict = PyDict_New();
11434 #if PY_VERSION_HEX >= 0x02050000
11436 #if PY_MAJOR_VERSION >= 3
11438 if (strchr(__Pyx_MODULE_NAME, '.')) {
11439 /* try package relative import first */
11440 PyObject *py_level = PyInt_FromLong(1);
11443 module = PyObject_CallFunctionObjArgs(py_import,
11444 name, global_dict, empty_dict, list, py_level, NULL);
11445 Py_DECREF(py_level);
11447 if (!PyErr_ExceptionMatches(PyExc_ImportError))
11452 level = 0; /* try absolute import on failure */
11456 PyObject *py_level = PyInt_FromLong(level);
11459 module = PyObject_CallFunctionObjArgs(py_import,
11460 name, global_dict, empty_dict, list, py_level, NULL);
11461 Py_DECREF(py_level);
11466 PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
11469 module = PyObject_CallFunctionObjArgs(py_import,
11470 name, global_dict, empty_dict, list, NULL);
11473 Py_XDECREF(empty_list);
11474 Py_XDECREF(py_import);
11475 Py_XDECREF(empty_dict);
11479 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
11481 return (equals == Py_EQ);
11482 } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
11483 if (PyBytes_GET_SIZE(s1) != PyBytes_GET_SIZE(s2)) {
11484 return (equals == Py_NE);
11485 } else if (PyBytes_GET_SIZE(s1) == 1) {
11486 if (equals == Py_EQ)
11487 return (PyBytes_AS_STRING(s1)[0] == PyBytes_AS_STRING(s2)[0]);
11489 return (PyBytes_AS_STRING(s1)[0] != PyBytes_AS_STRING(s2)[0]);
11491 int result = memcmp(PyBytes_AS_STRING(s1), PyBytes_AS_STRING(s2), (size_t)PyBytes_GET_SIZE(s1));
11492 return (equals == Py_EQ) ? (result == 0) : (result != 0);
11494 } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
11495 return (equals == Py_NE);
11496 } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
11497 return (equals == Py_NE);
11500 PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
11503 result = __Pyx_PyObject_IsTrue(py_result);
11504 Py_DECREF(py_result);
11509 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
11511 return (equals == Py_EQ);
11512 } else if (PyUnicode_CheckExact(s1) & PyUnicode_CheckExact(s2)) {
11513 #if CYTHON_PEP393_ENABLED
11514 if ((PyUnicode_READY(s1) < 0) || (PyUnicode_READY(s2) < 0))
11516 if (PyUnicode_GET_LENGTH(s1) != PyUnicode_GET_LENGTH(s2)) {
11517 return (equals == Py_NE);
11518 } else if (PyUnicode_GET_LENGTH(s1) == 1) {
11519 Py_UCS4 ch1 = PyUnicode_READ_CHAR(s1, 0);
11520 Py_UCS4 ch2 = PyUnicode_READ_CHAR(s2, 0);
11521 return (equals == Py_EQ) ? (ch1 == ch2) : (ch1 != ch2);
11523 if (PyUnicode_GET_SIZE(s1) != PyUnicode_GET_SIZE(s2)) {
11524 return (equals == Py_NE);
11525 } else if (PyUnicode_GET_SIZE(s1) == 1) {
11526 Py_UNICODE ch1 = PyUnicode_AS_UNICODE(s1)[0];
11527 Py_UNICODE ch2 = PyUnicode_AS_UNICODE(s2)[0];
11528 return (equals == Py_EQ) ? (ch1 == ch2) : (ch1 != ch2);
11531 int result = PyUnicode_Compare(s1, s2);
11532 if ((result == -1) && unlikely(PyErr_Occurred()))
11534 return (equals == Py_EQ) ? (result == 0) : (result != 0);
11536 } else if ((s1 == Py_None) & PyUnicode_CheckExact(s2)) {
11537 return (equals == Py_NE);
11538 } else if ((s2 == Py_None) & PyUnicode_CheckExact(s1)) {
11539 return (equals == Py_NE);
11542 PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
11545 result = __Pyx_PyObject_IsTrue(py_result);
11546 Py_DECREF(py_result);
11551 static CYTHON_INLINE uint32_t __Pyx_PyInt_from_py_uint32_t(PyObject* x) {
11552 const uint32_t neg_one = (uint32_t)-1, const_zero = (uint32_t)0;
11553 const int is_unsigned = const_zero < neg_one;
11554 if (sizeof(uint32_t) == sizeof(char)) {
11556 return (uint32_t)__Pyx_PyInt_AsUnsignedChar(x);
11558 return (uint32_t)__Pyx_PyInt_AsSignedChar(x);
11559 } else if (sizeof(uint32_t) == sizeof(short)) {
11561 return (uint32_t)__Pyx_PyInt_AsUnsignedShort(x);
11563 return (uint32_t)__Pyx_PyInt_AsSignedShort(x);
11564 } else if (sizeof(uint32_t) == sizeof(int)) {
11566 return (uint32_t)__Pyx_PyInt_AsUnsignedInt(x);
11568 return (uint32_t)__Pyx_PyInt_AsSignedInt(x);
11569 } else if (sizeof(uint32_t) == sizeof(long)) {
11571 return (uint32_t)__Pyx_PyInt_AsUnsignedLong(x);
11573 return (uint32_t)__Pyx_PyInt_AsSignedLong(x);
11574 } else if (sizeof(uint32_t) == sizeof(PY_LONG_LONG)) {
11576 return (uint32_t)__Pyx_PyInt_AsUnsignedLongLong(x);
11578 return (uint32_t)__Pyx_PyInt_AsSignedLongLong(x);
11581 PyObject *v = __Pyx_PyNumber_Int(x);
11582 #if PY_VERSION_HEX < 0x03000000
11583 if (likely(v) && !PyLong_Check(v)) {
11585 v = PyNumber_Long(tmp);
11590 int one = 1; int is_little = (int)*(unsigned char *)&one;
11591 unsigned char *bytes = (unsigned char *)&val;
11592 int ret = _PyLong_AsByteArray((PyLongObject *)v,
11593 bytes, sizeof(val),
11594 is_little, !is_unsigned);
11599 return (uint32_t)-1;
11603 static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_uint32_t(uint32_t val) {
11604 const uint32_t neg_one = (uint32_t)-1, const_zero = (uint32_t)0;
11605 const int is_unsigned = const_zero < neg_one;
11606 if ((sizeof(uint32_t) == sizeof(char)) ||
11607 (sizeof(uint32_t) == sizeof(short))) {
11608 return PyInt_FromLong((long)val);
11609 } else if ((sizeof(uint32_t) == sizeof(int)) ||
11610 (sizeof(uint32_t) == sizeof(long))) {
11612 return PyLong_FromUnsignedLong((unsigned long)val);
11614 return PyInt_FromLong((long)val);
11615 } else if (sizeof(uint32_t) == sizeof(PY_LONG_LONG)) {
11617 return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
11619 return PyLong_FromLongLong((PY_LONG_LONG)val);
11621 int one = 1; int little = (int)*(unsigned char *)&one;
11622 unsigned char *bytes = (unsigned char *)&val;
11623 return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
11624 little, !is_unsigned);
11628 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
11629 const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
11630 const int is_unsigned = neg_one > const_zero;
11631 if (sizeof(unsigned char) < sizeof(long)) {
11632 long val = __Pyx_PyInt_AsLong(x);
11633 if (unlikely(val != (long)(unsigned char)val)) {
11634 if (!unlikely(val == -1 && PyErr_Occurred())) {
11635 PyErr_SetString(PyExc_OverflowError,
11636 (is_unsigned && unlikely(val < 0)) ?
11637 "can't convert negative value to unsigned char" :
11638 "value too large to convert to unsigned char");
11640 return (unsigned char)-1;
11642 return (unsigned char)val;
11644 return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
11647 static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
11648 const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
11649 const int is_unsigned = neg_one > const_zero;
11650 if (sizeof(unsigned short) < sizeof(long)) {
11651 long val = __Pyx_PyInt_AsLong(x);
11652 if (unlikely(val != (long)(unsigned short)val)) {
11653 if (!unlikely(val == -1 && PyErr_Occurred())) {
11654 PyErr_SetString(PyExc_OverflowError,
11655 (is_unsigned && unlikely(val < 0)) ?
11656 "can't convert negative value to unsigned short" :
11657 "value too large to convert to unsigned short");
11659 return (unsigned short)-1;
11661 return (unsigned short)val;
11663 return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
11666 static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
11667 const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
11668 const int is_unsigned = neg_one > const_zero;
11669 if (sizeof(unsigned int) < sizeof(long)) {
11670 long val = __Pyx_PyInt_AsLong(x);
11671 if (unlikely(val != (long)(unsigned int)val)) {
11672 if (!unlikely(val == -1 && PyErr_Occurred())) {
11673 PyErr_SetString(PyExc_OverflowError,
11674 (is_unsigned && unlikely(val < 0)) ?
11675 "can't convert negative value to unsigned int" :
11676 "value too large to convert to unsigned int");
11678 return (unsigned int)-1;
11680 return (unsigned int)val;
11682 return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
11685 static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
11686 const char neg_one = (char)-1, const_zero = 0;
11687 const int is_unsigned = neg_one > const_zero;
11688 if (sizeof(char) < sizeof(long)) {
11689 long val = __Pyx_PyInt_AsLong(x);
11690 if (unlikely(val != (long)(char)val)) {
11691 if (!unlikely(val == -1 && PyErr_Occurred())) {
11692 PyErr_SetString(PyExc_OverflowError,
11693 (is_unsigned && unlikely(val < 0)) ?
11694 "can't convert negative value to char" :
11695 "value too large to convert to char");
11701 return (char)__Pyx_PyInt_AsLong(x);
11704 static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
11705 const short neg_one = (short)-1, const_zero = 0;
11706 const int is_unsigned = neg_one > const_zero;
11707 if (sizeof(short) < sizeof(long)) {
11708 long val = __Pyx_PyInt_AsLong(x);
11709 if (unlikely(val != (long)(short)val)) {
11710 if (!unlikely(val == -1 && PyErr_Occurred())) {
11711 PyErr_SetString(PyExc_OverflowError,
11712 (is_unsigned && unlikely(val < 0)) ?
11713 "can't convert negative value to short" :
11714 "value too large to convert to short");
11720 return (short)__Pyx_PyInt_AsLong(x);
11723 static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
11724 const int neg_one = (int)-1, const_zero = 0;
11725 const int is_unsigned = neg_one > const_zero;
11726 if (sizeof(int) < sizeof(long)) {
11727 long val = __Pyx_PyInt_AsLong(x);
11728 if (unlikely(val != (long)(int)val)) {
11729 if (!unlikely(val == -1 && PyErr_Occurred())) {
11730 PyErr_SetString(PyExc_OverflowError,
11731 (is_unsigned && unlikely(val < 0)) ?
11732 "can't convert negative value to int" :
11733 "value too large to convert to int");
11739 return (int)__Pyx_PyInt_AsLong(x);
11742 static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
11743 const signed char neg_one = (signed char)-1, const_zero = 0;
11744 const int is_unsigned = neg_one > const_zero;
11745 if (sizeof(signed char) < sizeof(long)) {
11746 long val = __Pyx_PyInt_AsLong(x);
11747 if (unlikely(val != (long)(signed char)val)) {
11748 if (!unlikely(val == -1 && PyErr_Occurred())) {
11749 PyErr_SetString(PyExc_OverflowError,
11750 (is_unsigned && unlikely(val < 0)) ?
11751 "can't convert negative value to signed char" :
11752 "value too large to convert to signed char");
11754 return (signed char)-1;
11756 return (signed char)val;
11758 return (signed char)__Pyx_PyInt_AsSignedLong(x);
11761 static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
11762 const signed short neg_one = (signed short)-1, const_zero = 0;
11763 const int is_unsigned = neg_one > const_zero;
11764 if (sizeof(signed short) < sizeof(long)) {
11765 long val = __Pyx_PyInt_AsLong(x);
11766 if (unlikely(val != (long)(signed short)val)) {
11767 if (!unlikely(val == -1 && PyErr_Occurred())) {
11768 PyErr_SetString(PyExc_OverflowError,
11769 (is_unsigned && unlikely(val < 0)) ?
11770 "can't convert negative value to signed short" :
11771 "value too large to convert to signed short");
11773 return (signed short)-1;
11775 return (signed short)val;
11777 return (signed short)__Pyx_PyInt_AsSignedLong(x);
11780 static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
11781 const signed int neg_one = (signed int)-1, const_zero = 0;
11782 const int is_unsigned = neg_one > const_zero;
11783 if (sizeof(signed int) < sizeof(long)) {
11784 long val = __Pyx_PyInt_AsLong(x);
11785 if (unlikely(val != (long)(signed int)val)) {
11786 if (!unlikely(val == -1 && PyErr_Occurred())) {
11787 PyErr_SetString(PyExc_OverflowError,
11788 (is_unsigned && unlikely(val < 0)) ?
11789 "can't convert negative value to signed int" :
11790 "value too large to convert to signed int");
11792 return (signed int)-1;
11794 return (signed int)val;
11796 return (signed int)__Pyx_PyInt_AsSignedLong(x);
11799 static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
11800 const int neg_one = (int)-1, const_zero = 0;
11801 const int is_unsigned = neg_one > const_zero;
11802 if (sizeof(int) < sizeof(long)) {
11803 long val = __Pyx_PyInt_AsLong(x);
11804 if (unlikely(val != (long)(int)val)) {
11805 if (!unlikely(val == -1 && PyErr_Occurred())) {
11806 PyErr_SetString(PyExc_OverflowError,
11807 (is_unsigned && unlikely(val < 0)) ?
11808 "can't convert negative value to int" :
11809 "value too large to convert to int");
11815 return (int)__Pyx_PyInt_AsLong(x);
11818 static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
11819 const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
11820 const int is_unsigned = neg_one > const_zero;
11821 #if PY_VERSION_HEX < 0x03000000
11822 if (likely(PyInt_Check(x))) {
11823 long val = PyInt_AS_LONG(x);
11824 if (is_unsigned && unlikely(val < 0)) {
11825 PyErr_SetString(PyExc_OverflowError,
11826 "can't convert negative value to unsigned long");
11827 return (unsigned long)-1;
11829 return (unsigned long)val;
11832 if (likely(PyLong_Check(x))) {
11834 if (unlikely(Py_SIZE(x) < 0)) {
11835 PyErr_SetString(PyExc_OverflowError,
11836 "can't convert negative value to unsigned long");
11837 return (unsigned long)-1;
11839 return (unsigned long)PyLong_AsUnsignedLong(x);
11841 return (unsigned long)PyLong_AsLong(x);
11845 PyObject *tmp = __Pyx_PyNumber_Int(x);
11846 if (!tmp) return (unsigned long)-1;
11847 val = __Pyx_PyInt_AsUnsignedLong(tmp);
11853 static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
11854 const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
11855 const int is_unsigned = neg_one > const_zero;
11856 #if PY_VERSION_HEX < 0x03000000
11857 if (likely(PyInt_Check(x))) {
11858 long val = PyInt_AS_LONG(x);
11859 if (is_unsigned && unlikely(val < 0)) {
11860 PyErr_SetString(PyExc_OverflowError,
11861 "can't convert negative value to unsigned PY_LONG_LONG");
11862 return (unsigned PY_LONG_LONG)-1;
11864 return (unsigned PY_LONG_LONG)val;
11867 if (likely(PyLong_Check(x))) {
11869 if (unlikely(Py_SIZE(x) < 0)) {
11870 PyErr_SetString(PyExc_OverflowError,
11871 "can't convert negative value to unsigned PY_LONG_LONG");
11872 return (unsigned PY_LONG_LONG)-1;
11874 return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
11876 return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
11879 unsigned PY_LONG_LONG val;
11880 PyObject *tmp = __Pyx_PyNumber_Int(x);
11881 if (!tmp) return (unsigned PY_LONG_LONG)-1;
11882 val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
11888 static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
11889 const long neg_one = (long)-1, const_zero = 0;
11890 const int is_unsigned = neg_one > const_zero;
11891 #if PY_VERSION_HEX < 0x03000000
11892 if (likely(PyInt_Check(x))) {
11893 long val = PyInt_AS_LONG(x);
11894 if (is_unsigned && unlikely(val < 0)) {
11895 PyErr_SetString(PyExc_OverflowError,
11896 "can't convert negative value to long");
11902 if (likely(PyLong_Check(x))) {
11904 if (unlikely(Py_SIZE(x) < 0)) {
11905 PyErr_SetString(PyExc_OverflowError,
11906 "can't convert negative value to long");
11909 return (long)PyLong_AsUnsignedLong(x);
11911 return (long)PyLong_AsLong(x);
11915 PyObject *tmp = __Pyx_PyNumber_Int(x);
11916 if (!tmp) return (long)-1;
11917 val = __Pyx_PyInt_AsLong(tmp);
11923 static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
11924 const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
11925 const int is_unsigned = neg_one > const_zero;
11926 #if PY_VERSION_HEX < 0x03000000
11927 if (likely(PyInt_Check(x))) {
11928 long val = PyInt_AS_LONG(x);
11929 if (is_unsigned && unlikely(val < 0)) {
11930 PyErr_SetString(PyExc_OverflowError,
11931 "can't convert negative value to PY_LONG_LONG");
11932 return (PY_LONG_LONG)-1;
11934 return (PY_LONG_LONG)val;
11937 if (likely(PyLong_Check(x))) {
11939 if (unlikely(Py_SIZE(x) < 0)) {
11940 PyErr_SetString(PyExc_OverflowError,
11941 "can't convert negative value to PY_LONG_LONG");
11942 return (PY_LONG_LONG)-1;
11944 return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
11946 return (PY_LONG_LONG)PyLong_AsLongLong(x);
11950 PyObject *tmp = __Pyx_PyNumber_Int(x);
11951 if (!tmp) return (PY_LONG_LONG)-1;
11952 val = __Pyx_PyInt_AsLongLong(tmp);
11958 static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
11959 const signed long neg_one = (signed long)-1, const_zero = 0;
11960 const int is_unsigned = neg_one > const_zero;
11961 #if PY_VERSION_HEX < 0x03000000
11962 if (likely(PyInt_Check(x))) {
11963 long val = PyInt_AS_LONG(x);
11964 if (is_unsigned && unlikely(val < 0)) {
11965 PyErr_SetString(PyExc_OverflowError,
11966 "can't convert negative value to signed long");
11967 return (signed long)-1;
11969 return (signed long)val;
11972 if (likely(PyLong_Check(x))) {
11974 if (unlikely(Py_SIZE(x) < 0)) {
11975 PyErr_SetString(PyExc_OverflowError,
11976 "can't convert negative value to signed long");
11977 return (signed long)-1;
11979 return (signed long)PyLong_AsUnsignedLong(x);
11981 return (signed long)PyLong_AsLong(x);
11985 PyObject *tmp = __Pyx_PyNumber_Int(x);
11986 if (!tmp) return (signed long)-1;
11987 val = __Pyx_PyInt_AsSignedLong(tmp);
11993 static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
11994 const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
11995 const int is_unsigned = neg_one > const_zero;
11996 #if PY_VERSION_HEX < 0x03000000
11997 if (likely(PyInt_Check(x))) {
11998 long val = PyInt_AS_LONG(x);
11999 if (is_unsigned && unlikely(val < 0)) {
12000 PyErr_SetString(PyExc_OverflowError,
12001 "can't convert negative value to signed PY_LONG_LONG");
12002 return (signed PY_LONG_LONG)-1;
12004 return (signed PY_LONG_LONG)val;
12007 if (likely(PyLong_Check(x))) {
12009 if (unlikely(Py_SIZE(x) < 0)) {
12010 PyErr_SetString(PyExc_OverflowError,
12011 "can't convert negative value to signed PY_LONG_LONG");
12012 return (signed PY_LONG_LONG)-1;
12014 return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
12016 return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
12019 signed PY_LONG_LONG val;
12020 PyObject *tmp = __Pyx_PyNumber_Int(x);
12021 if (!tmp) return (signed PY_LONG_LONG)-1;
12022 val = __Pyx_PyInt_AsSignedLongLong(tmp);
12028 static void __Pyx_WriteUnraisable(const char *name, int clineno,
12029 int lineno, const char *filename) {
12030 PyObject *old_exc, *old_val, *old_tb;
12032 __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
12033 #if PY_MAJOR_VERSION < 3
12034 ctx = PyString_FromString(name);
12036 ctx = PyUnicode_FromString(name);
12038 __Pyx_ErrRestore(old_exc, old_val, old_tb);
12040 PyErr_WriteUnraisable(Py_None);
12042 PyErr_WriteUnraisable(ctx);
12047 static int __Pyx_check_binary_version(void) {
12048 char ctversion[4], rtversion[4];
12049 PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
12050 PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
12051 if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
12053 PyOS_snprintf(message, sizeof(message),
12054 "compiletime version %s of module '%.100s' "
12055 "does not match runtime version %s",
12056 ctversion, __Pyx_MODULE_NAME, rtversion);
12057 #if PY_VERSION_HEX < 0x02050000
12058 return PyErr_Warn(NULL, message);
12060 return PyErr_WarnEx(NULL, message, 1);
12066 static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
12067 #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
12068 PyObject *ob = PyCapsule_New(vtable, 0, 0);
12070 PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
12074 if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0)
12083 #ifndef __PYX_HAVE_RT_ImportType
12084 #define __PYX_HAVE_RT_ImportType
12085 static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
12086 size_t size, int strict)
12088 PyObject *py_module = 0;
12089 PyObject *result = 0;
12090 PyObject *py_name = 0;
12092 py_module = __Pyx_ImportModule(module_name);
12095 py_name = __Pyx_PyIdentifier_FromString(class_name);
12098 result = PyObject_GetAttr(py_module, py_name);
12099 Py_DECREF(py_name);
12101 Py_DECREF(py_module);
12105 if (!PyType_Check(result)) {
12106 PyErr_Format(PyExc_TypeError,
12107 "%s.%s is not a type object",
12108 module_name, class_name);
12111 if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) {
12112 PyOS_snprintf(warning, sizeof(warning),
12113 "%s.%s size changed, may indicate binary incompatibility",
12114 module_name, class_name);
12115 #if PY_VERSION_HEX < 0x02050000
12116 if (PyErr_Warn(NULL, warning) < 0) goto bad;
12118 if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
12121 else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) {
12122 PyErr_Format(PyExc_ValueError,
12123 "%s.%s has the wrong size, try recompiling",
12124 module_name, class_name);
12127 return (PyTypeObject *)result;
12129 Py_XDECREF(py_module);
12130 Py_XDECREF(result);
12135 #ifndef __PYX_HAVE_RT_ImportModule
12136 #define __PYX_HAVE_RT_ImportModule
12137 static PyObject *__Pyx_ImportModule(const char *name) {
12138 PyObject *py_name = 0;
12139 PyObject *py_module = 0;
12140 py_name = __Pyx_PyIdentifier_FromString(name);
12143 py_module = PyImport_Import(py_name);
12144 Py_DECREF(py_name);
12147 Py_XDECREF(py_name);
12152 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
12153 int start = 0, mid = 0, end = count - 1;
12154 if (end >= 0 && code_line > entries[end].code_line) {
12157 while (start < end) {
12158 mid = (start + end) / 2;
12159 if (code_line < entries[mid].code_line) {
12161 } else if (code_line > entries[mid].code_line) {
12167 if (code_line <= entries[mid].code_line) {
12173 static PyCodeObject *__pyx_find_code_object(int code_line) {
12174 PyCodeObject* code_object;
12176 if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
12179 pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
12180 if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
12183 code_object = __pyx_code_cache.entries[pos].code_object;
12184 Py_INCREF(code_object);
12185 return code_object;
12187 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
12189 __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
12190 if (unlikely(!code_line)) {
12193 if (unlikely(!entries)) {
12194 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
12195 if (likely(entries)) {
12196 __pyx_code_cache.entries = entries;
12197 __pyx_code_cache.max_count = 64;
12198 __pyx_code_cache.count = 1;
12199 entries[0].code_line = code_line;
12200 entries[0].code_object = code_object;
12201 Py_INCREF(code_object);
12205 pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
12206 if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
12207 PyCodeObject* tmp = entries[pos].code_object;
12208 entries[pos].code_object = code_object;
12212 if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
12213 int new_max = __pyx_code_cache.max_count + 64;
12214 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
12215 __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
12216 if (unlikely(!entries)) {
12219 __pyx_code_cache.entries = entries;
12220 __pyx_code_cache.max_count = new_max;
12222 for (i=__pyx_code_cache.count; i>pos; i--) {
12223 entries[i] = entries[i-1];
12225 entries[pos].code_line = code_line;
12226 entries[pos].code_object = code_object;
12227 __pyx_code_cache.count++;
12228 Py_INCREF(code_object);
12231 #include "compile.h"
12232 #include "frameobject.h"
12233 #include "traceback.h"
12234 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
12235 const char *funcname, int c_line,
12236 int py_line, const char *filename) {
12237 PyCodeObject *py_code = 0;
12238 PyObject *py_srcfile = 0;
12239 PyObject *py_funcname = 0;
12240 #if PY_MAJOR_VERSION < 3
12241 py_srcfile = PyString_FromString(filename);
12243 py_srcfile = PyUnicode_FromString(filename);
12245 if (!py_srcfile) goto bad;
12247 #if PY_MAJOR_VERSION < 3
12248 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
12250 py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
12254 #if PY_MAJOR_VERSION < 3
12255 py_funcname = PyString_FromString(funcname);
12257 py_funcname = PyUnicode_FromString(funcname);
12260 if (!py_funcname) goto bad;
12261 py_code = __Pyx_PyCode_New(
12262 0, /*int argcount,*/
12263 0, /*int kwonlyargcount,*/
12264 0, /*int nlocals,*/
12265 0, /*int stacksize,*/
12267 __pyx_empty_bytes, /*PyObject *code,*/
12268 __pyx_empty_tuple, /*PyObject *consts,*/
12269 __pyx_empty_tuple, /*PyObject *names,*/
12270 __pyx_empty_tuple, /*PyObject *varnames,*/
12271 __pyx_empty_tuple, /*PyObject *freevars,*/
12272 __pyx_empty_tuple, /*PyObject *cellvars,*/
12273 py_srcfile, /*PyObject *filename,*/
12274 py_funcname, /*PyObject *name,*/
12275 py_line, /*int firstlineno,*/
12276 __pyx_empty_bytes /*PyObject *lnotab*/
12278 Py_DECREF(py_srcfile);
12279 Py_DECREF(py_funcname);
12282 Py_XDECREF(py_srcfile);
12283 Py_XDECREF(py_funcname);
12286 static void __Pyx_AddTraceback(const char *funcname, int c_line,
12287 int py_line, const char *filename) {
12288 PyCodeObject *py_code = 0;
12289 PyObject *py_globals = 0;
12290 PyFrameObject *py_frame = 0;
12291 py_code = __pyx_find_code_object(c_line ? c_line : py_line);
12293 py_code = __Pyx_CreateCodeObjectForTraceback(
12294 funcname, c_line, py_line, filename);
12295 if (!py_code) goto bad;
12296 __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
12298 py_globals = PyModule_GetDict(__pyx_m);
12299 if (!py_globals) goto bad;
12300 py_frame = PyFrame_New(
12301 PyThreadState_GET(), /*PyThreadState *tstate,*/
12302 py_code, /*PyCodeObject *code,*/
12303 py_globals, /*PyObject *globals,*/
12304 0 /*PyObject *locals*/
12306 if (!py_frame) goto bad;
12307 py_frame->f_lineno = py_line;
12308 PyTraceBack_Here(py_frame);
12310 Py_XDECREF(py_code);
12311 Py_XDECREF(py_frame);
12314 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
12316 #if PY_MAJOR_VERSION < 3
12317 if (t->is_unicode) {
12318 *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
12319 } else if (t->intern) {
12320 *t->p = PyString_InternFromString(t->s);
12322 *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
12324 #else /* Python 3+ has unicode identifiers */
12325 if (t->is_unicode | t->is_str) {
12327 *t->p = PyUnicode_InternFromString(t->s);
12328 } else if (t->encoding) {
12329 *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
12331 *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
12334 *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
12345 /* Type Conversion Functions */
12347 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
12348 int is_true = x == Py_True;
12349 if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
12350 else return PyObject_IsTrue(x);
12353 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
12354 PyNumberMethods *m;
12355 const char *name = NULL;
12356 PyObject *res = NULL;
12357 #if PY_VERSION_HEX < 0x03000000
12358 if (PyInt_Check(x) || PyLong_Check(x))
12360 if (PyLong_Check(x))
12362 return Py_INCREF(x), x;
12363 m = Py_TYPE(x)->tp_as_number;
12364 #if PY_VERSION_HEX < 0x03000000
12365 if (m && m->nb_int) {
12367 res = PyNumber_Int(x);
12369 else if (m && m->nb_long) {
12371 res = PyNumber_Long(x);
12374 if (m && m->nb_int) {
12376 res = PyNumber_Long(x);
12380 #if PY_VERSION_HEX < 0x03000000
12381 if (!PyInt_Check(res) && !PyLong_Check(res)) {
12383 if (!PyLong_Check(res)) {
12385 PyErr_Format(PyExc_TypeError,
12386 "__%s__ returned non-%s (type %.200s)",
12387 name, name, Py_TYPE(res)->tp_name);
12392 else if (!PyErr_Occurred()) {
12393 PyErr_SetString(PyExc_TypeError,
12394 "an integer is required");
12399 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
12401 PyObject* x = PyNumber_Index(b);
12403 ival = PyInt_AsSsize_t(x);
12408 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
12409 #if PY_VERSION_HEX < 0x02050000
12410 if (ival <= LONG_MAX)
12411 return PyInt_FromLong((long)ival);
12413 unsigned char *bytes = (unsigned char *) &ival;
12414 int one = 1; int little = (int)*(unsigned char*)&one;
12415 return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
12418 return PyInt_FromSize_t(ival);
12422 static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
12423 unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
12424 if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
12426 } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
12427 PyErr_SetString(PyExc_OverflowError,
12428 "value too large to convert to size_t");
12431 return (size_t)val;
12435 #endif /* Py_PYTHON_H */