FST  openfst-1.8.4
OpenFst Library
pywrapfst.cpp
Go to the documentation of this file.
1 /* Generated by Cython 3.0.10 */
2 
3 #ifndef PY_SSIZE_T_CLEAN
4 #define PY_SSIZE_T_CLEAN
5 #endif /* PY_SSIZE_T_CLEAN */
6 #if defined(CYTHON_LIMITED_API) && 0
7  #ifndef Py_LIMITED_API
8  #if CYTHON_LIMITED_API+0 > 0x03030000
9  #define Py_LIMITED_API CYTHON_LIMITED_API
10  #else
11  #define Py_LIMITED_API 0x03030000
12  #endif
13  #endif
14 #endif
15 
16 #include "Python.h"
17 #ifndef Py_PYTHON_H
18  #error Python headers needed to compile C extensions, please install development version of Python.
19 #elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
20  #error Cython requires Python 2.7+ or Python 3.3+.
21 #else
22 #if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
23 #define __PYX_EXTRA_ABI_MODULE_NAME "limited"
24 #else
25 #define __PYX_EXTRA_ABI_MODULE_NAME ""
26 #endif
27 #define CYTHON_ABI "3_0_10" __PYX_EXTRA_ABI_MODULE_NAME
28 #define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
29 #define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
30 #define CYTHON_HEX_VERSION 0x03000AF0
31 #define CYTHON_FUTURE_DIVISION 1
32 #include <stddef.h>
33 #ifndef offsetof
34  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
35 #endif
36 #if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
37  #ifndef __stdcall
38  #define __stdcall
39  #endif
40  #ifndef __cdecl
41  #define __cdecl
42  #endif
43  #ifndef __fastcall
44  #define __fastcall
45  #endif
46 #endif
47 #ifndef DL_IMPORT
48  #define DL_IMPORT(t) t
49 #endif
50 #ifndef DL_EXPORT
51  #define DL_EXPORT(t) t
52 #endif
53 #define __PYX_COMMA ,
54 #ifndef HAVE_LONG_LONG
55  #define HAVE_LONG_LONG
56 #endif
57 #ifndef PY_LONG_LONG
58  #define PY_LONG_LONG LONG_LONG
59 #endif
60 #ifndef Py_HUGE_VAL
61  #define Py_HUGE_VAL HUGE_VAL
62 #endif
63 #define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
64 #if defined(GRAALVM_PYTHON)
65  /* For very preliminary testing purposes. Most variables are set the same as PyPy.
66  The existence of this section does not imply that anything works or is even tested */
67  #define CYTHON_COMPILING_IN_PYPY 0
68  #define CYTHON_COMPILING_IN_CPYTHON 0
69  #define CYTHON_COMPILING_IN_LIMITED_API 0
70  #define CYTHON_COMPILING_IN_GRAAL 1
71  #define CYTHON_COMPILING_IN_NOGIL 0
72  #undef CYTHON_USE_TYPE_SLOTS
73  #define CYTHON_USE_TYPE_SLOTS 0
74  #undef CYTHON_USE_TYPE_SPECS
75  #define CYTHON_USE_TYPE_SPECS 0
76  #undef CYTHON_USE_PYTYPE_LOOKUP
77  #define CYTHON_USE_PYTYPE_LOOKUP 0
78  #if PY_VERSION_HEX < 0x03050000
79  #undef CYTHON_USE_ASYNC_SLOTS
80  #define CYTHON_USE_ASYNC_SLOTS 0
81  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
82  #define CYTHON_USE_ASYNC_SLOTS 1
83  #endif
84  #undef CYTHON_USE_PYLIST_INTERNALS
85  #define CYTHON_USE_PYLIST_INTERNALS 0
86  #undef CYTHON_USE_UNICODE_INTERNALS
87  #define CYTHON_USE_UNICODE_INTERNALS 0
88  #undef CYTHON_USE_UNICODE_WRITER
89  #define CYTHON_USE_UNICODE_WRITER 0
90  #undef CYTHON_USE_PYLONG_INTERNALS
91  #define CYTHON_USE_PYLONG_INTERNALS 0
92  #undef CYTHON_AVOID_BORROWED_REFS
93  #define CYTHON_AVOID_BORROWED_REFS 1
94  #undef CYTHON_ASSUME_SAFE_MACROS
95  #define CYTHON_ASSUME_SAFE_MACROS 0
96  #undef CYTHON_UNPACK_METHODS
97  #define CYTHON_UNPACK_METHODS 0
98  #undef CYTHON_FAST_THREAD_STATE
99  #define CYTHON_FAST_THREAD_STATE 0
100  #undef CYTHON_FAST_GIL
101  #define CYTHON_FAST_GIL 0
102  #undef CYTHON_METH_FASTCALL
103  #define CYTHON_METH_FASTCALL 0
104  #undef CYTHON_FAST_PYCALL
105  #define CYTHON_FAST_PYCALL 0
106  #ifndef CYTHON_PEP487_INIT_SUBCLASS
107  #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
108  #endif
109  #undef CYTHON_PEP489_MULTI_PHASE_INIT
110  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
111  #undef CYTHON_USE_MODULE_STATE
112  #define CYTHON_USE_MODULE_STATE 0
113  #undef CYTHON_USE_TP_FINALIZE
114  #define CYTHON_USE_TP_FINALIZE 0
115  #undef CYTHON_USE_DICT_VERSIONS
116  #define CYTHON_USE_DICT_VERSIONS 0
117  #undef CYTHON_USE_EXC_INFO_STACK
118  #define CYTHON_USE_EXC_INFO_STACK 0
119  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
120  #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
121  #endif
122  #undef CYTHON_USE_FREELISTS
123  #define CYTHON_USE_FREELISTS 0
124 #elif defined(PYPY_VERSION)
125  #define CYTHON_COMPILING_IN_PYPY 1
126  #define CYTHON_COMPILING_IN_CPYTHON 0
127  #define CYTHON_COMPILING_IN_LIMITED_API 0
128  #define CYTHON_COMPILING_IN_GRAAL 0
129  #define CYTHON_COMPILING_IN_NOGIL 0
130  #undef CYTHON_USE_TYPE_SLOTS
131  #define CYTHON_USE_TYPE_SLOTS 0
132  #ifndef CYTHON_USE_TYPE_SPECS
133  #define CYTHON_USE_TYPE_SPECS 0
134  #endif
135  #undef CYTHON_USE_PYTYPE_LOOKUP
136  #define CYTHON_USE_PYTYPE_LOOKUP 0
137  #if PY_VERSION_HEX < 0x03050000
138  #undef CYTHON_USE_ASYNC_SLOTS
139  #define CYTHON_USE_ASYNC_SLOTS 0
140  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
141  #define CYTHON_USE_ASYNC_SLOTS 1
142  #endif
143  #undef CYTHON_USE_PYLIST_INTERNALS
144  #define CYTHON_USE_PYLIST_INTERNALS 0
145  #undef CYTHON_USE_UNICODE_INTERNALS
146  #define CYTHON_USE_UNICODE_INTERNALS 0
147  #undef CYTHON_USE_UNICODE_WRITER
148  #define CYTHON_USE_UNICODE_WRITER 0
149  #undef CYTHON_USE_PYLONG_INTERNALS
150  #define CYTHON_USE_PYLONG_INTERNALS 0
151  #undef CYTHON_AVOID_BORROWED_REFS
152  #define CYTHON_AVOID_BORROWED_REFS 1
153  #undef CYTHON_ASSUME_SAFE_MACROS
154  #define CYTHON_ASSUME_SAFE_MACROS 0
155  #undef CYTHON_UNPACK_METHODS
156  #define CYTHON_UNPACK_METHODS 0
157  #undef CYTHON_FAST_THREAD_STATE
158  #define CYTHON_FAST_THREAD_STATE 0
159  #undef CYTHON_FAST_GIL
160  #define CYTHON_FAST_GIL 0
161  #undef CYTHON_METH_FASTCALL
162  #define CYTHON_METH_FASTCALL 0
163  #undef CYTHON_FAST_PYCALL
164  #define CYTHON_FAST_PYCALL 0
165  #ifndef CYTHON_PEP487_INIT_SUBCLASS
166  #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
167  #endif
168  #if PY_VERSION_HEX < 0x03090000
169  #undef CYTHON_PEP489_MULTI_PHASE_INIT
170  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
171  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
172  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
173  #endif
174  #undef CYTHON_USE_MODULE_STATE
175  #define CYTHON_USE_MODULE_STATE 0
176  #undef CYTHON_USE_TP_FINALIZE
177  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
178  #undef CYTHON_USE_DICT_VERSIONS
179  #define CYTHON_USE_DICT_VERSIONS 0
180  #undef CYTHON_USE_EXC_INFO_STACK
181  #define CYTHON_USE_EXC_INFO_STACK 0
182  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
183  #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
184  #endif
185  #undef CYTHON_USE_FREELISTS
186  #define CYTHON_USE_FREELISTS 0
187 #elif defined(CYTHON_LIMITED_API)
188  #ifdef Py_LIMITED_API
189  #undef __PYX_LIMITED_VERSION_HEX
190  #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
191  #endif
192  #define CYTHON_COMPILING_IN_PYPY 0
193  #define CYTHON_COMPILING_IN_CPYTHON 0
194  #define CYTHON_COMPILING_IN_LIMITED_API 1
195  #define CYTHON_COMPILING_IN_GRAAL 0
196  #define CYTHON_COMPILING_IN_NOGIL 0
197  #undef CYTHON_CLINE_IN_TRACEBACK
198  #define CYTHON_CLINE_IN_TRACEBACK 0
199  #undef CYTHON_USE_TYPE_SLOTS
200  #define CYTHON_USE_TYPE_SLOTS 0
201  #undef CYTHON_USE_TYPE_SPECS
202  #define CYTHON_USE_TYPE_SPECS 1
203  #undef CYTHON_USE_PYTYPE_LOOKUP
204  #define CYTHON_USE_PYTYPE_LOOKUP 0
205  #undef CYTHON_USE_ASYNC_SLOTS
206  #define CYTHON_USE_ASYNC_SLOTS 0
207  #undef CYTHON_USE_PYLIST_INTERNALS
208  #define CYTHON_USE_PYLIST_INTERNALS 0
209  #undef CYTHON_USE_UNICODE_INTERNALS
210  #define CYTHON_USE_UNICODE_INTERNALS 0
211  #ifndef CYTHON_USE_UNICODE_WRITER
212  #define CYTHON_USE_UNICODE_WRITER 0
213  #endif
214  #undef CYTHON_USE_PYLONG_INTERNALS
215  #define CYTHON_USE_PYLONG_INTERNALS 0
216  #ifndef CYTHON_AVOID_BORROWED_REFS
217  #define CYTHON_AVOID_BORROWED_REFS 0
218  #endif
219  #undef CYTHON_ASSUME_SAFE_MACROS
220  #define CYTHON_ASSUME_SAFE_MACROS 0
221  #undef CYTHON_UNPACK_METHODS
222  #define CYTHON_UNPACK_METHODS 0
223  #undef CYTHON_FAST_THREAD_STATE
224  #define CYTHON_FAST_THREAD_STATE 0
225  #undef CYTHON_FAST_GIL
226  #define CYTHON_FAST_GIL 0
227  #undef CYTHON_METH_FASTCALL
228  #define CYTHON_METH_FASTCALL 0
229  #undef CYTHON_FAST_PYCALL
230  #define CYTHON_FAST_PYCALL 0
231  #ifndef CYTHON_PEP487_INIT_SUBCLASS
232  #define CYTHON_PEP487_INIT_SUBCLASS 1
233  #endif
234  #undef CYTHON_PEP489_MULTI_PHASE_INIT
235  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
236  #undef CYTHON_USE_MODULE_STATE
237  #define CYTHON_USE_MODULE_STATE 1
238  #ifndef CYTHON_USE_TP_FINALIZE
239  #define CYTHON_USE_TP_FINALIZE 0
240  #endif
241  #undef CYTHON_USE_DICT_VERSIONS
242  #define CYTHON_USE_DICT_VERSIONS 0
243  #undef CYTHON_USE_EXC_INFO_STACK
244  #define CYTHON_USE_EXC_INFO_STACK 0
245  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
246  #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
247  #endif
248  #undef CYTHON_USE_FREELISTS
249  #define CYTHON_USE_FREELISTS 0
250 #elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL)
251  #define CYTHON_COMPILING_IN_PYPY 0
252  #define CYTHON_COMPILING_IN_CPYTHON 0
253  #define CYTHON_COMPILING_IN_LIMITED_API 0
254  #define CYTHON_COMPILING_IN_GRAAL 0
255  #define CYTHON_COMPILING_IN_NOGIL 1
256  #ifndef CYTHON_USE_TYPE_SLOTS
257  #define CYTHON_USE_TYPE_SLOTS 1
258  #endif
259  #ifndef CYTHON_USE_TYPE_SPECS
260  #define CYTHON_USE_TYPE_SPECS 0
261  #endif
262  #undef CYTHON_USE_PYTYPE_LOOKUP
263  #define CYTHON_USE_PYTYPE_LOOKUP 0
264  #ifndef CYTHON_USE_ASYNC_SLOTS
265  #define CYTHON_USE_ASYNC_SLOTS 1
266  #endif
267  #ifndef CYTHON_USE_PYLONG_INTERNALS
268  #define CYTHON_USE_PYLONG_INTERNALS 0
269  #endif
270  #undef CYTHON_USE_PYLIST_INTERNALS
271  #define CYTHON_USE_PYLIST_INTERNALS 0
272  #ifndef CYTHON_USE_UNICODE_INTERNALS
273  #define CYTHON_USE_UNICODE_INTERNALS 1
274  #endif
275  #undef CYTHON_USE_UNICODE_WRITER
276  #define CYTHON_USE_UNICODE_WRITER 0
277  #ifndef CYTHON_AVOID_BORROWED_REFS
278  #define CYTHON_AVOID_BORROWED_REFS 0
279  #endif
280  #ifndef CYTHON_ASSUME_SAFE_MACROS
281  #define CYTHON_ASSUME_SAFE_MACROS 1
282  #endif
283  #ifndef CYTHON_UNPACK_METHODS
284  #define CYTHON_UNPACK_METHODS 1
285  #endif
286  #undef CYTHON_FAST_THREAD_STATE
287  #define CYTHON_FAST_THREAD_STATE 0
288  #undef CYTHON_FAST_GIL
289  #define CYTHON_FAST_GIL 0
290  #ifndef CYTHON_METH_FASTCALL
291  #define CYTHON_METH_FASTCALL 1
292  #endif
293  #undef CYTHON_FAST_PYCALL
294  #define CYTHON_FAST_PYCALL 0
295  #ifndef CYTHON_PEP487_INIT_SUBCLASS
296  #define CYTHON_PEP487_INIT_SUBCLASS 1
297  #endif
298  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
299  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
300  #endif
301  #ifndef CYTHON_USE_MODULE_STATE
302  #define CYTHON_USE_MODULE_STATE 0
303  #endif
304  #ifndef CYTHON_USE_TP_FINALIZE
305  #define CYTHON_USE_TP_FINALIZE 1
306  #endif
307  #undef CYTHON_USE_DICT_VERSIONS
308  #define CYTHON_USE_DICT_VERSIONS 0
309  #undef CYTHON_USE_EXC_INFO_STACK
310  #define CYTHON_USE_EXC_INFO_STACK 0
311  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
312  #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
313  #endif
314  #ifndef CYTHON_USE_FREELISTS
315  #define CYTHON_USE_FREELISTS 0
316  #endif
317 #else
318  #define CYTHON_COMPILING_IN_PYPY 0
319  #define CYTHON_COMPILING_IN_CPYTHON 1
320  #define CYTHON_COMPILING_IN_LIMITED_API 0
321  #define CYTHON_COMPILING_IN_GRAAL 0
322  #define CYTHON_COMPILING_IN_NOGIL 0
323  #ifndef CYTHON_USE_TYPE_SLOTS
324  #define CYTHON_USE_TYPE_SLOTS 1
325  #endif
326  #ifndef CYTHON_USE_TYPE_SPECS
327  #define CYTHON_USE_TYPE_SPECS 0
328  #endif
329  #ifndef CYTHON_USE_PYTYPE_LOOKUP
330  #define CYTHON_USE_PYTYPE_LOOKUP 1
331  #endif
332  #if PY_MAJOR_VERSION < 3
333  #undef CYTHON_USE_ASYNC_SLOTS
334  #define CYTHON_USE_ASYNC_SLOTS 0
335  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
336  #define CYTHON_USE_ASYNC_SLOTS 1
337  #endif
338  #ifndef CYTHON_USE_PYLONG_INTERNALS
339  #define CYTHON_USE_PYLONG_INTERNALS 1
340  #endif
341  #ifndef CYTHON_USE_PYLIST_INTERNALS
342  #define CYTHON_USE_PYLIST_INTERNALS 1
343  #endif
344  #ifndef CYTHON_USE_UNICODE_INTERNALS
345  #define CYTHON_USE_UNICODE_INTERNALS 1
346  #endif
347  #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
348  #undef CYTHON_USE_UNICODE_WRITER
349  #define CYTHON_USE_UNICODE_WRITER 0
350  #elif !defined(CYTHON_USE_UNICODE_WRITER)
351  #define CYTHON_USE_UNICODE_WRITER 1
352  #endif
353  #ifndef CYTHON_AVOID_BORROWED_REFS
354  #define CYTHON_AVOID_BORROWED_REFS 0
355  #endif
356  #ifndef CYTHON_ASSUME_SAFE_MACROS
357  #define CYTHON_ASSUME_SAFE_MACROS 1
358  #endif
359  #ifndef CYTHON_UNPACK_METHODS
360  #define CYTHON_UNPACK_METHODS 1
361  #endif
362  #ifndef CYTHON_FAST_THREAD_STATE
363  #define CYTHON_FAST_THREAD_STATE 1
364  #endif
365  #ifndef CYTHON_FAST_GIL
366  #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6)
367  #endif
368  #ifndef CYTHON_METH_FASTCALL
369  #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1)
370  #endif
371  #ifndef CYTHON_FAST_PYCALL
372  #define CYTHON_FAST_PYCALL 1
373  #endif
374  #ifndef CYTHON_PEP487_INIT_SUBCLASS
375  #define CYTHON_PEP487_INIT_SUBCLASS 1
376  #endif
377  #if PY_VERSION_HEX < 0x03050000
378  #undef CYTHON_PEP489_MULTI_PHASE_INIT
379  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
380  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
381  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
382  #endif
383  #ifndef CYTHON_USE_MODULE_STATE
384  #define CYTHON_USE_MODULE_STATE 0
385  #endif
386  #if PY_VERSION_HEX < 0x030400a1
387  #undef CYTHON_USE_TP_FINALIZE
388  #define CYTHON_USE_TP_FINALIZE 0
389  #elif !defined(CYTHON_USE_TP_FINALIZE)
390  #define CYTHON_USE_TP_FINALIZE 1
391  #endif
392  #if PY_VERSION_HEX < 0x030600B1
393  #undef CYTHON_USE_DICT_VERSIONS
394  #define CYTHON_USE_DICT_VERSIONS 0
395  #elif !defined(CYTHON_USE_DICT_VERSIONS)
396  #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5)
397  #endif
398  #if PY_VERSION_HEX < 0x030700A3
399  #undef CYTHON_USE_EXC_INFO_STACK
400  #define CYTHON_USE_EXC_INFO_STACK 0
401  #elif !defined(CYTHON_USE_EXC_INFO_STACK)
402  #define CYTHON_USE_EXC_INFO_STACK 1
403  #endif
404  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
405  #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
406  #endif
407  #ifndef CYTHON_USE_FREELISTS
408  #define CYTHON_USE_FREELISTS 1
409  #endif
410 #endif
411 #if !defined(CYTHON_FAST_PYCCALL)
412 #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
413 #endif
414 #if !defined(CYTHON_VECTORCALL)
415 #define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1)
416 #endif
417 #define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1)
418 #if CYTHON_USE_PYLONG_INTERNALS
419  #if PY_MAJOR_VERSION < 3
420  #include "longintrepr.h"
421  #endif
422  #undef SHIFT
423  #undef BASE
424  #undef MASK
425  #ifdef SIZEOF_VOID_P
426  enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
427  #endif
428 #endif
429 #ifndef __has_attribute
430  #define __has_attribute(x) 0
431 #endif
432 #ifndef __has_cpp_attribute
433  #define __has_cpp_attribute(x) 0
434 #endif
435 #ifndef CYTHON_RESTRICT
436  #if defined(__GNUC__)
437  #define CYTHON_RESTRICT __restrict__
438  #elif defined(_MSC_VER) && _MSC_VER >= 1400
439  #define CYTHON_RESTRICT __restrict
440  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
441  #define CYTHON_RESTRICT restrict
442  #else
443  #define CYTHON_RESTRICT
444  #endif
445 #endif
446 #ifndef CYTHON_UNUSED
447  #if defined(__cplusplus)
448  /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17
449  * but leads to warnings with -pedantic, since it is a C++17 feature */
450  #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
451  #if __has_cpp_attribute(maybe_unused)
452  #define CYTHON_UNUSED [[maybe_unused]]
453  #endif
454  #endif
455  #endif
456 #endif
457 #ifndef CYTHON_UNUSED
458 # if defined(__GNUC__)
459 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
460 # define CYTHON_UNUSED __attribute__ ((__unused__))
461 # else
462 # define CYTHON_UNUSED
463 # endif
464 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
465 # define CYTHON_UNUSED __attribute__ ((__unused__))
466 # else
467 # define CYTHON_UNUSED
468 # endif
469 #endif
470 #ifndef CYTHON_UNUSED_VAR
471 # if defined(__cplusplus)
472  template<class T> void CYTHON_UNUSED_VAR( const T& ) { }
473 # else
474 # define CYTHON_UNUSED_VAR(x) (void)(x)
475 # endif
476 #endif
477 #ifndef CYTHON_MAYBE_UNUSED_VAR
478  #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
479 #endif
480 #ifndef CYTHON_NCP_UNUSED
481 # if CYTHON_COMPILING_IN_CPYTHON
482 # define CYTHON_NCP_UNUSED
483 # else
484 # define CYTHON_NCP_UNUSED CYTHON_UNUSED
485 # endif
486 #endif
487 #ifndef CYTHON_USE_CPP_STD_MOVE
488  #if defined(__cplusplus) && (\
489  __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
490  #define CYTHON_USE_CPP_STD_MOVE 1
491  #else
492  #define CYTHON_USE_CPP_STD_MOVE 0
493  #endif
494 #endif
495 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
496 #ifdef _MSC_VER
497  #ifndef _MSC_STDINT_H_
498  #if _MSC_VER < 1300
499  typedef unsigned char uint8_t;
500  typedef unsigned short uint16_t;
501  typedef unsigned int uint32_t;
502  #else
503  typedef unsigned __int8 uint8_t;
504  typedef unsigned __int16 uint16_t;
505  typedef unsigned __int32 uint32_t;
506  #endif
507  #endif
508  #if _MSC_VER < 1300
509  #ifdef _WIN64
510  typedef unsigned long long __pyx_uintptr_t;
511  #else
512  typedef unsigned int __pyx_uintptr_t;
513  #endif
514  #else
515  #ifdef _WIN64
516  typedef unsigned __int64 __pyx_uintptr_t;
517  #else
518  typedef unsigned __int32 __pyx_uintptr_t;
519  #endif
520  #endif
521 #else
522  #include <stdint.h>
523  typedef uintptr_t __pyx_uintptr_t;
524 #endif
525 #ifndef CYTHON_FALLTHROUGH
526  #if defined(__cplusplus)
527  /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
528  * but leads to warnings with -pedantic, since it is a C++17 feature */
529  #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
530  #if __has_cpp_attribute(fallthrough)
531  #define CYTHON_FALLTHROUGH [[fallthrough]]
532  #endif
533  #endif
534  #ifndef CYTHON_FALLTHROUGH
535  #if __has_cpp_attribute(clang::fallthrough)
536  #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
537  #elif __has_cpp_attribute(gnu::fallthrough)
538  #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
539  #endif
540  #endif
541  #endif
542  #ifndef CYTHON_FALLTHROUGH
543  #if __has_attribute(fallthrough)
544  #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
545  #else
546  #define CYTHON_FALLTHROUGH
547  #endif
548  #endif
549  #if defined(__clang__) && defined(__apple_build_version__)
550  #if __apple_build_version__ < 7000000
551  #undef CYTHON_FALLTHROUGH
552  #define CYTHON_FALLTHROUGH
553  #endif
554  #endif
555 #endif
556 #ifdef __cplusplus
557  template <typename T>
558  struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
559  #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
560 #else
561  #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
562 #endif
563 #if CYTHON_COMPILING_IN_PYPY == 1
564  #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000)
565 #else
566  #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000)
567 #endif
568 #define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))
569 
570 #ifndef __cplusplus
571  #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
572 #endif
573 #ifndef CYTHON_INLINE
574  #if defined(__clang__)
575  #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
576  #else
577  #define CYTHON_INLINE inline
578  #endif
579 #endif
580 template<typename T>
581 void __Pyx_call_destructor(T& x) {
582  x.~T();
583 }
584 template<typename T>
585 class __Pyx_FakeReference {
586  public:
587  __Pyx_FakeReference() : ptr(NULL) { }
588  __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }
589  T *operator->() { return ptr; }
590  T *operator&() { return ptr; }
591  operator T&() { return *ptr; }
592  template<typename U> bool operator ==(const U& other) const { return *ptr == other; }
593  template<typename U> bool operator !=(const U& other) const { return *ptr != other; }
594  template<typename U> bool operator==(const __Pyx_FakeReference<U>& other) const { return *ptr == *other.ptr; }
595  template<typename U> bool operator!=(const __Pyx_FakeReference<U>& other) const { return *ptr != *other.ptr; }
596  private:
597  T *ptr;
598 };
599 
600 #define __PYX_BUILD_PY_SSIZE_T "n"
601 #define CYTHON_FORMAT_SSIZE_T "z"
602 #if PY_MAJOR_VERSION < 3
603  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
604  #define __Pyx_DefaultClassType PyClass_Type
605  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
606  PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
607 #else
608  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
609  #define __Pyx_DefaultClassType PyType_Type
610 #if CYTHON_COMPILING_IN_LIMITED_API
611  static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
612  PyObject *code, PyObject *c, PyObject* n, PyObject *v,
613  PyObject *fv, PyObject *cell, PyObject* fn,
614  PyObject *name, int fline, PyObject *lnos) {
615  PyObject *exception_table = NULL;
616  PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
617  #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
618  PyObject *version_info;
619  PyObject *py_minor_version = NULL;
620  #endif
621  long minor_version = 0;
622  PyObject *type, *value, *traceback;
623  PyErr_Fetch(&type, &value, &traceback);
624  #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
625  minor_version = 11;
626  #else
627  if (!(version_info = PySys_GetObject("version_info"))) goto end;
628  if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
629  minor_version = PyLong_AsLong(py_minor_version);
630  Py_DECREF(py_minor_version);
631  if (minor_version == -1 && PyErr_Occurred()) goto end;
632  #endif
633  if (!(types_module = PyImport_ImportModule("types"))) goto end;
634  if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
635  if (minor_version <= 7) {
636  (void)p;
637  result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
638  c, n, v, fn, name, fline, lnos, fv, cell);
639  } else if (minor_version <= 10) {
640  result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
641  c, n, v, fn, name, fline, lnos, fv, cell);
642  } else {
643  if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
644  result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
645  c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
646  }
647  end:
648  Py_XDECREF(code_type);
649  Py_XDECREF(exception_table);
650  Py_XDECREF(types_module);
651  if (type) {
652  PyErr_Restore(type, value, traceback);
653  }
654  return result;
655  }
656  #ifndef CO_OPTIMIZED
657  #define CO_OPTIMIZED 0x0001
658  #endif
659  #ifndef CO_NEWLOCALS
660  #define CO_NEWLOCALS 0x0002
661  #endif
662  #ifndef CO_VARARGS
663  #define CO_VARARGS 0x0004
664  #endif
665  #ifndef CO_VARKEYWORDS
666  #define CO_VARKEYWORDS 0x0008
667  #endif
668  #ifndef CO_ASYNC_GENERATOR
669  #define CO_ASYNC_GENERATOR 0x0200
670  #endif
671  #ifndef CO_GENERATOR
672  #define CO_GENERATOR 0x0020
673  #endif
674  #ifndef CO_COROUTINE
675  #define CO_COROUTINE 0x0080
676  #endif
677 #elif PY_VERSION_HEX >= 0x030B0000
678  static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
679  PyObject *code, PyObject *c, PyObject* n, PyObject *v,
680  PyObject *fv, PyObject *cell, PyObject* fn,
681  PyObject *name, int fline, PyObject *lnos) {
682  PyCodeObject *result;
683  PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0);
684  if (!empty_bytes) return NULL;
685  result =
686  #if PY_VERSION_HEX >= 0x030C0000
687  PyUnstable_Code_NewWithPosOnlyArgs
688  #else
689  PyCode_NewWithPosOnlyArgs
690  #endif
691  (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
692  Py_DECREF(empty_bytes);
693  return result;
694  }
695 #elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
696  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
697  PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
698 #else
699  #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
700  PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
701 #endif
702 #endif
703 #if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE)
704  #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type)
705 #else
706  #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type))
707 #endif
708 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
709  #define __Pyx_Py_Is(x, y) Py_Is(x, y)
710 #else
711  #define __Pyx_Py_Is(x, y) ((x) == (y))
712 #endif
713 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
714  #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
715 #else
716  #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
717 #endif
718 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
719  #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
720 #else
721  #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
722 #endif
723 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
724  #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
725 #else
726  #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
727 #endif
728 #define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj))
729 #if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
730  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
731 #else
732  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
733 #endif
734 #ifndef CO_COROUTINE
735  #define CO_COROUTINE 0x80
736 #endif
737 #ifndef CO_ASYNC_GENERATOR
738  #define CO_ASYNC_GENERATOR 0x200
739 #endif
740 #ifndef Py_TPFLAGS_CHECKTYPES
741  #define Py_TPFLAGS_CHECKTYPES 0
742 #endif
743 #ifndef Py_TPFLAGS_HAVE_INDEX
744  #define Py_TPFLAGS_HAVE_INDEX 0
745 #endif
746 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
747  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
748 #endif
749 #ifndef Py_TPFLAGS_HAVE_FINALIZE
750  #define Py_TPFLAGS_HAVE_FINALIZE 0
751 #endif
752 #ifndef Py_TPFLAGS_SEQUENCE
753  #define Py_TPFLAGS_SEQUENCE 0
754 #endif
755 #ifndef Py_TPFLAGS_MAPPING
756  #define Py_TPFLAGS_MAPPING 0
757 #endif
758 #ifndef METH_STACKLESS
759  #define METH_STACKLESS 0
760 #endif
761 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
762  #ifndef METH_FASTCALL
763  #define METH_FASTCALL 0x80
764  #endif
765  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
766  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
767  Py_ssize_t nargs, PyObject *kwnames);
768 #else
769  #if PY_VERSION_HEX >= 0x030d00A4
770  # define __Pyx_PyCFunctionFast PyCFunctionFast
771  # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
772  #else
773  # define __Pyx_PyCFunctionFast _PyCFunctionFast
774  # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
775  #endif
776 #endif
777 #if CYTHON_METH_FASTCALL
778  #define __Pyx_METH_FASTCALL METH_FASTCALL
779  #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
780  #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
781 #else
782  #define __Pyx_METH_FASTCALL METH_VARARGS
783  #define __Pyx_PyCFunction_FastCall PyCFunction
784  #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
785 #endif
786 #if CYTHON_VECTORCALL
787  #define __pyx_vectorcallfunc vectorcallfunc
788  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET
789  #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n))
790 #elif CYTHON_BACKPORT_VECTORCALL
791  typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args,
792  size_t nargsf, PyObject *kwnames);
793  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1))
794  #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET))
795 #else
796  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
797  #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
798 #endif
799 #if PY_MAJOR_VERSION >= 0x030900B1
800 #define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
801 #else
802 #define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
803 #endif
804 #define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
805 #if CYTHON_COMPILING_IN_CPYTHON
806 #define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
807 #elif !CYTHON_COMPILING_IN_LIMITED_API
808 #define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
809 #endif
810 #if CYTHON_COMPILING_IN_CPYTHON
811 #define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
812 static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
813  return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
814 }
815 #endif
816 static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
817 #if CYTHON_COMPILING_IN_LIMITED_API
818  return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
819 #else
820  return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
821 #endif
822 }
823 #define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
824 #if __PYX_LIMITED_VERSION_HEX < 0x030900B1
825  #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
826  typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
827 #else
828  #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b)
829  #define __Pyx_PyCMethod PyCMethod
830 #endif
831 #ifndef METH_METHOD
832  #define METH_METHOD 0x200
833 #endif
834 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
835  #define PyObject_Malloc(s) PyMem_Malloc(s)
836  #define PyObject_Free(p) PyMem_Free(p)
837  #define PyObject_Realloc(p) PyMem_Realloc(p)
838 #endif
839 #if CYTHON_COMPILING_IN_LIMITED_API
840  #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
841  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
842 #else
843  #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
844  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
845 #endif
846 #if CYTHON_COMPILING_IN_LIMITED_API
847  #define __Pyx_PyThreadState_Current PyThreadState_Get()
848 #elif !CYTHON_FAST_THREAD_STATE
849  #define __Pyx_PyThreadState_Current PyThreadState_GET()
850 #elif PY_VERSION_HEX >= 0x030d00A1
851  #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
852 #elif PY_VERSION_HEX >= 0x03060000
853  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
854 #elif PY_VERSION_HEX >= 0x03000000
855  #define __Pyx_PyThreadState_Current PyThreadState_GET()
856 #else
857  #define __Pyx_PyThreadState_Current _PyThreadState_Current
858 #endif
859 #if CYTHON_COMPILING_IN_LIMITED_API
860 static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op)
861 {
862  void *result;
863  result = PyModule_GetState(op);
864  if (!result)
865  Py_FatalError("Couldn't find the module state");
866  return result;
867 }
868 #endif
869 #define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype)
870 #if CYTHON_COMPILING_IN_LIMITED_API
871  #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name))
872 #else
873  #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name)
874 #endif
875 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
876 #include "pythread.h"
877 #define Py_tss_NEEDS_INIT 0
878 typedef int Py_tss_t;
879 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
880  *key = PyThread_create_key();
881  return 0;
882 }
883 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
884  Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
885  *key = Py_tss_NEEDS_INIT;
886  return key;
887 }
888 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
889  PyObject_Free(key);
890 }
891 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
892  return *key != Py_tss_NEEDS_INIT;
893 }
894 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
895  PyThread_delete_key(*key);
896  *key = Py_tss_NEEDS_INIT;
897 }
898 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
899  return PyThread_set_key_value(*key, value);
900 }
901 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
902  return PyThread_get_key_value(*key);
903 }
904 #endif
905 #if PY_MAJOR_VERSION < 3
906  #if CYTHON_COMPILING_IN_PYPY
907  #if PYPY_VERSION_NUM < 0x07030600
908  #if defined(__cplusplus) && __cplusplus >= 201402L
909  [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]]
910  #elif defined(__GNUC__) || defined(__clang__)
911  __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")))
912  #elif defined(_MSC_VER)
913  __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))
914  #endif
915  static CYTHON_INLINE int PyGILState_Check(void) {
916  return 0;
917  }
918  #else // PYPY_VERSION_NUM < 0x07030600
919  #endif // PYPY_VERSION_NUM < 0x07030600
920  #else
921  static CYTHON_INLINE int PyGILState_Check(void) {
922  PyThreadState * tstate = _PyThreadState_Current;
923  return tstate && (tstate == PyGILState_GetThisThreadState());
924  }
925  #endif
926 #endif
927 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
928 #define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
929 #else
930 #define __Pyx_PyDict_NewPresized(n) PyDict_New()
931 #endif
932 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
933  #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
934  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
935 #else
936  #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
937  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
938 #endif
939 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
940 #define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
941 static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
942  PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
943  if (res == NULL) PyErr_Clear();
944  return res;
945 }
946 #elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000)
947 #define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError
948 #define __Pyx_PyDict_GetItemStr PyDict_GetItem
949 #else
950 static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
951 #if CYTHON_COMPILING_IN_PYPY
952  return PyDict_GetItem(dict, name);
953 #else
954  PyDictEntry *ep;
955  PyDictObject *mp = (PyDictObject*) dict;
956  long hash = ((PyStringObject *) name)->ob_shash;
957  assert(hash != -1);
958  ep = (mp->ma_lookup)(mp, name, hash);
959  if (ep == NULL) {
960  return NULL;
961  }
962  return ep->me_value;
963 #endif
964 }
965 #define __Pyx_PyDict_GetItemStr PyDict_GetItem
966 #endif
967 #if CYTHON_USE_TYPE_SLOTS
968  #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags)
969  #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
970  #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext)
971 #else
972  #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp))
973  #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
974  #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
975 #endif
976 #if CYTHON_COMPILING_IN_LIMITED_API
977  #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
978 #else
979  #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
980 #endif
981 #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
982 #define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
983  PyTypeObject *type = Py_TYPE((PyObject*)obj);\
984  assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
985  PyObject_GC_Del(obj);\
986  Py_DECREF(type);\
987 }
988 #else
989 #define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj)
990 #endif
991 #if CYTHON_COMPILING_IN_LIMITED_API
992  #define CYTHON_PEP393_ENABLED 1
993  #define __Pyx_PyUnicode_READY(op) (0)
994  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u)
995  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
996  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U)
997  #define __Pyx_PyUnicode_KIND(u) ((void)u, (0))
998  #define __Pyx_PyUnicode_DATA(u) ((void*)u)
999  #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
1000  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u))
1001 #elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
1002  #define CYTHON_PEP393_ENABLED 1
1003  #if PY_VERSION_HEX >= 0x030C0000
1004  #define __Pyx_PyUnicode_READY(op) (0)
1005  #else
1006  #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
1007  0 : _PyUnicode_Ready((PyObject *)(op)))
1008  #endif
1009  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
1010  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
1011  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
1012  #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u))
1013  #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
1014  #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
1015  #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
1016  #if PY_VERSION_HEX >= 0x030C0000
1017  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
1018  #else
1019  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
1020  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
1021  #else
1022  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
1023  #endif
1024  #endif
1025 #else
1026  #define CYTHON_PEP393_ENABLED 0
1027  #define PyUnicode_1BYTE_KIND 1
1028  #define PyUnicode_2BYTE_KIND 2
1029  #define PyUnicode_4BYTE_KIND 4
1030  #define __Pyx_PyUnicode_READY(op) (0)
1031  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
1032  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
1033  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U)
1034  #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE))
1035  #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
1036  #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
1037  #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch)
1038  #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))
1039 #endif
1040 #if CYTHON_COMPILING_IN_PYPY
1041  #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
1042  #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
1043 #else
1044  #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
1045  #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
1046  PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
1047 #endif
1048 #if CYTHON_COMPILING_IN_PYPY
1049  #if !defined(PyUnicode_DecodeUnicodeEscape)
1050  #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors)
1051  #endif
1052  #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500)
1053  #undef PyUnicode_Contains
1054  #define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
1055  #endif
1056  #if !defined(PyByteArray_Check)
1057  #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
1058  #endif
1059  #if !defined(PyObject_Format)
1060  #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
1061  #endif
1062 #endif
1063 #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
1064 #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
1065 #if PY_MAJOR_VERSION >= 3
1066  #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
1067 #else
1068  #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
1069 #endif
1070 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
1071  #define PyObject_ASCII(o) PyObject_Repr(o)
1072 #endif
1073 #if PY_MAJOR_VERSION >= 3
1074  #define PyBaseString_Type PyUnicode_Type
1075  #define PyStringObject PyUnicodeObject
1076  #define PyString_Type PyUnicode_Type
1077  #define PyString_Check PyUnicode_Check
1078  #define PyString_CheckExact PyUnicode_CheckExact
1079 #ifndef PyObject_Unicode
1080  #define PyObject_Unicode PyObject_Str
1081 #endif
1082 #endif
1083 #if PY_MAJOR_VERSION >= 3
1084  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
1085  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
1086 #else
1087  #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
1088  #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
1089 #endif
1090 #if CYTHON_COMPILING_IN_CPYTHON
1091  #define __Pyx_PySequence_ListKeepNew(obj)\
1092  (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
1093 #else
1094  #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj)
1095 #endif
1096 #ifndef PySet_CheckExact
1097  #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type)
1098 #endif
1099 #if PY_VERSION_HEX >= 0x030900A4
1100  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
1101  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
1102 #else
1103  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
1104  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
1105 #endif
1106 #if CYTHON_ASSUME_SAFE_MACROS
1107  #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
1108  #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
1109  #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
1110  #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
1111  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
1112  #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
1113  #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
1114  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
1115  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
1116 #else
1117  #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
1118  #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
1119  #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
1120  #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
1121  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
1122  #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
1123  #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
1124  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
1125  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
1126 #endif
1127 #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
1128  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
1129 #else
1130  static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
1131  PyObject *module = PyImport_AddModule(name);
1132  Py_XINCREF(module);
1133  return module;
1134  }
1135 #endif
1136 #if PY_MAJOR_VERSION >= 3
1137  #define PyIntObject PyLongObject
1138  #define PyInt_Type PyLong_Type
1139  #define PyInt_Check(op) PyLong_Check(op)
1140  #define PyInt_CheckExact(op) PyLong_CheckExact(op)
1141  #define __Pyx_Py3Int_Check(op) PyLong_Check(op)
1142  #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op)
1143  #define PyInt_FromString PyLong_FromString
1144  #define PyInt_FromUnicode PyLong_FromUnicode
1145  #define PyInt_FromLong PyLong_FromLong
1146  #define PyInt_FromSize_t PyLong_FromSize_t
1147  #define PyInt_FromSsize_t PyLong_FromSsize_t
1148  #define PyInt_AsLong PyLong_AsLong
1149  #define PyInt_AS_LONG PyLong_AS_LONG
1150  #define PyInt_AsSsize_t PyLong_AsSsize_t
1151  #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
1152  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
1153  #define PyNumber_Int PyNumber_Long
1154 #else
1155  #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op))
1156  #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op))
1157 #endif
1158 #if PY_MAJOR_VERSION >= 3
1159  #define PyBoolObject PyLongObject
1160 #endif
1161 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
1162  #ifndef PyUnicode_InternFromString
1163  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
1164  #endif
1165 #endif
1166 #if PY_VERSION_HEX < 0x030200A4
1167  typedef long Py_hash_t;
1168  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
1169  #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t
1170 #else
1171  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
1172  #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t
1173 #endif
1174 #if CYTHON_USE_ASYNC_SLOTS
1175  #if PY_VERSION_HEX >= 0x030500B1
1176  #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
1177  #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
1178  #else
1179  #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
1180  #endif
1181 #else
1182  #define __Pyx_PyType_AsAsync(obj) NULL
1183 #endif
1184 #ifndef __Pyx_PyAsyncMethodsStruct
1185  typedef struct {
1186  unaryfunc am_await;
1187  unaryfunc am_aiter;
1188  unaryfunc am_anext;
1189  } __Pyx_PyAsyncMethodsStruct;
1190 #endif
1191 
1192 #if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
1193  #if !defined(_USE_MATH_DEFINES)
1194  #define _USE_MATH_DEFINES
1195  #endif
1196 #endif
1197 #include <math.h>
1198 #ifdef NAN
1199 #define __PYX_NAN() ((float) NAN)
1200 #else
1201 static CYTHON_INLINE float __PYX_NAN() {
1202  float value;
1203  memset(&value, 0xFF, sizeof(value));
1204  return value;
1205 }
1206 #endif
1207 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
1208 #define __Pyx_truncl trunc
1209 #else
1210 #define __Pyx_truncl truncl
1211 #endif
1212 
1213 #define __PYX_MARK_ERR_POS(f_index, lineno) \
1214  { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
1215 #define __PYX_ERR(f_index, lineno, Ln_error) \
1216  { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
1217 
1218 #ifdef CYTHON_EXTERN_C
1219  #undef __PYX_EXTERN_C
1220  #define __PYX_EXTERN_C CYTHON_EXTERN_C
1221 #elif defined(__PYX_EXTERN_C)
1222  #ifdef _MSC_VER
1223  #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
1224  #else
1225  #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
1226  #endif
1227 #else
1228  #define __PYX_EXTERN_C extern "C++"
1229 #endif
1230 
1231 #define __PYX_HAVE__pywrapfst
1232 #define __PYX_HAVE_API__pywrapfst
1233 /* Early includes */
1234 #include <stdint.h>
1235 #include "ios"
1236 #include "new"
1237 #include "stdexcept"
1238 #include "typeinfo"
1239 #include <memory>
1240 #include <string.h>
1241 #include <string>
1242 #include <utility>
1243 
1244  #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
1245  // move should be defined for these versions of MSVC, but __cplusplus isn't set usefully
1246  #include <type_traits>
1247 
1248  namespace cython_std {
1249  template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
1250  template <typename T> typename std::remove_reference<T>::type&& move(T&& t) noexcept { return std::move(t); }
1251  }
1252 
1253  #endif
1254 
1255 #include <vector>
1256 #include <iostream>
1257 #include <fstream>
1258 #include <sstream>
1259 #include <optional>
1260 #include <fst/util.h>
1261 #include <fst/fstlib.h>
1262 #include <fst/script/fstscript.h>
1263 #include <fst/script/getters.h>
1264 #include <fst/extensions/far/far.h>
1267 #include <limits>
1268 #include <fst/compat.h>
1269 #ifdef _OPENMP
1270 #include <omp.h>
1271 #endif /* _OPENMP */
1272 
1273 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
1274 #define CYTHON_WITHOUT_ASSERTIONS
1275 #endif
1276 
1277 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
1278  const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
1279 
1280 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
1281 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 1
1282 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
1283 #define __PYX_DEFAULT_STRING_ENCODING "utf8"
1284 #define __Pyx_PyObject_FromString __Pyx_PyUnicode_FromString
1285 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
1286 #define __Pyx_uchar_cast(c) ((unsigned char)c)
1287 #define __Pyx_long_cast(x) ((long)x)
1288 #define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
1289  (sizeof(type) < sizeof(Py_ssize_t)) ||\
1290  (sizeof(type) > sizeof(Py_ssize_t) &&\
1291  likely(v < (type)PY_SSIZE_T_MAX ||\
1292  v == (type)PY_SSIZE_T_MAX) &&\
1293  (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
1294  v == (type)PY_SSIZE_T_MIN))) ||\
1295  (sizeof(type) == sizeof(Py_ssize_t) &&\
1296  (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
1297  v == (type)PY_SSIZE_T_MAX))) )
1298 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
1299  return (size_t) i < (size_t) limit;
1300 }
1301 #if defined (__cplusplus) && __cplusplus >= 201103L
1302  #include <cstdlib>
1303  #define __Pyx_sst_abs(value) std::abs(value)
1304 #elif SIZEOF_INT >= SIZEOF_SIZE_T
1305  #define __Pyx_sst_abs(value) abs(value)
1306 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
1307  #define __Pyx_sst_abs(value) labs(value)
1308 #elif defined (_MSC_VER)
1309  #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
1310 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
1311  #define __Pyx_sst_abs(value) llabs(value)
1312 #elif defined (__GNUC__)
1313  #define __Pyx_sst_abs(value) __builtin_llabs(value)
1314 #else
1315  #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
1316 #endif
1317 static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
1318 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
1319 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
1320 static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
1321 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
1322 #define __Pyx_PyBytes_FromString PyBytes_FromString
1323 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
1324 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
1325 #if PY_MAJOR_VERSION < 3
1326  #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
1327  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
1328 #else
1329  #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
1330  #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
1331 #endif
1332 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
1333 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
1334 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
1335 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
1336 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
1337 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
1338 #define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
1339 #define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
1340 #define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
1341 #define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
1342 #define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
1343 #define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
1344 #define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
1345 #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
1346 #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
1347 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
1348 #define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o)
1349 #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
1350 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
1351 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
1352 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
1353 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
1354 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
1355 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
1356 #define __Pyx_PySequence_Tuple(obj)\
1357  (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
1358 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
1359 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
1360 static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1361 #if CYTHON_ASSUME_SAFE_MACROS
1362 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
1363 #else
1364 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
1365 #endif
1366 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
1367 #if PY_MAJOR_VERSION >= 3
1368 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
1369 #else
1370 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
1371 #endif
1372 #if CYTHON_USE_PYLONG_INTERNALS
1373  #if PY_VERSION_HEX >= 0x030C00A7
1374  #ifndef _PyLong_SIGN_MASK
1375  #define _PyLong_SIGN_MASK 3
1376  #endif
1377  #ifndef _PyLong_NON_SIZE_BITS
1378  #define _PyLong_NON_SIZE_BITS 3
1379  #endif
1380  #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)
1381  #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0)
1382  #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x))
1383  #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1)
1384  #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0)
1385  #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0])
1386  #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
1387  #define __Pyx_PyLong_SignedDigitCount(x)\
1388  ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
1389  #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
1390  #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x)
1391  #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x)
1392  #else
1393  #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
1394  #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
1395  #endif
1396  typedef Py_ssize_t __Pyx_compact_pylong;
1397  typedef size_t __Pyx_compact_upylong;
1398  #else
1399  #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0)
1400  #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0)
1401  #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0)
1402  #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0)
1403  #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
1404  #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x))
1405  #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x)
1406  #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
1407  #define __Pyx_PyLong_CompactValue(x)\
1408  ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
1409  typedef sdigit __Pyx_compact_pylong;
1410  typedef digit __Pyx_compact_upylong;
1411  #endif
1412  #if PY_VERSION_HEX >= 0x030C00A5
1413  #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit)
1414  #else
1415  #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit)
1416  #endif
1417 #endif
1418 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
1419 #include <string.h>
1420 static int __Pyx_sys_getdefaultencoding_not_ascii;
1421 static int __Pyx_init_sys_getdefaultencoding_params(void) {
1422  PyObject* sys;
1423  PyObject* default_encoding = NULL;
1424  PyObject* ascii_chars_u = NULL;
1425  PyObject* ascii_chars_b = NULL;
1426  const char* default_encoding_c;
1427  sys = PyImport_ImportModule("sys");
1428  if (!sys) goto bad;
1429  default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
1430  Py_DECREF(sys);
1431  if (!default_encoding) goto bad;
1432  default_encoding_c = PyBytes_AsString(default_encoding);
1433  if (!default_encoding_c) goto bad;
1434  if (strcmp(default_encoding_c, "ascii") == 0) {
1435  __Pyx_sys_getdefaultencoding_not_ascii = 0;
1436  } else {
1437  char ascii_chars[128];
1438  int c;
1439  for (c = 0; c < 128; c++) {
1440  ascii_chars[c] = (char) c;
1441  }
1442  __Pyx_sys_getdefaultencoding_not_ascii = 1;
1443  ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
1444  if (!ascii_chars_u) goto bad;
1445  ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
1446  if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
1447  PyErr_Format(
1448  PyExc_ValueError,
1449  "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
1450  default_encoding_c);
1451  goto bad;
1452  }
1453  Py_DECREF(ascii_chars_u);
1454  Py_DECREF(ascii_chars_b);
1455  }
1456  Py_DECREF(default_encoding);
1457  return 0;
1458 bad:
1459  Py_XDECREF(default_encoding);
1460  Py_XDECREF(ascii_chars_u);
1461  Py_XDECREF(ascii_chars_b);
1462  return -1;
1463 }
1464 #endif
1465 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
1466 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
1467 #else
1468 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
1469 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
1470 #include <string.h>
1471 static char* __PYX_DEFAULT_STRING_ENCODING;
1472 static int __Pyx_init_sys_getdefaultencoding_params(void) {
1473  PyObject* sys;
1474  PyObject* default_encoding = NULL;
1475  char* default_encoding_c;
1476  sys = PyImport_ImportModule("sys");
1477  if (!sys) goto bad;
1478  default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
1479  Py_DECREF(sys);
1480  if (!default_encoding) goto bad;
1481  default_encoding_c = PyBytes_AsString(default_encoding);
1482  if (!default_encoding_c) goto bad;
1483  __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
1484  if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
1485  strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
1486  Py_DECREF(default_encoding);
1487  return 0;
1488 bad:
1489  Py_XDECREF(default_encoding);
1490  return -1;
1491 }
1492 #endif
1493 #endif
1494 
1495 
1496 /* Test for GCC > 2.95 */
1497 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
1498  #define likely(x) __builtin_expect(!!(x), 1)
1499  #define unlikely(x) __builtin_expect(!!(x), 0)
1500 #else /* !__GNUC__ or GCC < 2.95 */
1501  #define likely(x) (x)
1502  #define unlikely(x) (x)
1503 #endif /* __GNUC__ */
1504 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
1505 
1506 #if !CYTHON_USE_MODULE_STATE
1507 static PyObject *__pyx_m = NULL;
1508 #endif
1509 static int __pyx_lineno;
1510 static int __pyx_clineno = 0;
1511 static const char * __pyx_cfilenm = __FILE__;
1512 static const char *__pyx_filename;
1513 
1514 /* #### Code section: filename_table ### */
1515 
1516 static const char *__pyx_f[] = {
1517  "pywrapfst.pyx",
1518  "<stringsource>",
1519 };
1520 /* #### Code section: utility_code_proto_before_types ### */
1521 /* ForceInitThreads.proto */
1522 #ifndef __PYX_FORCE_INIT_THREADS
1523  #define __PYX_FORCE_INIT_THREADS 0
1524 #endif
1525 
1526 /* #### Code section: numeric_typedefs ### */
1527 /* #### Code section: complex_type_declarations ### */
1528 /* #### Code section: type_declarations ### */
1529 
1530 /*--- Type declarations ---*/
1531 struct __pyx_obj_9pywrapfst_Weight;
1532 struct __pyx_obj_9pywrapfst_SymbolTableView;
1533 struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView;
1534 struct __pyx_obj_9pywrapfst__FstSymbolTableView;
1535 struct __pyx_obj_9pywrapfst__MutableSymbolTable;
1536 struct __pyx_obj_9pywrapfst__MutableFstSymbolTableView;
1537 struct __pyx_obj_9pywrapfst_SymbolTable;
1538 struct __pyx_obj_9pywrapfst__SymbolTableIterator;
1539 struct __pyx_obj_9pywrapfst_EncodeMapper;
1540 struct __pyx_obj_9pywrapfst_Fst;
1541 struct __pyx_obj_9pywrapfst_MutableFst;
1542 struct __pyx_obj_9pywrapfst_VectorFst;
1543 struct __pyx_obj_9pywrapfst_Arc;
1544 struct __pyx_obj_9pywrapfst__ArcIterator;
1545 struct __pyx_obj_9pywrapfst__MutableArcIterator;
1546 struct __pyx_obj_9pywrapfst__StateIterator;
1547 struct __pyx_obj_9pywrapfst_Compiler;
1548 struct __pyx_obj_9pywrapfst_FarReader;
1549 struct __pyx_obj_9pywrapfst_FarWriter;
1550 struct __pyx_obj_9pywrapfst___pyx_scope_struct____iter__;
1551 
1552 /* "cpywrapfst.pxd":523
1553  *
1554  *
1555  * ctypedef pair[int64_t, const FstClass *] LabelFstClassPair # <<<<<<<<<<<<<<
1556  *
1557  * ctypedef pair[int64_t, int64_t] LabelPair
1558  */
1559 typedef std::pair<int64_t,fst::script::FstClass const *> __pyx_t_10cpywrapfst_LabelFstClassPair;
1560 
1561 /* "cpywrapfst.pxd":525
1562  * ctypedef pair[int64_t, const FstClass *] LabelFstClassPair
1563  *
1564  * ctypedef pair[int64_t, int64_t] LabelPair # <<<<<<<<<<<<<<
1565  *
1566  *
1567  */
1568 typedef std::pair<int64_t,int64_t> __pyx_t_10cpywrapfst_LabelPair;
1569 struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol;
1570 struct __pyx_opt_args_9pywrapfst_3Fst_draw;
1571 struct __pyx_opt_args_9pywrapfst_3Fst_print;
1572 struct __pyx_opt_args_9pywrapfst_10MutableFst__arcsort;
1573 struct __pyx_opt_args_9pywrapfst_10MutableFst__closure;
1574 struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_arcs;
1575 struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_states;
1576 struct __pyx_opt_args_9pywrapfst_10MutableFst__minimize;
1577 struct __pyx_opt_args_9pywrapfst_10MutableFst__prune;
1578 struct __pyx_opt_args_9pywrapfst_10MutableFst__push;
1579 struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_pairs;
1580 struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_tables;
1581 struct __pyx_opt_args_9pywrapfst_10MutableFst__reweight;
1582 struct __pyx_opt_args_9pywrapfst_10MutableFst__rmepsilon;
1583 struct __pyx_opt_args_9pywrapfst_10MutableFst__set_final;
1584 struct __pyx_opt_args_9pywrapfst__map;
1585 struct __pyx_opt_args_9pywrapfst_arcmap;
1586 struct __pyx_opt_args_9pywrapfst_compose;
1587 struct __pyx_opt_args_9pywrapfst_convert;
1588 struct __pyx_opt_args_9pywrapfst_determinize;
1589 struct __pyx_opt_args_9pywrapfst_difference;
1590 struct __pyx_opt_args_9pywrapfst_disambiguate;
1591 struct __pyx_opt_args_9pywrapfst_epsnormalize;
1592 struct __pyx_opt_args_9pywrapfst_equal;
1593 struct __pyx_opt_args_9pywrapfst_equivalent;
1594 struct __pyx_opt_args_9pywrapfst_intersect;
1595 struct __pyx_opt_args_9pywrapfst_isomorphic;
1596 struct __pyx_opt_args_9pywrapfst_prune;
1597 struct __pyx_opt_args_9pywrapfst_push;
1598 struct __pyx_opt_args_9pywrapfst_randequivalent;
1599 struct __pyx_opt_args_9pywrapfst_randgen;
1600 struct __pyx_opt_args_9pywrapfst_replace;
1601 struct __pyx_opt_args_9pywrapfst_reverse;
1602 struct __pyx_opt_args_9pywrapfst__shortestdistance;
1603 struct __pyx_opt_args_9pywrapfst_shortestpath;
1604 struct __pyx_defaults;
1605 typedef struct __pyx_defaults __pyx_defaults;
1606 
1607 /* "pywrapfst.pxd":103
1608  * # SymbolTable.
1609  *
1610  * ctypedef fst.SymbolTable * SymbolTable_ptr # <<<<<<<<<<<<<<
1611  * ctypedef const fst.SymbolTable * const_SymbolTable_ptr
1612  *
1613  */
1614 typedef fst::SymbolTable *__pyx_t_9pywrapfst_SymbolTable_ptr;
1615 
1616 /* "pywrapfst.pxd":104
1617  *
1618  * ctypedef fst.SymbolTable * SymbolTable_ptr
1619  * ctypedef const fst.SymbolTable * const_SymbolTable_ptr # <<<<<<<<<<<<<<
1620  *
1621  *
1622  */
1623 typedef fst::SymbolTable const *__pyx_t_9pywrapfst_const_SymbolTable_ptr;
1624 
1625 /* "pywrapfst.pxd":158
1626  * cdef fst.SymbolTable *_mutable_raw_ptr_or_raise(self) except *
1627  *
1628  * cpdef int64_t add_symbol(self, symbol, int64_t key=?) except * # <<<<<<<<<<<<<<
1629  *
1630  * cpdef void add_table(self, SymbolTableView syms) except *
1631  */
1632 struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol {
1633  int __pyx_n;
1634  int64_t key;
1635 };
1636 
1637 /* "pywrapfst.pxd":205
1638  *
1639  *
1640  * ctypedef fst.EncodeMapperClass * EncodeMapperClass_ptr # <<<<<<<<<<<<<<
1641  *
1642  *
1643  */
1644 typedef fst::script::EncodeMapperClass *__pyx_t_9pywrapfst_EncodeMapperClass_ptr;
1645 
1646 /* "pywrapfst.pxd":237
1647  *
1648  *
1649  * ctypedef fst.FstClass * FstClass_ptr # <<<<<<<<<<<<<<
1650  * ctypedef const fst.FstClass * const_FstClass_ptr
1651  * ctypedef fst.MutableFstClass * MutableFstClass_ptr
1652  */
1653 typedef fst::script::FstClass *__pyx_t_9pywrapfst_FstClass_ptr;
1654 
1655 /* "pywrapfst.pxd":238
1656  *
1657  * ctypedef fst.FstClass * FstClass_ptr
1658  * ctypedef const fst.FstClass * const_FstClass_ptr # <<<<<<<<<<<<<<
1659  * ctypedef fst.MutableFstClass * MutableFstClass_ptr
1660  * ctypedef fst.VectorFstClass * VectorFstClass_ptr
1661  */
1662 typedef fst::script::FstClass const *__pyx_t_9pywrapfst_const_FstClass_ptr;
1663 
1664 /* "pywrapfst.pxd":239
1665  * ctypedef fst.FstClass * FstClass_ptr
1666  * ctypedef const fst.FstClass * const_FstClass_ptr
1667  * ctypedef fst.MutableFstClass * MutableFstClass_ptr # <<<<<<<<<<<<<<
1668  * ctypedef fst.VectorFstClass * VectorFstClass_ptr
1669  *
1670  */
1671 typedef fst::script::MutableFstClass *__pyx_t_9pywrapfst_MutableFstClass_ptr;
1672 
1673 /* "pywrapfst.pxd":240
1674  * ctypedef const fst.FstClass * const_FstClass_ptr
1675  * ctypedef fst.MutableFstClass * MutableFstClass_ptr
1676  * ctypedef fst.VectorFstClass * VectorFstClass_ptr # <<<<<<<<<<<<<<
1677  *
1678  *
1679  */
1680 typedef fst::script::VectorFstClass *__pyx_t_9pywrapfst_VectorFstClass_ptr;
1681 
1682 /* "pywrapfst.pxd":256
1683  * cpdef Fst copy(self)
1684  *
1685  * cpdef void draw(self, # <<<<<<<<<<<<<<
1686  * source,
1687  * SymbolTableView isymbols=?,
1688  */
1689 struct __pyx_opt_args_9pywrapfst_3Fst_draw {
1690  int __pyx_n;
1691  struct __pyx_obj_9pywrapfst_SymbolTableView *isymbols;
1692  struct __pyx_obj_9pywrapfst_SymbolTableView *osymbols;
1693  struct __pyx_obj_9pywrapfst_SymbolTableView *ssymbols;
1694  bool acceptor;
1695  PyObject *title;
1696  double width;
1697  double height;
1698  bool portrait;
1699  bool vertical;
1700  double ranksep;
1701  double nodesep;
1702  int32_t fontsize;
1703  int32_t precision;
1704  PyObject *float_format;
1705  bool show_weight_one;
1706 };
1707 
1708 /* "pywrapfst.pxd":288
1709  * cpdef _FstSymbolTableView output_symbols(self)
1710  *
1711  * cpdef string print(self, # <<<<<<<<<<<<<<
1712  * SymbolTableView isymbols=?,
1713  * SymbolTableView osymbols=?,
1714  */
1715 struct __pyx_opt_args_9pywrapfst_3Fst_print {
1716  int __pyx_n;
1717  struct __pyx_obj_9pywrapfst_SymbolTableView *isymbols;
1718  struct __pyx_obj_9pywrapfst_SymbolTableView *osymbols;
1719  struct __pyx_obj_9pywrapfst_SymbolTableView *ssymbols;
1720  bool acceptor;
1721  bool show_weight_one;
1722  PyObject *missing_sym;
1723 };
1724 
1725 /* "pywrapfst.pxd":321
1726  * cpdef void add_states(self, size_t)
1727  *
1728  * cdef void _arcsort(self, sort_type=?) except * # <<<<<<<<<<<<<<
1729  *
1730  * cdef void _closure(self, closure_type=?)
1731  */
1732 struct __pyx_opt_args_9pywrapfst_10MutableFst__arcsort {
1733  int __pyx_n;
1734  PyObject *sort_type;
1735 };
1736 
1737 /* "pywrapfst.pxd":323
1738  * cdef void _arcsort(self, sort_type=?) except *
1739  *
1740  * cdef void _closure(self, closure_type=?) # <<<<<<<<<<<<<<
1741  *
1742  * cdef void _concat(self, Fst fst2) except *
1743  */
1744 struct __pyx_opt_args_9pywrapfst_10MutableFst__closure {
1745  int __pyx_n;
1746  PyObject *closure_type;
1747 };
1748 
1749 /* "pywrapfst.pxd":331
1750  * cdef void _decode(self, EncodeMapper) except *
1751  *
1752  * cdef void _delete_arcs(self, int64_t state, size_t n=?) except * # <<<<<<<<<<<<<<
1753  *
1754  * cdef void _delete_states(self, states=?) except *
1755  */
1756 struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_arcs {
1757  int __pyx_n;
1758  size_t n;
1759 };
1760 
1761 /* "pywrapfst.pxd":333
1762  * cdef void _delete_arcs(self, int64_t state, size_t n=?) except *
1763  *
1764  * cdef void _delete_states(self, states=?) except * # <<<<<<<<<<<<<<
1765  *
1766  * cdef void _encode(self, EncodeMapper) except *
1767  */
1768 struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_states {
1769  int __pyx_n;
1770  PyObject *states;
1771 };
1772 
1773 /* "pywrapfst.pxd":339
1774  * cdef void _invert(self)
1775  *
1776  * cdef void _minimize(self, float delta=?, bool allow_nondet=?) except * # <<<<<<<<<<<<<<
1777  *
1778  * cpdef _MutableArcIterator mutable_arcs(self, int64_t state)
1779  */
1780 struct __pyx_opt_args_9pywrapfst_10MutableFst__minimize {
1781  int __pyx_n;
1782  float delta;
1783  bool allow_nondet;
1784 };
1785 
1786 /* "pywrapfst.pxd":347
1787  * cdef void _project(self, project_type) except *
1788  *
1789  * cdef void _prune(self, float delta=?, int64_t nstate=?, weight=?) except * # <<<<<<<<<<<<<<
1790  *
1791  * cdef void _push(self,
1792  */
1793 struct __pyx_opt_args_9pywrapfst_10MutableFst__prune {
1794  int __pyx_n;
1795  float delta;
1796  int64_t nstate;
1797  PyObject *weight;
1798 };
1799 
1800 /* "pywrapfst.pxd":349
1801  * cdef void _prune(self, float delta=?, int64_t nstate=?, weight=?) except *
1802  *
1803  * cdef void _push(self, # <<<<<<<<<<<<<<
1804  * float delta=?,
1805  * bool remove_total_weight=?,
1806  */
1807 struct __pyx_opt_args_9pywrapfst_10MutableFst__push {
1808  int __pyx_n;
1809  float delta;
1810  bool remove_total_weight;
1811  PyObject *reweight_type;
1812 };
1813 
1814 /* "pywrapfst.pxd":354
1815  * reweight_type=?)
1816  *
1817  * cdef void _relabel_pairs(self, ipairs=?, opairs=?) except * # <<<<<<<<<<<<<<
1818  *
1819  * cdef void _relabel_tables(self,
1820  */
1821 struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_pairs {
1822  int __pyx_n;
1823  PyObject *ipairs;
1824  PyObject *opairs;
1825 };
1826 
1827 /* "pywrapfst.pxd":356
1828  * cdef void _relabel_pairs(self, ipairs=?, opairs=?) except *
1829  *
1830  * cdef void _relabel_tables(self, # <<<<<<<<<<<<<<
1831  * SymbolTableView old_isymbols=?,
1832  * SymbolTableView new_isymbols=?,
1833  */
1834 struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_tables {
1835  int __pyx_n;
1836  struct __pyx_obj_9pywrapfst_SymbolTableView *old_isymbols;
1837  struct __pyx_obj_9pywrapfst_SymbolTableView *new_isymbols;
1838  PyObject *unknown_isymbol;
1839  bool attach_new_isymbols;
1840  struct __pyx_obj_9pywrapfst_SymbolTableView *old_osymbols;
1841  struct __pyx_obj_9pywrapfst_SymbolTableView *new_osymbols;
1842  PyObject *unknown_osymbol;
1843  bool attach_new_osymbols;
1844 };
1845 
1846 /* "pywrapfst.pxd":370
1847  * cdef void _reserve_states(self, int64_t n)
1848  *
1849  * cdef void _reweight(self, potentials, reweight_type=?) except * # <<<<<<<<<<<<<<
1850  *
1851  * cdef void _rmepsilon(self,
1852  */
1853 struct __pyx_opt_args_9pywrapfst_10MutableFst__reweight {
1854  int __pyx_n;
1855  PyObject *reweight_type;
1856 };
1857 
1858 /* "pywrapfst.pxd":372
1859  * cdef void _reweight(self, potentials, reweight_type=?) except *
1860  *
1861  * cdef void _rmepsilon(self, # <<<<<<<<<<<<<<
1862  * queue_type=?,
1863  * bool connect=?,
1864  */
1865 struct __pyx_opt_args_9pywrapfst_10MutableFst__rmepsilon {
1866  int __pyx_n;
1867  PyObject *queue_type;
1868  bool connect;
1869  PyObject *weight;
1870  int64_t nstate;
1871  float delta;
1872 };
1873 
1874 /* "pywrapfst.pxd":379
1875  * float delta=?) except *
1876  *
1877  * cdef void _set_final(self, int64_t state, weight=?) except * # <<<<<<<<<<<<<<
1878  *
1879  * cdef void _set_start(self, int64_t state) except *
1880  */
1881 struct __pyx_opt_args_9pywrapfst_10MutableFst__set_final {
1882  int __pyx_n;
1883  PyObject *weight;
1884 };
1885 
1886 /* "pywrapfst.pxd":483
1887  *
1888  *
1889  * cdef Fst _map(Fst ifst, float delta=?, map_type=?, double power=?, weight=?) # <<<<<<<<<<<<<<
1890  *
1891  * cpdef Fst arcmap(Fst ifst, float delta=?, map_type=?, double power=?, weight=?)
1892  */
1893 struct __pyx_opt_args_9pywrapfst__map {
1894  int __pyx_n;
1895  float delta;
1896  PyObject *map_type;
1897  double power;
1898  PyObject *weight;
1899 };
1900 
1901 /* "pywrapfst.pxd":485
1902  * cdef Fst _map(Fst ifst, float delta=?, map_type=?, double power=?, weight=?)
1903  *
1904  * cpdef Fst arcmap(Fst ifst, float delta=?, map_type=?, double power=?, weight=?) # <<<<<<<<<<<<<<
1905  *
1906  * cpdef MutableFst compose(Fst ifst1,
1907  */
1908 struct __pyx_opt_args_9pywrapfst_arcmap {
1909  int __pyx_n;
1910  float delta;
1911  PyObject *map_type;
1912  double power;
1913  PyObject *weight;
1914 };
1915 
1916 /* "pywrapfst.pxd":487
1917  * cpdef Fst arcmap(Fst ifst, float delta=?, map_type=?, double power=?, weight=?)
1918  *
1919  * cpdef MutableFst compose(Fst ifst1, # <<<<<<<<<<<<<<
1920  * Fst ifst2,
1921  * compose_filter=?,
1922  */
1923 struct __pyx_opt_args_9pywrapfst_compose {
1924  int __pyx_n;
1925  PyObject *compose_filter;
1926  bool connect;
1927 };
1928 
1929 /* "pywrapfst.pxd":492
1930  * bool connect=?)
1931  *
1932  * cpdef Fst convert(Fst ifst, fst_type=?) # <<<<<<<<<<<<<<
1933  *
1934  * cpdef MutableFst determinize(Fst ifst,
1935  */
1936 struct __pyx_opt_args_9pywrapfst_convert {
1937  int __pyx_n;
1938  PyObject *fst_type;
1939 };
1940 
1941 /* "pywrapfst.pxd":494
1942  * cpdef Fst convert(Fst ifst, fst_type=?)
1943  *
1944  * cpdef MutableFst determinize(Fst ifst, # <<<<<<<<<<<<<<
1945  * float delta=?,
1946  * det_type=?,
1947  */
1948 struct __pyx_opt_args_9pywrapfst_determinize {
1949  int __pyx_n;
1950  float delta;
1951  PyObject *det_type;
1952  int64_t nstate;
1953  int64_t subsequential_label;
1954  PyObject *weight;
1955  bool increment_subsequential_label;
1956 };
1957 
1958 /* "pywrapfst.pxd":502
1959  * bool increment_subsequential_label=?)
1960  *
1961  * cpdef MutableFst difference(Fst ifst1, # <<<<<<<<<<<<<<
1962  * Fst ifst2,
1963  * compose_filter=?,
1964  */
1965 struct __pyx_opt_args_9pywrapfst_difference {
1966  int __pyx_n;
1967  PyObject *compose_filter;
1968  bool connect;
1969 };
1970 
1971 /* "pywrapfst.pxd":507
1972  * bool connect=?)
1973  *
1974  * cpdef MutableFst disambiguate(Fst ifst, # <<<<<<<<<<<<<<
1975  * float delta=?,
1976  * int64_t nstate=?,
1977  */
1978 struct __pyx_opt_args_9pywrapfst_disambiguate {
1979  int __pyx_n;
1980  float delta;
1981  int64_t nstate;
1982  int64_t subsequential_label;
1983  PyObject *weight;
1984 };
1985 
1986 /* "pywrapfst.pxd":513
1987  * weight=?)
1988  *
1989  * cpdef MutableFst epsnormalize(Fst ifst, eps_norm_type=?) # <<<<<<<<<<<<<<
1990  *
1991  * cpdef bool equal(Fst ifst1, Fst ifst2, float delta=?)
1992  */
1993 struct __pyx_opt_args_9pywrapfst_epsnormalize {
1994  int __pyx_n;
1995  PyObject *eps_norm_type;
1996 };
1997 
1998 /* "pywrapfst.pxd":515
1999  * cpdef MutableFst epsnormalize(Fst ifst, eps_norm_type=?)
2000  *
2001  * cpdef bool equal(Fst ifst1, Fst ifst2, float delta=?) # <<<<<<<<<<<<<<
2002  *
2003  * cpdef bool equivalent(Fst ifst1, Fst ifst2, float delta=?) except *
2004  */
2005 struct __pyx_opt_args_9pywrapfst_equal {
2006  int __pyx_n;
2007  float delta;
2008 };
2009 
2010 /* "pywrapfst.pxd":517
2011  * cpdef bool equal(Fst ifst1, Fst ifst2, float delta=?)
2012  *
2013  * cpdef bool equivalent(Fst ifst1, Fst ifst2, float delta=?) except * # <<<<<<<<<<<<<<
2014  *
2015  * cpdef MutableFst intersect(Fst ifst1,
2016  */
2017 struct __pyx_opt_args_9pywrapfst_equivalent {
2018  int __pyx_n;
2019  float delta;
2020 };
2021 
2022 /* "pywrapfst.pxd":519
2023  * cpdef bool equivalent(Fst ifst1, Fst ifst2, float delta=?) except *
2024  *
2025  * cpdef MutableFst intersect(Fst ifst1, # <<<<<<<<<<<<<<
2026  * Fst ifst2,
2027  * compose_filter=?,
2028  */
2029 struct __pyx_opt_args_9pywrapfst_intersect {
2030  int __pyx_n;
2031  PyObject *compose_filter;
2032  bool connect;
2033 };
2034 
2035 /* "pywrapfst.pxd":524
2036  * bool connect=?)
2037  *
2038  * cpdef bool isomorphic(Fst ifst1, Fst ifst2, float delta=?) # <<<<<<<<<<<<<<
2039  *
2040  * cpdef MutableFst prune(Fst ifst,
2041  */
2042 struct __pyx_opt_args_9pywrapfst_isomorphic {
2043  int __pyx_n;
2044  float delta;
2045 };
2046 
2047 /* "pywrapfst.pxd":526
2048  * cpdef bool isomorphic(Fst ifst1, Fst ifst2, float delta=?)
2049  *
2050  * cpdef MutableFst prune(Fst ifst, # <<<<<<<<<<<<<<
2051  * float delta=?,
2052  * int64_t nstate=?,
2053  */
2054 struct __pyx_opt_args_9pywrapfst_prune {
2055  int __pyx_n;
2056  float delta;
2057  int64_t nstate;
2058  PyObject *weight;
2059 };
2060 
2061 /* "pywrapfst.pxd":531
2062  * weight=?)
2063  *
2064  * cpdef MutableFst push(Fst ifst, # <<<<<<<<<<<<<<
2065  * float delta=?,
2066  * bool push_weights=?,
2067  */
2068 struct __pyx_opt_args_9pywrapfst_push {
2069  int __pyx_n;
2070  float delta;
2071  bool push_weights;
2072  bool push_labels;
2073  bool remove_common_affix;
2074  bool remove_total_weight;
2075  PyObject *reweight_type;
2076 };
2077 
2078 /* "pywrapfst.pxd":539
2079  * reweight_type=?)
2080  *
2081  * cpdef bool randequivalent(Fst ifst1, # <<<<<<<<<<<<<<
2082  * Fst ifst2,
2083  * int32_t npath=?,
2084  */
2085 struct __pyx_opt_args_9pywrapfst_randequivalent {
2086  int __pyx_n;
2087  int32_t npath;
2088  float delta;
2089  PyObject *select;
2090  int32_t max_length;
2091  uint64_t seed;
2092 };
2093 
2094 /* "pywrapfst.pxd":547
2095  * uint64_t seed=?) except *
2096  *
2097  * cpdef MutableFst randgen(Fst ifst, # <<<<<<<<<<<<<<
2098  * int32_t npath=?,
2099  * select=?,
2100  */
2101 struct __pyx_opt_args_9pywrapfst_randgen {
2102  int __pyx_n;
2103  int32_t npath;
2104  PyObject *select;
2105  int32_t max_length;
2106  bool remove_total_weight;
2107  bool weighted;
2108  uint64_t seed;
2109 };
2110 
2111 /* "pywrapfst.pxd":555
2112  * uint64_t seed=?)
2113  *
2114  * cpdef MutableFst replace(pairs, # <<<<<<<<<<<<<<
2115  * call_arc_labeling=?,
2116  * return_arc_labeling=?,
2117  */
2118 struct __pyx_opt_args_9pywrapfst_replace {
2119  int __pyx_n;
2120  PyObject *call_arc_labeling;
2121  PyObject *return_arc_labeling;
2122  bool epsilon_on_replace;
2123  int64_t return_label;
2124 };
2125 
2126 /* "pywrapfst.pxd":561
2127  * int64_t return_label=?)
2128  *
2129  * cpdef MutableFst reverse(Fst ifst, bool require_superinitial=?) # <<<<<<<<<<<<<<
2130  *
2131  * cdef void _shortestdistance(Fst ifst,
2132  */
2133 struct __pyx_opt_args_9pywrapfst_reverse {
2134  int __pyx_n;
2135  bool require_superinitial;
2136 };
2137 
2138 /* "pywrapfst.pxd":563
2139  * cpdef MutableFst reverse(Fst ifst, bool require_superinitial=?)
2140  *
2141  * cdef void _shortestdistance(Fst ifst, # <<<<<<<<<<<<<<
2142  * vector[fst.WeightClass] *,
2143  * float delta=?,
2144  */
2145 struct __pyx_opt_args_9pywrapfst__shortestdistance {
2146  int __pyx_n;
2147  float delta;
2148  int64_t nstate;
2149  PyObject *queue_type;
2150  bool reverse;
2151 };
2152 
2153 /* "pywrapfst.pxd":570
2154  * bool reverse=?) except *
2155  *
2156  * cpdef MutableFst shortestpath(Fst ifst, # <<<<<<<<<<<<<<
2157  * float delta=?,
2158  * int32_t nshortest=?,
2159  */
2160 struct __pyx_opt_args_9pywrapfst_shortestpath {
2161  int __pyx_n;
2162  float delta;
2163  int32_t nshortest;
2164  int64_t nstate;
2165  PyObject *queue_type;
2166  bool unique;
2167  PyObject *weight;
2168 };
2169 struct __pyx_defaults {
2170  float __pyx_arg_delta;
2171  int64_t __pyx_arg_nstate;
2172 };
2173 
2174 /* "pywrapfst.pxd":71
2175  *
2176  *
2177  * cdef class Weight: # <<<<<<<<<<<<<<
2178  *
2179  * cdef unique_ptr[fst.WeightClass] _weight
2180  */
2181 struct __pyx_obj_9pywrapfst_Weight {
2182  PyObject_HEAD
2183  struct __pyx_vtabstruct_9pywrapfst_Weight *__pyx_vtab;
2184  std::unique_ptr<fst::script::WeightClass> _weight;
2185 };
2186 
2187 
2188 /* "pywrapfst.pxd":107
2189  *
2190  *
2191  * cdef class SymbolTableView: # <<<<<<<<<<<<<<
2192  *
2193  * cdef const fst.SymbolTable *_raw(self)
2194  */
2195 struct __pyx_obj_9pywrapfst_SymbolTableView {
2196  PyObject_HEAD
2197  struct __pyx_vtabstruct_9pywrapfst_SymbolTableView *__pyx_vtab;
2198 };
2199 
2200 
2201 /* "pywrapfst.pxd":136
2202  *
2203  *
2204  * cdef class _EncodeMapperSymbolTableView(SymbolTableView): # <<<<<<<<<<<<<<
2205  *
2206  * # Indicates whether this view is of an input or output SymbolTable
2207  */
2208 struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView {
2209  struct __pyx_obj_9pywrapfst_SymbolTableView __pyx_base;
2210  bool _input_side;
2211  std::shared_ptr<fst::script::EncodeMapperClass> _mapper;
2212 };
2213 
2214 
2215 /* "pywrapfst.pxd":144
2216  *
2217  *
2218  * cdef class _FstSymbolTableView(SymbolTableView): # <<<<<<<<<<<<<<
2219  *
2220  * # Indicates whether this view is of an input or output SymbolTable
2221  */
2222 struct __pyx_obj_9pywrapfst__FstSymbolTableView {
2223  struct __pyx_obj_9pywrapfst_SymbolTableView __pyx_base;
2224  bool _input_side;
2225  std::shared_ptr<fst::script::FstClass> _fst;
2226 };
2227 
2228 
2229 /* "pywrapfst.pxd":152
2230  *
2231  *
2232  * cdef class _MutableSymbolTable(SymbolTableView): # <<<<<<<<<<<<<<
2233  *
2234  * cdef fst.SymbolTable *_mutable_raw(self)
2235  */
2236 struct __pyx_obj_9pywrapfst__MutableSymbolTable {
2237  struct __pyx_obj_9pywrapfst_SymbolTableView __pyx_base;
2238 };
2239 
2240 
2241 /* "pywrapfst.pxd":165
2242  *
2243  *
2244  * cdef class _MutableFstSymbolTableView(_MutableSymbolTable): # <<<<<<<<<<<<<<
2245  *
2246  * # Indicates whether this view is of an input or output SymbolTable
2247  */
2248 struct __pyx_obj_9pywrapfst__MutableFstSymbolTableView {
2249  struct __pyx_obj_9pywrapfst__MutableSymbolTable __pyx_base;
2250  bool _input_side;
2251  std::shared_ptr<fst::script::MutableFstClass> _mfst;
2252 };
2253 
2254 
2255 /* "pywrapfst.pxd":173
2256  *
2257  *
2258  * cdef class SymbolTable(_MutableSymbolTable): # <<<<<<<<<<<<<<
2259  *
2260  * cdef unique_ptr[fst.SymbolTable] _smart_table
2261  */
2262 struct __pyx_obj_9pywrapfst_SymbolTable {
2263  struct __pyx_obj_9pywrapfst__MutableSymbolTable __pyx_base;
2264  std::unique_ptr<fst::SymbolTable> _smart_table;
2265 };
2266 
2267 
2268 /* "pywrapfst.pxd":196
2269  *
2270  *
2271  * cdef class _SymbolTableIterator: # <<<<<<<<<<<<<<
2272  *
2273  * cdef SymbolTableView _table
2274  */
2275 struct __pyx_obj_9pywrapfst__SymbolTableIterator {
2276  PyObject_HEAD
2277  struct __pyx_obj_9pywrapfst_SymbolTableView *_table;
2278  std::unique_ptr<fst::SymbolTable::iterator> _siter;
2279 };
2280 
2281 
2282 /* "pywrapfst.pxd":208
2283  *
2284  *
2285  * cdef class EncodeMapper: # <<<<<<<<<<<<<<
2286  *
2287  * cdef shared_ptr[fst.EncodeMapperClass] _mapper
2288  */
2289 struct __pyx_obj_9pywrapfst_EncodeMapper {
2290  PyObject_HEAD
2291  struct __pyx_vtabstruct_9pywrapfst_EncodeMapper *__pyx_vtab;
2292  std::shared_ptr<fst::script::EncodeMapperClass> _mapper;
2293 };
2294 
2295 
2296 /* "pywrapfst.pxd":243
2297  *
2298  *
2299  * cdef class Fst: # <<<<<<<<<<<<<<
2300  *
2301  * cdef shared_ptr[fst.FstClass] _fst
2302  */
2303 struct __pyx_obj_9pywrapfst_Fst {
2304  PyObject_HEAD
2305  struct __pyx_vtabstruct_9pywrapfst_Fst *__pyx_vtab;
2306  std::shared_ptr<fst::script::FstClass> _fst;
2307 };
2308 
2309 
2310 /* "pywrapfst.pxd":309
2311  *
2312  *
2313  * cdef class MutableFst(Fst): # <<<<<<<<<<<<<<
2314  *
2315  * cdef shared_ptr[fst.MutableFstClass] _mfst
2316  */
2317 struct __pyx_obj_9pywrapfst_MutableFst {
2318  struct __pyx_obj_9pywrapfst_Fst __pyx_base;
2319  std::shared_ptr<fst::script::MutableFstClass> _mfst;
2320 };
2321 
2322 
2323 /* "pywrapfst.pxd":390
2324  *
2325  *
2326  * cdef class VectorFst(MutableFst): # <<<<<<<<<<<<<<
2327  *
2328  * pass
2329  */
2330 struct __pyx_obj_9pywrapfst_VectorFst {
2331  struct __pyx_obj_9pywrapfst_MutableFst __pyx_base;
2332 };
2333 
2334 
2335 /* "pywrapfst.pxd":412
2336  *
2337  *
2338  * cdef class Arc: # <<<<<<<<<<<<<<
2339  *
2340  * cdef unique_ptr[fst.ArcClass] _arc
2341  */
2342 struct __pyx_obj_9pywrapfst_Arc {
2343  PyObject_HEAD
2344  struct __pyx_vtabstruct_9pywrapfst_Arc *__pyx_vtab;
2345  std::unique_ptr<fst::script::ArcClass> _arc;
2346 };
2347 
2348 
2349 /* "pywrapfst.pxd":422
2350  *
2351  *
2352  * cdef class _ArcIterator: # <<<<<<<<<<<<<<
2353  *
2354  * cdef shared_ptr[fst.FstClass] _fst
2355  */
2356 struct __pyx_obj_9pywrapfst__ArcIterator {
2357  PyObject_HEAD
2358  struct __pyx_vtabstruct_9pywrapfst__ArcIterator *__pyx_vtab;
2359  std::shared_ptr<fst::script::FstClass> _fst;
2360  std::unique_ptr<fst::script::ArcIteratorClass> _aiter;
2361 };
2362 
2363 
2364 /* "pywrapfst.pxd":442
2365  *
2366  *
2367  * cdef class _MutableArcIterator: # <<<<<<<<<<<<<<
2368  *
2369  * cdef shared_ptr[fst.MutableFstClass] _mfst
2370  */
2371 struct __pyx_obj_9pywrapfst__MutableArcIterator {
2372  PyObject_HEAD
2373  struct __pyx_vtabstruct_9pywrapfst__MutableArcIterator *__pyx_vtab;
2374  std::shared_ptr<fst::script::MutableFstClass> _mfst;
2375  std::unique_ptr<fst::script::MutableArcIteratorClass> _aiter;
2376 };
2377 
2378 
2379 /* "pywrapfst.pxd":464
2380  *
2381  *
2382  * cdef class _StateIterator: # <<<<<<<<<<<<<<
2383  *
2384  * cdef shared_ptr[fst.FstClass] _fst
2385  */
2386 struct __pyx_obj_9pywrapfst__StateIterator {
2387  PyObject_HEAD
2388  struct __pyx_vtabstruct_9pywrapfst__StateIterator *__pyx_vtab;
2389  std::shared_ptr<fst::script::FstClass> _fst;
2390  std::unique_ptr<fst::script::StateIteratorClass> _siter;
2391 };
2392 
2393 
2394 /* "pywrapfst.pxd":586
2395  *
2396  *
2397  * cdef class Compiler: # <<<<<<<<<<<<<<
2398  *
2399  * cdef unique_ptr[stringstream] _sstrm
2400  */
2401 struct __pyx_obj_9pywrapfst_Compiler {
2402  PyObject_HEAD
2403  struct __pyx_vtabstruct_9pywrapfst_Compiler *__pyx_vtab;
2404  std::unique_ptr<std::stringstream> _sstrm;
2405  std::string _fst_type;
2406  std::string _arc_type;
2407  fst::SymbolTable const *_isymbols;
2408  fst::SymbolTable const *_osymbols;
2409  fst::SymbolTable const *_ssymbols;
2410  bool _acceptor;
2411  bool _keep_isymbols;
2412  bool _keep_osymbols;
2413  bool _keep_state_numbering;
2414 };
2415 
2416 
2417 /* "pywrapfst.pxd":606
2418  * # FarReader.
2419  *
2420  * cdef class FarReader: # <<<<<<<<<<<<<<
2421  *
2422  * cdef unique_ptr[fst.FarReaderClass] _reader
2423  */
2424 struct __pyx_obj_9pywrapfst_FarReader {
2425  PyObject_HEAD
2426  struct __pyx_vtabstruct_9pywrapfst_FarReader *__pyx_vtab;
2427  std::unique_ptr<fst::script::FarReaderClass> _reader;
2428 };
2429 
2430 
2431 /* "pywrapfst.pxd":631
2432  * # FarWriter.
2433  *
2434  * cdef class FarWriter: # <<<<<<<<<<<<<<
2435  *
2436  * cdef unique_ptr[fst.FarWriterClass] _writer
2437  */
2438 struct __pyx_obj_9pywrapfst_FarWriter {
2439  PyObject_HEAD
2440  struct __pyx_vtabstruct_9pywrapfst_FarWriter *__pyx_vtab;
2441  std::unique_ptr<fst::script::FarWriterClass> _writer;
2442 };
2443 
2444 
2445 /* "pywrapfst.pyx":3397
2446  *
2447  * # Magic method used to get a Pythonic Iterator API out of the C++ API.
2448  * def __iter__(self): # <<<<<<<<<<<<<<
2449  * while not self.done():
2450  * yield self.value()
2451  */
2452 struct __pyx_obj_9pywrapfst___pyx_scope_struct____iter__ {
2453  PyObject_HEAD
2454  struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self;
2455 };
2456 
2457 
2458 
2459 /* "pywrapfst.pyx":465
2460  *
2461  *
2462  * cdef class Weight: # <<<<<<<<<<<<<<
2463  *
2464  * """
2465  */
2466 
2467 struct __pyx_vtabstruct_9pywrapfst_Weight {
2468  void (*_check_weight)(struct __pyx_obj_9pywrapfst_Weight *);
2469  struct __pyx_obj_9pywrapfst_Weight *(*copy)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
2470  std::string (*type)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
2471  std::string (*to_string)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
2472  bool (*member)(struct __pyx_obj_9pywrapfst_Weight *, int __pyx_skip_dispatch);
2473 };
2474 static struct __pyx_vtabstruct_9pywrapfst_Weight *__pyx_vtabptr_9pywrapfst_Weight;
2475 
2476 
2477 /* "pywrapfst.pyx":802
2478  *
2479  *
2480  * cdef class SymbolTableView: # <<<<<<<<<<<<<<
2481  *
2482  * """
2483  */
2484 
2485 struct __pyx_vtabstruct_9pywrapfst_SymbolTableView {
2486  fst::SymbolTable const *(*_raw)(struct __pyx_obj_9pywrapfst_SymbolTableView *);
2487  void (*_raise_nonexistent)(struct __pyx_obj_9pywrapfst_SymbolTableView *);
2488  fst::SymbolTable const *(*_raw_ptr_or_raise)(struct __pyx_obj_9pywrapfst_SymbolTableView *);
2489  int64_t (*available_key)(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2490  PyObject *(*checksum)(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2491  struct __pyx_obj_9pywrapfst_SymbolTable *(*copy)(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2492  int64_t (*get_nth_key)(struct __pyx_obj_9pywrapfst_SymbolTableView *, Py_ssize_t, int __pyx_skip_dispatch);
2493  PyObject *(*labeled_checksum)(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2494  bool (*member)(struct __pyx_obj_9pywrapfst_SymbolTableView *, PyObject *, int __pyx_skip_dispatch);
2495  std::string (*name)(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2496  size_t (*num_symbols)(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2497  void (*write)(struct __pyx_obj_9pywrapfst_SymbolTableView *, PyObject *, int __pyx_skip_dispatch);
2498  PyObject *(*write_to_string)(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2499 };
2500 static struct __pyx_vtabstruct_9pywrapfst_SymbolTableView *__pyx_vtabptr_9pywrapfst_SymbolTableView;
2501 
2502 
2503 /* "pywrapfst.pyx":1008
2504  *
2505  *
2506  * cdef class _EncodeMapperSymbolTableView(SymbolTableView): # <<<<<<<<<<<<<<
2507  *
2508  * """
2509  */
2510 
2511 struct __pyx_vtabstruct_9pywrapfst__EncodeMapperSymbolTableView {
2512  struct __pyx_vtabstruct_9pywrapfst_SymbolTableView __pyx_base;
2513 };
2514 static struct __pyx_vtabstruct_9pywrapfst__EncodeMapperSymbolTableView *__pyx_vtabptr_9pywrapfst__EncodeMapperSymbolTableView;
2515 
2516 
2517 /* "pywrapfst.pyx":1032
2518  *
2519  *
2520  * cdef class _FstSymbolTableView(SymbolTableView): # <<<<<<<<<<<<<<
2521  *
2522  * """
2523  */
2524 
2525 struct __pyx_vtabstruct_9pywrapfst__FstSymbolTableView {
2526  struct __pyx_vtabstruct_9pywrapfst_SymbolTableView __pyx_base;
2527 };
2528 static struct __pyx_vtabstruct_9pywrapfst__FstSymbolTableView *__pyx_vtabptr_9pywrapfst__FstSymbolTableView;
2529 
2530 
2531 /* "pywrapfst.pyx":1055
2532  *
2533  *
2534  * cdef class _MutableSymbolTable(SymbolTableView): # <<<<<<<<<<<<<<
2535  *
2536  * """
2537  */
2538 
2539 struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable {
2540  struct __pyx_vtabstruct_9pywrapfst_SymbolTableView __pyx_base;
2541  fst::SymbolTable *(*_mutable_raw)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *);
2542  fst::SymbolTable *(*_mutable_raw_ptr_or_raise)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *);
2543  int64_t (*add_symbol)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol *__pyx_optional_args);
2544  void (*add_table)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *, struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch);
2545  void (*set_name)(struct __pyx_obj_9pywrapfst__MutableSymbolTable *, PyObject *, int __pyx_skip_dispatch);
2546 };
2547 static struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable *__pyx_vtabptr_9pywrapfst__MutableSymbolTable;
2548 
2549 
2550 /* "pywrapfst.pyx":1127
2551  *
2552  *
2553  * cdef class _MutableFstSymbolTableView(_MutableSymbolTable): # <<<<<<<<<<<<<<
2554  * """
2555  * (No constructor.)
2556  */
2557 
2558 struct __pyx_vtabstruct_9pywrapfst__MutableFstSymbolTableView {
2559  struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable __pyx_base;
2560 };
2561 static struct __pyx_vtabstruct_9pywrapfst__MutableFstSymbolTableView *__pyx_vtabptr_9pywrapfst__MutableFstSymbolTableView;
2562 
2563 
2564 /* "pywrapfst.pyx":1142
2565  *
2566  *
2567  * cdef class SymbolTable(_MutableSymbolTable): # <<<<<<<<<<<<<<
2568  *
2569  * """
2570  */
2571 
2572 struct __pyx_vtabstruct_9pywrapfst_SymbolTable {
2573  struct __pyx_vtabstruct_9pywrapfst__MutableSymbolTable __pyx_base;
2574 };
2575 static struct __pyx_vtabstruct_9pywrapfst_SymbolTable *__pyx_vtabptr_9pywrapfst_SymbolTable;
2576 
2577 
2578 /* "pywrapfst.pyx":1368
2579  *
2580  *
2581  * cdef class EncodeMapper: # <<<<<<<<<<<<<<
2582  *
2583  * """
2584  */
2585 
2586 struct __pyx_vtabstruct_9pywrapfst_EncodeMapper {
2587  std::string (*arc_type)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
2588  std::string (*weight_type)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
2589  void (*write)(struct __pyx_obj_9pywrapfst_EncodeMapper *, PyObject *, int __pyx_skip_dispatch);
2590  PyObject *(*write_to_string)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
2591  struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView *(*input_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
2592  struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView *(*output_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, int __pyx_skip_dispatch);
2593  void (*_set_input_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, struct __pyx_obj_9pywrapfst_SymbolTableView *);
2594  void (*_set_output_symbols)(struct __pyx_obj_9pywrapfst_EncodeMapper *, struct __pyx_obj_9pywrapfst_SymbolTableView *);
2595 };
2596 static struct __pyx_vtabstruct_9pywrapfst_EncodeMapper *__pyx_vtabptr_9pywrapfst_EncodeMapper;
2597 
2598 
2599 /* "pywrapfst.pyx":1632
2600  *
2601  *
2602  * cdef class Fst: # <<<<<<<<<<<<<<
2603  *
2604  * """
2605  */
2606 
2607 struct __pyx_vtabstruct_9pywrapfst_Fst {
2608  std::string (*_local_render_svg)(std::string const &);
2609  std::string (*arc_type)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2610  struct __pyx_obj_9pywrapfst__ArcIterator *(*arcs)(struct __pyx_obj_9pywrapfst_Fst *, int64_t, int __pyx_skip_dispatch);
2611  struct __pyx_obj_9pywrapfst_Fst *(*copy)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2612  void (*draw)(struct __pyx_obj_9pywrapfst_Fst *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_3Fst_draw *__pyx_optional_args);
2613  struct __pyx_obj_9pywrapfst_Weight *(*final)(struct __pyx_obj_9pywrapfst_Fst *, int64_t, int __pyx_skip_dispatch);
2614  std::string (*fst_type)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2615  struct __pyx_obj_9pywrapfst__FstSymbolTableView *(*input_symbols)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2616  size_t (*num_arcs)(struct __pyx_obj_9pywrapfst_Fst *, int64_t, int __pyx_skip_dispatch);
2617  size_t (*num_input_epsilons)(struct __pyx_obj_9pywrapfst_Fst *, int64_t, int __pyx_skip_dispatch);
2618  size_t (*num_output_epsilons)(struct __pyx_obj_9pywrapfst_Fst *, int64_t, int __pyx_skip_dispatch);
2619  struct __pyx_obj_9pywrapfst__FstSymbolTableView *(*output_symbols)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2620  std::string (*print)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_3Fst_print *__pyx_optional_args);
2621  int64_t (*start)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2622  struct __pyx_obj_9pywrapfst__StateIterator *(*states)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2623  bool (*verify)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2624  std::string (*weight_type)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2625  void (*write)(struct __pyx_obj_9pywrapfst_Fst *, PyObject *, int __pyx_skip_dispatch);
2626  PyObject *(*write_to_string)(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2627 };
2628 static struct __pyx_vtabstruct_9pywrapfst_Fst *__pyx_vtabptr_9pywrapfst_Fst;
2629 
2630 
2631 /* "pywrapfst.pyx":2104
2632  *
2633  *
2634  * cdef class MutableFst(Fst): # <<<<<<<<<<<<<<
2635  *
2636  * """
2637  */
2638 
2639 struct __pyx_vtabstruct_9pywrapfst_MutableFst {
2640  struct __pyx_vtabstruct_9pywrapfst_Fst __pyx_base;
2641  void (*_check_mutating_imethod)(struct __pyx_obj_9pywrapfst_MutableFst *);
2642  void (*_add_arc)(struct __pyx_obj_9pywrapfst_MutableFst *, int64_t, struct __pyx_obj_9pywrapfst_Arc *);
2643  int64_t (*add_state)(struct __pyx_obj_9pywrapfst_MutableFst *, int __pyx_skip_dispatch);
2644  void (*add_states)(struct __pyx_obj_9pywrapfst_MutableFst *, size_t, int __pyx_skip_dispatch);
2645  void (*_arcsort)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__arcsort *__pyx_optional_args);
2646  void (*_closure)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__closure *__pyx_optional_args);
2647  void (*_concat)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_obj_9pywrapfst_Fst *);
2648  void (*_connect)(struct __pyx_obj_9pywrapfst_MutableFst *);
2649  void (*_decode)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_obj_9pywrapfst_EncodeMapper *);
2650  void (*_delete_arcs)(struct __pyx_obj_9pywrapfst_MutableFst *, int64_t, struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_arcs *__pyx_optional_args);
2651  void (*_delete_states)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_states *__pyx_optional_args);
2652  void (*_encode)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_obj_9pywrapfst_EncodeMapper *);
2653  void (*_invert)(struct __pyx_obj_9pywrapfst_MutableFst *);
2654  void (*_minimize)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__minimize *__pyx_optional_args);
2655  struct __pyx_obj_9pywrapfst__MutableArcIterator *(*mutable_arcs)(struct __pyx_obj_9pywrapfst_MutableFst *, int64_t, int __pyx_skip_dispatch);
2656  int64_t (*num_states)(struct __pyx_obj_9pywrapfst_MutableFst *, int __pyx_skip_dispatch);
2657  void (*_project)(struct __pyx_obj_9pywrapfst_MutableFst *, PyObject *);
2658  void (*_prune)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__prune *__pyx_optional_args);
2659  void (*_push)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__push *__pyx_optional_args);
2660  void (*_relabel_pairs)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_pairs *__pyx_optional_args);
2661  void (*_relabel_tables)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_tables *__pyx_optional_args);
2662  void (*_reserve_arcs)(struct __pyx_obj_9pywrapfst_MutableFst *, int64_t, size_t);
2663  void (*_reserve_states)(struct __pyx_obj_9pywrapfst_MutableFst *, int64_t);
2664  void (*_reweight)(struct __pyx_obj_9pywrapfst_MutableFst *, PyObject *, struct __pyx_opt_args_9pywrapfst_10MutableFst__reweight *__pyx_optional_args);
2665  void (*_rmepsilon)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_opt_args_9pywrapfst_10MutableFst__rmepsilon *__pyx_optional_args);
2666  void (*_set_final)(struct __pyx_obj_9pywrapfst_MutableFst *, int64_t, struct __pyx_opt_args_9pywrapfst_10MutableFst__set_final *__pyx_optional_args);
2667  void (*_set_start)(struct __pyx_obj_9pywrapfst_MutableFst *, int64_t);
2668  void (*_set_input_symbols)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_obj_9pywrapfst_SymbolTableView *);
2669  void (*_set_output_symbols)(struct __pyx_obj_9pywrapfst_MutableFst *, struct __pyx_obj_9pywrapfst_SymbolTableView *);
2670  void (*_topsort)(struct __pyx_obj_9pywrapfst_MutableFst *);
2671 };
2672 static struct __pyx_vtabstruct_9pywrapfst_MutableFst *__pyx_vtabptr_9pywrapfst_MutableFst;
2673 
2674 
2675 /* "pywrapfst.pyx":2971
2676  *
2677  *
2678  * cdef class VectorFst(MutableFst): # <<<<<<<<<<<<<<
2679  * """
2680  * VectorFst(arc_type="standard")
2681  */
2682 
2683 struct __pyx_vtabstruct_9pywrapfst_VectorFst {
2684  struct __pyx_vtabstruct_9pywrapfst_MutableFst __pyx_base;
2685 };
2686 static struct __pyx_vtabstruct_9pywrapfst_VectorFst *__pyx_vtabptr_9pywrapfst_VectorFst;
2687 
2688 
2689 /* "pywrapfst.pyx":3177
2690  *
2691  *
2692  * cdef class Arc: # <<<<<<<<<<<<<<
2693  *
2694  * """
2695  */
2696 
2697 struct __pyx_vtabstruct_9pywrapfst_Arc {
2698  struct __pyx_obj_9pywrapfst_Arc *(*copy)(struct __pyx_obj_9pywrapfst_Arc *, int __pyx_skip_dispatch);
2699 };
2700 static struct __pyx_vtabstruct_9pywrapfst_Arc *__pyx_vtabptr_9pywrapfst_Arc;
2701 
2702 
2703 /* "pywrapfst.pyx":3247
2704  *
2705  *
2706  * cdef class _ArcIterator: # <<<<<<<<<<<<<<
2707  *
2708  * """
2709  */
2710 
2711 struct __pyx_vtabstruct_9pywrapfst__ArcIterator {
2712  bool (*done)(struct __pyx_obj_9pywrapfst__ArcIterator *, int __pyx_skip_dispatch);
2713  void (*next)(struct __pyx_obj_9pywrapfst__ArcIterator *, int __pyx_skip_dispatch);
2714  size_t (*position)(struct __pyx_obj_9pywrapfst__ArcIterator *, int __pyx_skip_dispatch);
2715  void (*reset)(struct __pyx_obj_9pywrapfst__ArcIterator *, int __pyx_skip_dispatch);
2716  void (*seek)(struct __pyx_obj_9pywrapfst__ArcIterator *, size_t, int __pyx_skip_dispatch);
2717  void (*set_flags)(struct __pyx_obj_9pywrapfst__ArcIterator *, uint8_t, uint8_t, int __pyx_skip_dispatch);
2718  struct __pyx_obj_9pywrapfst_Arc *(*_value)(struct __pyx_obj_9pywrapfst__ArcIterator *);
2719 };
2720 static struct __pyx_vtabstruct_9pywrapfst__ArcIterator *__pyx_vtabptr_9pywrapfst__ArcIterator;
2721 
2722 
2723 /* "pywrapfst.pyx":3377
2724  *
2725  *
2726  * cdef class _MutableArcIterator: # <<<<<<<<<<<<<<
2727  *
2728  * """
2729  */
2730 
2731 struct __pyx_vtabstruct_9pywrapfst__MutableArcIterator {
2732  bool (*done)(struct __pyx_obj_9pywrapfst__MutableArcIterator *, int __pyx_skip_dispatch);
2733  void (*next)(struct __pyx_obj_9pywrapfst__MutableArcIterator *, int __pyx_skip_dispatch);
2734  size_t (*position)(struct __pyx_obj_9pywrapfst__MutableArcIterator *, int __pyx_skip_dispatch);
2735  void (*reset)(struct __pyx_obj_9pywrapfst__MutableArcIterator *, int __pyx_skip_dispatch);
2736  void (*seek)(struct __pyx_obj_9pywrapfst__MutableArcIterator *, size_t, int __pyx_skip_dispatch);
2737  void (*set_flags)(struct __pyx_obj_9pywrapfst__MutableArcIterator *, uint8_t, uint8_t, int __pyx_skip_dispatch);
2738  void (*_set_value)(struct __pyx_obj_9pywrapfst__MutableArcIterator *, struct __pyx_obj_9pywrapfst_Arc *);
2739  struct __pyx_obj_9pywrapfst_Arc *(*_value)(struct __pyx_obj_9pywrapfst__MutableArcIterator *);
2740 };
2741 static struct __pyx_vtabstruct_9pywrapfst__MutableArcIterator *__pyx_vtabptr_9pywrapfst__MutableArcIterator;
2742 
2743 
2744 /* "pywrapfst.pyx":3541
2745  *
2746  *
2747  * cdef class _StateIterator: # <<<<<<<<<<<<<<
2748  *
2749  * """
2750  */
2751 
2752 struct __pyx_vtabstruct_9pywrapfst__StateIterator {
2753  bool (*done)(struct __pyx_obj_9pywrapfst__StateIterator *, int __pyx_skip_dispatch);
2754  void (*next)(struct __pyx_obj_9pywrapfst__StateIterator *, int __pyx_skip_dispatch);
2755  void (*reset)(struct __pyx_obj_9pywrapfst__StateIterator *, int __pyx_skip_dispatch);
2756  int64_t (*_value)(struct __pyx_obj_9pywrapfst__StateIterator *);
2757  int64_t (*value)(struct __pyx_obj_9pywrapfst__StateIterator *, int __pyx_skip_dispatch);
2758 };
2759 static struct __pyx_vtabstruct_9pywrapfst__StateIterator *__pyx_vtabptr_9pywrapfst__StateIterator;
2760 
2761 
2762 /* "pywrapfst.pyx":4481
2763  *
2764  *
2765  * cdef class Compiler: # <<<<<<<<<<<<<<
2766  *
2767  * """
2768  */
2769 
2770 struct __pyx_vtabstruct_9pywrapfst_Compiler {
2771  struct __pyx_obj_9pywrapfst_Fst *(*compile)(struct __pyx_obj_9pywrapfst_Compiler *, int __pyx_skip_dispatch);
2772  void (*write)(struct __pyx_obj_9pywrapfst_Compiler *, PyObject *, int __pyx_skip_dispatch);
2773 };
2774 static struct __pyx_vtabstruct_9pywrapfst_Compiler *__pyx_vtabptr_9pywrapfst_Compiler;
2775 
2776 
2777 /* "pywrapfst.pyx":4612
2778  *
2779  *
2780  * cdef class FarReader: # <<<<<<<<<<<<<<
2781  *
2782  * """
2783  */
2784 
2785 struct __pyx_vtabstruct_9pywrapfst_FarReader {
2786  std::string (*arc_type)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2787  bool (*done)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2788  bool (*error)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2789  std::string (*far_type)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2790  bool (*find)(struct __pyx_obj_9pywrapfst_FarReader *, PyObject *, int __pyx_skip_dispatch);
2791  struct __pyx_obj_9pywrapfst_Fst *(*get_fst)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2792  std::string (*get_key)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2793  void (*next)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2794  void (*reset)(struct __pyx_obj_9pywrapfst_FarReader *, int __pyx_skip_dispatch);
2795 };
2796 static struct __pyx_vtabstruct_9pywrapfst_FarReader *__pyx_vtabptr_9pywrapfst_FarReader;
2797 
2798 
2799 /* "pywrapfst.pyx":4767
2800  *
2801  *
2802  * cdef class FarWriter: # <<<<<<<<<<<<<<
2803  *
2804  * """
2805  */
2806 
2807 struct __pyx_vtabstruct_9pywrapfst_FarWriter {
2808  std::string (*arc_type)(struct __pyx_obj_9pywrapfst_FarWriter *, int __pyx_skip_dispatch);
2809  void (*close)(struct __pyx_obj_9pywrapfst_FarWriter *);
2810  void (*add)(struct __pyx_obj_9pywrapfst_FarWriter *, PyObject *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch);
2811  bool (*error)(struct __pyx_obj_9pywrapfst_FarWriter *, int __pyx_skip_dispatch);
2812  std::string (*far_type)(struct __pyx_obj_9pywrapfst_FarWriter *, int __pyx_skip_dispatch);
2813 };
2814 static struct __pyx_vtabstruct_9pywrapfst_FarWriter *__pyx_vtabptr_9pywrapfst_FarWriter;
2815 /* #### Code section: utility_code_proto ### */
2816 
2817 /* --- Runtime support code (head) --- */
2818 /* Refnanny.proto */
2819 #ifndef CYTHON_REFNANNY
2820  #define CYTHON_REFNANNY 0
2821 #endif
2822 #if CYTHON_REFNANNY
2823  typedef struct {
2824  void (*INCREF)(void*, PyObject*, Py_ssize_t);
2825  void (*DECREF)(void*, PyObject*, Py_ssize_t);
2826  void (*GOTREF)(void*, PyObject*, Py_ssize_t);
2827  void (*GIVEREF)(void*, PyObject*, Py_ssize_t);
2828  void* (*SetupContext)(const char*, Py_ssize_t, const char*);
2829  void (*FinishContext)(void**);
2830  } __Pyx_RefNannyAPIStruct;
2831  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
2832  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
2833  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
2834 #ifdef WITH_THREAD
2835  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
2836  if (acquire_gil) {\
2837  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2838  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
2839  PyGILState_Release(__pyx_gilstate_save);\
2840  } else {\
2841  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
2842  }
2843  #define __Pyx_RefNannyFinishContextNogil() {\
2844  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2845  __Pyx_RefNannyFinishContext();\
2846  PyGILState_Release(__pyx_gilstate_save);\
2847  }
2848 #else
2849  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
2850  __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__))
2851  #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext()
2852 #endif
2853  #define __Pyx_RefNannyFinishContextNogil() {\
2854  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2855  __Pyx_RefNannyFinishContext();\
2856  PyGILState_Release(__pyx_gilstate_save);\
2857  }
2858  #define __Pyx_RefNannyFinishContext()\
2859  __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
2860  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2861  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2862  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2863  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2864  #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
2865  #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
2866  #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
2867  #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
2868 #else
2869  #define __Pyx_RefNannyDeclarations
2870  #define __Pyx_RefNannySetupContext(name, acquire_gil)
2871  #define __Pyx_RefNannyFinishContextNogil()
2872  #define __Pyx_RefNannyFinishContext()
2873  #define __Pyx_INCREF(r) Py_INCREF(r)
2874  #define __Pyx_DECREF(r) Py_DECREF(r)
2875  #define __Pyx_GOTREF(r)
2876  #define __Pyx_GIVEREF(r)
2877  #define __Pyx_XINCREF(r) Py_XINCREF(r)
2878  #define __Pyx_XDECREF(r) Py_XDECREF(r)
2879  #define __Pyx_XGOTREF(r)
2880  #define __Pyx_XGIVEREF(r)
2881 #endif
2882 #define __Pyx_Py_XDECREF_SET(r, v) do {\
2883  PyObject *tmp = (PyObject *) r;\
2884  r = v; Py_XDECREF(tmp);\
2885  } while (0)
2886 #define __Pyx_XDECREF_SET(r, v) do {\
2887  PyObject *tmp = (PyObject *) r;\
2888  r = v; __Pyx_XDECREF(tmp);\
2889  } while (0)
2890 #define __Pyx_DECREF_SET(r, v) do {\
2891  PyObject *tmp = (PyObject *) r;\
2892  r = v; __Pyx_DECREF(tmp);\
2893  } while (0)
2894 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
2895 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
2896 
2897 /* PyErrExceptionMatches.proto */
2898 #if CYTHON_FAST_THREAD_STATE
2899 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
2900 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
2901 #else
2902 #define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
2903 #endif
2904 
2905 /* PyThreadStateGet.proto */
2906 #if CYTHON_FAST_THREAD_STATE
2907 #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
2908 #define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
2909 #if PY_VERSION_HEX >= 0x030C00A6
2910 #define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL)
2911 #define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
2912 #else
2913 #define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL)
2914 #define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type)
2915 #endif
2916 #else
2917 #define __Pyx_PyThreadState_declare
2918 #define __Pyx_PyThreadState_assign
2919 #define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL)
2920 #define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred()
2921 #endif
2922 
2923 /* PyErrFetchRestore.proto */
2924 #if CYTHON_FAST_THREAD_STATE
2925 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
2926 #define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
2927 #define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
2928 #define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
2929 #define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
2930 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
2931 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2932 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
2933 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
2934 #else
2935 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2936 #endif
2937 #else
2938 #define __Pyx_PyErr_Clear() PyErr_Clear()
2939 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2940 #define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
2941 #define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
2942 #define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
2943 #define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
2944 #define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
2945 #define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
2946 #endif
2947 
2948 /* PyObjectGetAttrStr.proto */
2949 #if CYTHON_USE_TYPE_SLOTS
2950 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
2951 #else
2952 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
2953 #endif
2954 
2955 /* PyObjectGetAttrStrNoError.proto */
2956 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
2957 
2958 /* GetBuiltinName.proto */
2959 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
2960 
2961 /* PyObjectFormatSimple.proto */
2962 #if CYTHON_COMPILING_IN_PYPY
2963  #define __Pyx_PyObject_FormatSimple(s, f) (\
2964  likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
2965  PyObject_Format(s, f))
2966 #elif PY_MAJOR_VERSION < 3
2967  #define __Pyx_PyObject_FormatSimple(s, f) (\
2968  likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
2969  likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\
2970  PyObject_Format(s, f))
2971 #elif CYTHON_USE_TYPE_SLOTS
2972  #define __Pyx_PyObject_FormatSimple(s, f) (\
2973  likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
2974  likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\
2975  likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\
2976  PyObject_Format(s, f))
2977 #else
2978  #define __Pyx_PyObject_FormatSimple(s, f) (\
2979  likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
2980  PyObject_Format(s, f))
2981 #endif
2982 
2983 /* PyObjectFormatAndDecref.proto */
2984 static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f);
2985 static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f);
2986 
2987 /* IncludeStringH.proto */
2988 #include <string.h>
2989 
2990 /* JoinPyUnicode.proto */
2991 static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
2992  Py_UCS4 max_char);
2993 
2994 /* PyFunctionFastCall.proto */
2995 #if CYTHON_FAST_PYCALL
2996 #if !CYTHON_VECTORCALL
2997 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
2998  __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
2999 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
3000 #endif
3001 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
3002  (sizeof(char [1 - 2*!(cond)]) - 1)
3003 #ifndef Py_MEMBER_SIZE
3004 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
3005 #endif
3006 #if !CYTHON_VECTORCALL
3007 #if PY_VERSION_HEX >= 0x03080000
3008  #include "frameobject.h"
3009 #if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
3010  #ifndef Py_BUILD_CORE
3011  #define Py_BUILD_CORE 1
3012  #endif
3013  #include "internal/pycore_frame.h"
3014 #endif
3015  #define __Pxy_PyFrame_Initialize_Offsets()
3016  #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus)
3017 #else
3018  static size_t __pyx_pyframe_localsplus_offset = 0;
3019  #include "frameobject.h"
3020  #define __Pxy_PyFrame_Initialize_Offsets()\
3021  ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
3022  (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
3023  #define __Pyx_PyFrame_GetLocalsplus(frame)\
3024  (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
3025 #endif
3026 #endif
3027 #endif
3028 
3029 /* PyObjectCall.proto */
3030 #if CYTHON_COMPILING_IN_CPYTHON
3031 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
3032 #else
3033 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
3034 #endif
3035 
3036 /* PyObjectCallMethO.proto */
3037 #if CYTHON_COMPILING_IN_CPYTHON
3038 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
3039 #endif
3040 
3041 /* PyObjectFastCall.proto */
3042 #define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
3043 static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs);
3044 
3045 /* PyObjectCallOneArg.proto */
3046 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
3047 
3048 /* RaiseException.proto */
3049 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
3050 
3051 /* PyDictVersioning.proto */
3052 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
3053 #define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
3054 #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
3055 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
3056  (version_var) = __PYX_GET_DICT_VERSION(dict);\
3057  (cache_var) = (value);
3058 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
3059  static PY_UINT64_T __pyx_dict_version = 0;\
3060  static PyObject *__pyx_dict_cached_value = NULL;\
3061  if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
3062  (VAR) = __pyx_dict_cached_value;\
3063  } else {\
3064  (VAR) = __pyx_dict_cached_value = (LOOKUP);\
3065  __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
3066  }\
3067 }
3068 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
3069 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
3070 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
3071 #else
3072 #define __PYX_GET_DICT_VERSION(dict) (0)
3073 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
3074 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
3075 #endif
3076 
3077 /* GetModuleGlobalName.proto */
3078 #if CYTHON_USE_DICT_VERSIONS
3079 #define __Pyx_GetModuleGlobalName(var, name) do {\
3080  static PY_UINT64_T __pyx_dict_version = 0;\
3081  static PyObject *__pyx_dict_cached_value = NULL;\
3082  (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
3083  (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
3084  __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
3085 } while(0)
3086 #define __Pyx_GetModuleGlobalNameUncached(var, name) do {\
3087  PY_UINT64_T __pyx_dict_version;\
3088  PyObject *__pyx_dict_cached_value;\
3089  (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
3090 } while(0)
3091 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
3092 #else
3093 #define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
3094 #define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
3095 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
3096 #endif
3097 
3098 /* PyObject_Str.proto */
3099 #define __Pyx_PyObject_Str(obj)\
3100  (likely(PyString_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
3101 
3102 /* TupleAndListFromArray.proto */
3103 #if CYTHON_COMPILING_IN_CPYTHON
3104 static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
3105 static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
3106 #endif
3107 
3108 /* BytesEquals.proto */
3109 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
3110 
3111 /* UnicodeEquals.proto */
3112 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
3113 
3114 /* fastcall.proto */
3115 #if CYTHON_AVOID_BORROWED_REFS
3116  #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
3117 #elif CYTHON_ASSUME_SAFE_MACROS
3118  #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
3119 #else
3120  #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
3121 #endif
3122 #if CYTHON_AVOID_BORROWED_REFS
3123  #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
3124  #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
3125 #else
3126  #define __Pyx_Arg_NewRef_VARARGS(arg) arg
3127  #define __Pyx_Arg_XDECREF_VARARGS(arg)
3128 #endif
3129 #define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
3130 #define __Pyx_KwValues_VARARGS(args, nargs) NULL
3131 #define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
3132 #define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
3133 #if CYTHON_METH_FASTCALL
3134  #define __Pyx_Arg_FASTCALL(args, i) args[i]
3135  #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
3136  #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
3137  static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
3138 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
3139  CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
3140  #else
3141  #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
3142  #endif
3143  #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs
3144  to have the same reference counting */
3145  #define __Pyx_Arg_XDECREF_FASTCALL(arg)
3146 #else
3147  #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
3148  #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
3149  #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
3150  #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
3151  #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
3152  #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
3153  #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
3154 #endif
3155 #if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
3156 #define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
3157 #define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
3158 #else
3159 #define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
3160 #define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
3161 #endif
3162 
3163 /* RaiseArgTupleInvalid.proto */
3164 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
3165  Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
3166 
3167 /* RaiseDoubleKeywords.proto */
3168 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
3169 
3170 /* ParseKeywords.proto */
3171 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues,
3172  PyObject **argnames[],
3173  PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,
3174  const char* function_name);
3175 
3176 /* ExtTypeTest.proto */
3177 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
3178 
3179 /* KeywordStringCheck.proto */
3180 static int __Pyx_CheckKeywordStrings(PyObject *kw, const char* function_name, int kw_allowed);
3181 
3182 /* PyObjectFormat.proto */
3183 #if CYTHON_USE_UNICODE_WRITER
3184 static PyObject* __Pyx_PyObject_Format(PyObject* s, PyObject* f);
3185 #else
3186 #define __Pyx_PyObject_Format(s, f) PyObject_Format(s, f)
3187 #endif
3188 
3189 /* pybytes_as_double.proto */
3190 static double __Pyx_SlowPyString_AsDouble(PyObject *obj);
3191 static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length);
3192 static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) {
3193  char* as_c_string;
3194  Py_ssize_t size;
3195 #if CYTHON_ASSUME_SAFE_MACROS
3196  as_c_string = PyBytes_AS_STRING(obj);
3197  size = PyBytes_GET_SIZE(obj);
3198 #else
3199  if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) {
3200  return (double)-1;
3201  }
3202 #endif
3203  return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
3204 }
3205 static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) {
3206  char* as_c_string;
3207  Py_ssize_t size;
3208 #if CYTHON_ASSUME_SAFE_MACROS
3209  as_c_string = PyByteArray_AS_STRING(obj);
3210  size = PyByteArray_GET_SIZE(obj);
3211 #else
3212  as_c_string = PyByteArray_AsString(obj);
3213  if (as_c_string == NULL) {
3214  return (double)-1;
3215  }
3216  size = PyByteArray_Size(obj);
3217 #endif
3218  return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
3219 }
3220 
3221 /* pyunicode_as_double.proto */
3222 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
3223 static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) {
3224  int last_was_punctuation;
3225  Py_ssize_t i;
3226  last_was_punctuation = 1;
3227  for (i=start; i <= end; i++) {
3228  Py_UCS4 chr = PyUnicode_READ(kind, data, i);
3229  int is_punctuation = (chr == '_') | (chr == '.');
3230  *buffer = (char)chr;
3231  buffer += (chr != '_');
3232  if (unlikely(chr > 127)) goto parse_failure;
3233  if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure;
3234  last_was_punctuation = is_punctuation;
3235  }
3236  if (unlikely(last_was_punctuation)) goto parse_failure;
3237  *buffer = '\0';
3238  return buffer;
3239 parse_failure:
3240  return NULL;
3241 }
3242 static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) {
3243  int matches = 1;
3244  Py_UCS4 chr;
3245  Py_UCS4 sign = PyUnicode_READ(kind, data, start);
3246  int is_signed = (sign == '-') | (sign == '+');
3247  start += is_signed;
3248  length -= is_signed;
3249  switch (PyUnicode_READ(kind, data, start)) {
3250  #ifdef Py_NAN
3251  case 'n':
3252  case 'N':
3253  if (unlikely(length != 3)) goto parse_failure;
3254  chr = PyUnicode_READ(kind, data, start+1);
3255  matches &= (chr == 'a') | (chr == 'A');
3256  chr = PyUnicode_READ(kind, data, start+2);
3257  matches &= (chr == 'n') | (chr == 'N');
3258  if (unlikely(!matches)) goto parse_failure;
3259  return (sign == '-') ? -Py_NAN : Py_NAN;
3260  #endif
3261  case 'i':
3262  case 'I':
3263  if (unlikely(length < 3)) goto parse_failure;
3264  chr = PyUnicode_READ(kind, data, start+1);
3265  matches &= (chr == 'n') | (chr == 'N');
3266  chr = PyUnicode_READ(kind, data, start+2);
3267  matches &= (chr == 'f') | (chr == 'F');
3268  if (likely(length == 3 && matches))
3269  return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
3270  if (unlikely(length != 8)) goto parse_failure;
3271  chr = PyUnicode_READ(kind, data, start+3);
3272  matches &= (chr == 'i') | (chr == 'I');
3273  chr = PyUnicode_READ(kind, data, start+4);
3274  matches &= (chr == 'n') | (chr == 'N');
3275  chr = PyUnicode_READ(kind, data, start+5);
3276  matches &= (chr == 'i') | (chr == 'I');
3277  chr = PyUnicode_READ(kind, data, start+6);
3278  matches &= (chr == 't') | (chr == 'T');
3279  chr = PyUnicode_READ(kind, data, start+7);
3280  matches &= (chr == 'y') | (chr == 'Y');
3281  if (unlikely(!matches)) goto parse_failure;
3282  return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
3283  case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
3284  break;
3285  default:
3286  goto parse_failure;
3287  }
3288  return 0.0;
3289 parse_failure:
3290  return -1.0;
3291 }
3292 static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) {
3293  double value;
3294  const char *last;
3295  char *end;
3296  Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj);
3297  const int kind = PyUnicode_KIND(obj);
3298  const void* data = PyUnicode_DATA(obj);
3299  start = 0;
3300  while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start)))
3301  start++;
3302  while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1)))
3303  length--;
3304  length -= start;
3305  if (unlikely(length <= 0)) goto fallback;
3306  value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length);
3307  if (unlikely(value == -1.0)) goto fallback;
3308  if (value != 0.0) return value;
3309  if (length < 40) {
3310  char number[40];
3311  last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
3312  if (unlikely(!last)) goto fallback;
3313  value = PyOS_string_to_double(number, &end, NULL);
3314  } else {
3315  char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char));
3316  if (unlikely(!number)) goto fallback;
3317  last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
3318  if (unlikely(!last)) {
3319  PyMem_Free(number);
3320  goto fallback;
3321  }
3322  value = PyOS_string_to_double(number, &end, NULL);
3323  PyMem_Free(number);
3324  }
3325  if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) {
3326  return value;
3327  }
3328 fallback:
3329  return __Pyx_SlowPyString_AsDouble(obj);
3330 }
3331 #endif
3332 static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) {
3333 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
3334  if (unlikely(__Pyx_PyUnicode_READY(obj) == -1))
3335  return (double)-1;
3336  if (likely(PyUnicode_IS_ASCII(obj))) {
3337  const char *s;
3338  Py_ssize_t length;
3339  s = PyUnicode_AsUTF8AndSize(obj, &length);
3340  return __Pyx__PyBytes_AsDouble(obj, s, length);
3341  }
3342  return __Pyx_PyUnicode_AsDouble_WithSpaces(obj);
3343 #else
3344  return __Pyx_SlowPyString_AsDouble(obj);
3345 #endif
3346 }
3347 
3348 /* pynumber_float.proto */
3349 static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj);
3350 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : __Pyx__PyNumber_Float(x))
3351 
3352 /* ArgTypeTest.proto */
3353 #define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
3354  ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\
3355  __Pyx__ArgTypeTest(obj, type, name, exact))
3356 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
3357 
3358 /* RaiseUnexpectedTypeError.proto */
3359 static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj);
3360 
3361 /* GetTopmostException.proto */
3362 #if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
3363 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
3364 #endif
3365 
3366 /* SaveResetException.proto */
3367 #if CYTHON_FAST_THREAD_STATE
3368 #define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
3369 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
3370 #define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
3371 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
3372 #else
3373 #define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
3374 #define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
3375 #endif
3376 
3377 /* GetException.proto */
3378 #if CYTHON_FAST_THREAD_STATE
3379 #define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
3380 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
3381 #else
3382 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
3383 #endif
3384 
3385 /* MoveIfSupported.proto */
3386 #if CYTHON_USE_CPP_STD_MOVE
3387  #include <utility>
3388  #define __PYX_STD_MOVE_IF_SUPPORTED(x) std::move(x)
3389 #else
3390  #define __PYX_STD_MOVE_IF_SUPPORTED(x) x
3391 #endif
3392 
3393 /* GetItemInt.proto */
3394 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
3395  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
3396  __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
3397  (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
3398  __Pyx_GetItemInt_Generic(o, to_py_func(i))))
3399 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
3400  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
3401  __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
3402  (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
3403 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
3404  int wraparound, int boundscheck);
3405 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
3406  (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
3407  __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
3408  (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
3409 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
3410  int wraparound, int boundscheck);
3411 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
3412 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
3413  int is_list, int wraparound, int boundscheck);
3414 
3415 /* SwapException.proto */
3416 #if CYTHON_FAST_THREAD_STATE
3417 #define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
3418 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
3419 #else
3420 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
3421 #endif
3422 
3423 /* RaiseTooManyValuesToUnpack.proto */
3424 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
3425 
3426 /* RaiseNeedMoreValuesToUnpack.proto */
3427 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
3428 
3429 /* IterFinish.proto */
3430 static CYTHON_INLINE int __Pyx_IterFinish(void);
3431 
3432 /* UnpackItemEndCheck.proto */
3433 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
3434 
3435 /* pep479.proto */
3436 static void __Pyx_Generator_Replace_StopIteration(int in_async_gen);
3437 
3438 /* ListCompAppend.proto */
3439 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
3440 static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
3441  PyListObject* L = (PyListObject*) list;
3442  Py_ssize_t len = Py_SIZE(list);
3443  if (likely(L->allocated > len)) {
3444  Py_INCREF(x);
3445  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
3446  L->ob_item[len] = x;
3447  #else
3448  PyList_SET_ITEM(list, len, x);
3449  #endif
3450  __Pyx_SET_SIZE(list, len + 1);
3451  return 0;
3452  }
3453  return PyList_Append(list, x);
3454 }
3455 #else
3456 #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
3457 #endif
3458 
3459 /* IncludeStructmemberH.proto */
3460 #include <structmember.h>
3461 
3462 /* FixUpExtensionType.proto */
3463 #if CYTHON_USE_TYPE_SPECS
3464 static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
3465 #endif
3466 
3467 /* PyObjectCallNoArg.proto */
3468 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
3469 
3470 /* PyObjectGetMethod.proto */
3471 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
3472 
3473 /* PyObjectCallMethod0.proto */
3474 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
3475 
3476 /* ValidateBasesTuple.proto */
3477 #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
3478 static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
3479 #endif
3480 
3481 /* PyType_Ready.proto */
3482 CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);
3483 
3484 /* PyObject_GenericGetAttrNoDict.proto */
3485 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
3486 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
3487 #else
3488 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
3489 #endif
3490 
3491 /* PyObject_GenericGetAttr.proto */
3492 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
3493 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
3494 #else
3495 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
3496 #endif
3497 
3498 /* SetVTable.proto */
3499 static int __Pyx_SetVtable(PyTypeObject* typeptr , void* vtable);
3500 
3501 /* GetVTable.proto */
3502 static void* __Pyx_GetVtable(PyTypeObject *type);
3503 
3504 /* MergeVTables.proto */
3505 #if !CYTHON_COMPILING_IN_LIMITED_API
3506 static int __Pyx_MergeVtables(PyTypeObject *type);
3507 #endif
3508 
3509 /* SetupReduce.proto */
3510 #if !CYTHON_COMPILING_IN_LIMITED_API
3511 static int __Pyx_setup_reduce(PyObject* type_obj);
3512 #endif
3513 
3514 /* Import.proto */
3515 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
3516 
3517 /* ImportDottedModule.proto */
3518 static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple);
3519 #if PY_MAJOR_VERSION >= 3
3520 static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
3521 #endif
3522 
3523 /* Py3UpdateBases.proto */
3524 static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);
3525 
3526 /* CalculateMetaclass.proto */
3527 static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
3528 
3529 /* PyObjectCall2Args.proto */
3530 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
3531 
3532 /* PyObjectLookupSpecial.proto */
3533 #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
3534 #define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
3535 #define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1)
3536 static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error);
3537 #else
3538 #define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n)
3539 #define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
3540 #endif
3541 
3542 /* Py3ClassCreate.proto */
3543 static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
3544  PyObject *mkw, PyObject *modname, PyObject *doc);
3545 static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
3546  PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
3547 
3548 /* FetchSharedCythonModule.proto */
3549 static PyObject *__Pyx_FetchSharedCythonABIModule(void);
3550 
3551 /* FetchCommonType.proto */
3552 #if !CYTHON_USE_TYPE_SPECS
3553 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
3554 #else
3555 static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
3556 #endif
3557 
3558 /* PyMethodNew.proto */
3559 #if CYTHON_COMPILING_IN_LIMITED_API
3560 static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
3561  PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
3562  CYTHON_UNUSED_VAR(typ);
3563  if (!self)
3564  return __Pyx_NewRef(func);
3565  typesModule = PyImport_ImportModule("types");
3566  if (!typesModule) return NULL;
3567  methodType = PyObject_GetAttrString(typesModule, "MethodType");
3568  Py_DECREF(typesModule);
3569  if (!methodType) return NULL;
3570  result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
3571  Py_DECREF(methodType);
3572  return result;
3573 }
3574 #elif PY_MAJOR_VERSION >= 3
3575 static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
3576  CYTHON_UNUSED_VAR(typ);
3577  if (!self)
3578  return __Pyx_NewRef(func);
3579  return PyMethod_New(func, self);
3580 }
3581 #else
3582  #define __Pyx_PyMethod_New PyMethod_New
3583 #endif
3584 
3585 /* PyVectorcallFastCallDict.proto */
3586 #if CYTHON_METH_FASTCALL
3587 static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
3588 #endif
3589 
3590 /* CythonFunctionShared.proto */
3591 #define __Pyx_CyFunction_USED
3592 #define __Pyx_CYFUNCTION_STATICMETHOD 0x01
3593 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
3594 #define __Pyx_CYFUNCTION_CCLASS 0x04
3595 #define __Pyx_CYFUNCTION_COROUTINE 0x08
3596 #define __Pyx_CyFunction_GetClosure(f)\
3597  (((__pyx_CyFunctionObject *) (f))->func_closure)
3598 #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
3599  #define __Pyx_CyFunction_GetClassObj(f)\
3600  (((__pyx_CyFunctionObject *) (f))->func_classobj)
3601 #else
3602  #define __Pyx_CyFunction_GetClassObj(f)\
3603  ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
3604 #endif
3605 #define __Pyx_CyFunction_SetClassObj(f, classobj)\
3606  __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
3607 #define __Pyx_CyFunction_Defaults(type, f)\
3608  ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
3609 #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
3610  ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
3611 typedef struct {
3612 #if CYTHON_COMPILING_IN_LIMITED_API
3613  PyObject_HEAD
3614  PyObject *func;
3615 #elif PY_VERSION_HEX < 0x030900B1
3616  PyCFunctionObject func;
3617 #else
3618  PyCMethodObject func;
3619 #endif
3620 #if CYTHON_BACKPORT_VECTORCALL
3621  __pyx_vectorcallfunc func_vectorcall;
3622 #endif
3623 #if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
3624  PyObject *func_weakreflist;
3625 #endif
3626  PyObject *func_dict;
3627  PyObject *func_name;
3628  PyObject *func_qualname;
3629  PyObject *func_doc;
3630  PyObject *func_globals;
3631  PyObject *func_code;
3632  PyObject *func_closure;
3633 #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
3634  PyObject *func_classobj;
3635 #endif
3636  void *defaults;
3637  int defaults_pyobjects;
3638  size_t defaults_size;
3639  int flags;
3640  PyObject *defaults_tuple;
3641  PyObject *defaults_kwdict;
3642  PyObject *(*defaults_getter)(PyObject *);
3643  PyObject *func_annotations;
3644  PyObject *func_is_coroutine;
3645 } __pyx_CyFunctionObject;
3646 #undef __Pyx_CyOrPyCFunction_Check
3647 #define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
3648 #define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
3649 #define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
3650 static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
3651 #undef __Pyx_IsSameCFunction
3652 #define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
3653 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
3654  int flags, PyObject* qualname,
3655  PyObject *closure,
3656  PyObject *module, PyObject *globals,
3657  PyObject* code);
3658 static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
3659 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
3660  size_t size,
3661  int pyobjects);
3662 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
3663  PyObject *tuple);
3664 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
3665  PyObject *dict);
3666 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
3667  PyObject *dict);
3668 static int __pyx_CyFunction_init(PyObject *module);
3669 #if CYTHON_METH_FASTCALL
3670 static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
3671 static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
3672 static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
3673 static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
3674 #if CYTHON_BACKPORT_VECTORCALL
3675 #define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
3676 #else
3677 #define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
3678 #endif
3679 #endif
3680 
3681 /* CythonFunction.proto */
3682 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
3683  int flags, PyObject* qualname,
3684  PyObject *closure,
3685  PyObject *module, PyObject *globals,
3686  PyObject* code);
3687 
3688 /* ClassMethod.proto */
3689 #include "descrobject.h"
3690 CYTHON_UNUSED static PyObject* __Pyx_Method_ClassMethod(PyObject *method);
3691 
3692 /* GetNameInClass.proto */
3693 #define __Pyx_GetNameInClass(var, nmspace, name) (var) = __Pyx__GetNameInClass(nmspace, name)
3694 static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name);
3695 
3696 /* SetNameInClass.proto */
3697 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
3698 #define __Pyx_SetNameInClass(ns, name, value)\
3699  (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
3700 #elif CYTHON_COMPILING_IN_CPYTHON
3701 #define __Pyx_SetNameInClass(ns, name, value)\
3702  (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
3703 #else
3704 #define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value)
3705 #endif
3706 
3707 /* RaiseNoneIterError.proto */
3708 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
3709 
3710 /* UnpackTupleError.proto */
3711 static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);
3712 
3713 /* UnpackTuple2.proto */
3714 #define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
3715  (likely(is_tuple || PyTuple_Check(tuple)) ?\
3716  (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
3717  __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
3718  (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
3719  __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
3720 static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
3721  PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
3722 static int __Pyx_unpack_tuple2_generic(
3723  PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);
3724 
3725 /* dict_iter.proto */
3726 static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
3727  Py_ssize_t* p_orig_length, int* p_is_dict);
3728 static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
3729  PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
3730 
3731 /* GetAttr.proto */
3732 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
3733 
3734 /* Globals.proto */
3735 static PyObject* __Pyx_Globals(void);
3736 
3737 /* CLineInTraceback.proto */
3738 #ifdef CYTHON_CLINE_IN_TRACEBACK
3739 #define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
3740 #else
3741 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
3742 #endif
3743 
3744 /* CodeObjectCache.proto */
3745 #if !CYTHON_COMPILING_IN_LIMITED_API
3746 typedef struct {
3747  PyCodeObject* code_object;
3748  int code_line;
3749 } __Pyx_CodeObjectCacheEntry;
3750 struct __Pyx_CodeObjectCache {
3751  int count;
3752  int max_count;
3753  __Pyx_CodeObjectCacheEntry* entries;
3754 };
3755 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
3756 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
3757 static PyCodeObject *__pyx_find_code_object(int code_line);
3758 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
3759 #endif
3760 
3761 /* AddTraceback.proto */
3762 static void __Pyx_AddTraceback(const char *funcname, int c_line,
3763  int py_line, const char *filename);
3764 
3765 /* None.proto */
3766 #include <new>
3767 
3768 /* GCCDiagnostics.proto */
3769 #if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
3770 #define __Pyx_HAS_GCC_DIAGNOSTIC
3771 #endif
3772 
3773 /* CppExceptionConversion.proto */
3774 #ifndef __Pyx_CppExn2PyErr
3775 #include <new>
3776 #include <typeinfo>
3777 #include <stdexcept>
3778 #include <ios>
3779 static void __Pyx_CppExn2PyErr() {
3780  try {
3781  if (PyErr_Occurred())
3782  ; // let the latest Python exn pass through and ignore the current one
3783  else
3784  throw;
3785  } catch (const std::bad_alloc& exn) {
3786  PyErr_SetString(PyExc_MemoryError, exn.what());
3787  } catch (const std::bad_cast& exn) {
3788  PyErr_SetString(PyExc_TypeError, exn.what());
3789  } catch (const std::bad_typeid& exn) {
3790  PyErr_SetString(PyExc_TypeError, exn.what());
3791  } catch (const std::domain_error& exn) {
3792  PyErr_SetString(PyExc_ValueError, exn.what());
3793  } catch (const std::invalid_argument& exn) {
3794  PyErr_SetString(PyExc_ValueError, exn.what());
3795  } catch (const std::ios_base::failure& exn) {
3796  PyErr_SetString(PyExc_IOError, exn.what());
3797  } catch (const std::out_of_range& exn) {
3798  PyErr_SetString(PyExc_IndexError, exn.what());
3799  } catch (const std::overflow_error& exn) {
3800  PyErr_SetString(PyExc_OverflowError, exn.what());
3801  } catch (const std::range_error& exn) {
3802  PyErr_SetString(PyExc_ArithmeticError, exn.what());
3803  } catch (const std::underflow_error& exn) {
3804  PyErr_SetString(PyExc_ArithmeticError, exn.what());
3805  } catch (const std::exception& exn) {
3806  PyErr_SetString(PyExc_RuntimeError, exn.what());
3807  }
3808  catch (...)
3809  {
3810  PyErr_SetString(PyExc_RuntimeError, "Unknown exception");
3811  }
3812 }
3813 #endif
3814 
3815 /* CIntFromPy.proto */
3816 static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);
3817 
3818 /* CIntFromPy.proto */
3819 static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *);
3820 
3821 /* CIntToPy.proto */
3822 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value);
3823 
3824 /* CIntFromPy.proto */
3825 static CYTHON_INLINE int32_t __Pyx_PyInt_As_int32_t(PyObject *);
3826 
3827 /* CIntToPy.proto */
3828 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
3829 
3830 /* CIntToPy.proto */
3831 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value);
3832 
3833 /* CIntToPy.proto */
3834 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint8_t(uint8_t value);
3835 
3836 /* CIntFromPy.proto */
3837 static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *);
3838 
3839 /* CIntFromPy.proto */
3840 static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *);
3841 
3842 /* CIntToPy.proto */
3843 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int32_t(int32_t value);
3844 
3845 /* CIntToPy.proto */
3846 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value);
3847 
3848 /* CIntToPy.proto */
3849 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
3850 
3851 /* FormatTypeName.proto */
3852 #if CYTHON_COMPILING_IN_LIMITED_API
3853 typedef PyObject *__Pyx_TypeName;
3854 #define __Pyx_FMT_TYPENAME "%U"
3855 static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp);
3856 #define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
3857 #else
3858 typedef const char *__Pyx_TypeName;
3859 #define __Pyx_FMT_TYPENAME "%.200s"
3860 #define __Pyx_PyType_GetName(tp) ((tp)->tp_name)
3861 #define __Pyx_DECREF_TypeName(obj)
3862 #endif
3863 
3864 /* CIntFromPy.proto */
3865 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
3866 
3867 /* CIntFromPy.proto */
3868 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
3869 
3870 /* FastTypeChecks.proto */
3871 #if CYTHON_COMPILING_IN_CPYTHON
3872 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
3873 #define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
3874 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
3875 static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
3876 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
3877 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
3878 #else
3879 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
3880 #define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
3881 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
3882 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
3883 #endif
3884 #define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
3885 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
3886 
3887 /* PyObjectCallMethod1.proto */
3888 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
3889 
3890 /* CoroutineBase.proto */
3891 struct __pyx_CoroutineObject;
3892 typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *);
3893 #if CYTHON_USE_EXC_INFO_STACK
3894 #define __Pyx_ExcInfoStruct _PyErr_StackItem
3895 #else
3896 typedef struct {
3897  PyObject *exc_type;
3898  PyObject *exc_value;
3899  PyObject *exc_traceback;
3900 } __Pyx_ExcInfoStruct;
3901 #endif
3902 typedef struct __pyx_CoroutineObject {
3903  PyObject_HEAD
3904  __pyx_coroutine_body_t body;
3905  PyObject *closure;
3906  __Pyx_ExcInfoStruct gi_exc_state;
3907  PyObject *gi_weakreflist;
3908  PyObject *classobj;
3909  PyObject *yieldfrom;
3910  PyObject *gi_name;
3911  PyObject *gi_qualname;
3912  PyObject *gi_modulename;
3913  PyObject *gi_code;
3914  PyObject *gi_frame;
3915  int resume_label;
3916  char is_running;
3917 } __pyx_CoroutineObject;
3918 static __pyx_CoroutineObject *__Pyx__Coroutine_New(
3919  PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
3920  PyObject *name, PyObject *qualname, PyObject *module_name);
3921 static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
3922  __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
3923  PyObject *name, PyObject *qualname, PyObject *module_name);
3924 static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
3925 static int __Pyx_Coroutine_clear(PyObject *self);
3926 static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
3927 static PyObject *__Pyx_Coroutine_Close(PyObject *self);
3928 static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
3929 #if CYTHON_USE_EXC_INFO_STACK
3930 #define __Pyx_Coroutine_SwapException(self)
3931 #define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
3932 #else
3933 #define __Pyx_Coroutine_SwapException(self) {\
3934  __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
3935  __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
3936  }
3937 #define __Pyx_Coroutine_ResetAndClearException(self) {\
3938  __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
3939  (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
3940  }
3941 #endif
3942 #if CYTHON_FAST_THREAD_STATE
3943 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
3944  __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
3945 #else
3946 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
3947  __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
3948 #endif
3949 static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
3950 static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
3951 
3952 /* PatchModuleWithCoroutine.proto */
3953 static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);
3954 
3955 /* PatchGeneratorABC.proto */
3956 static int __Pyx_patch_abc(void);
3957 
3958 /* Generator.proto */
3959 #define __Pyx_Generator_USED
3960 #define __Pyx_Generator_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_GeneratorType)
3961 #define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
3962  __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
3963 static PyObject *__Pyx_Generator_Next(PyObject *self);
3964 static int __pyx_Generator_init(PyObject *module);
3965 
3966 /* CheckBinaryVersion.proto */
3967 static unsigned long __Pyx_get_runtime_version(void);
3968 static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
3969 
3970 /* FunctionExport.proto */
3971 static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);
3972 
3973 /* InitStrings.proto */
3974 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
3975 
3976 /* #### Code section: module_declarations ### */
3977 static void __pyx_f_9pywrapfst_6Weight__check_weight(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto*/
3978 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst_6Weight_copy(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3979 static std::string __pyx_f_9pywrapfst_6Weight_type(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3980 static std::string __pyx_f_9pywrapfst_6Weight_to_string(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3981 static bool __pyx_f_9pywrapfst_6Weight_member(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3982 static __pyx_t_9pywrapfst_const_SymbolTable_ptr __pyx_f_9pywrapfst_15SymbolTableView__raw(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto*/
3983 static void __pyx_f_9pywrapfst_15SymbolTableView__raise_nonexistent(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto*/
3984 static __pyx_t_9pywrapfst_const_SymbolTable_ptr __pyx_f_9pywrapfst_15SymbolTableView__raw_ptr_or_raise(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto*/
3985 static int64_t __pyx_f_9pywrapfst_15SymbolTableView_available_key(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3986 static PyObject *__pyx_f_9pywrapfst_15SymbolTableView_checksum(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3987 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst_15SymbolTableView_copy(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3988 static int64_t __pyx_f_9pywrapfst_15SymbolTableView_get_nth_key(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, Py_ssize_t __pyx_v_pos, int __pyx_skip_dispatch); /* proto*/
3989 static PyObject *__pyx_f_9pywrapfst_15SymbolTableView_labeled_checksum(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3990 static bool __pyx_f_9pywrapfst_15SymbolTableView_member(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, PyObject *__pyx_v_key, int __pyx_skip_dispatch); /* proto*/
3991 static std::string __pyx_f_9pywrapfst_15SymbolTableView_name(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3992 static size_t __pyx_f_9pywrapfst_15SymbolTableView_num_symbols(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3993 static void __pyx_f_9pywrapfst_15SymbolTableView_write(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, PyObject *__pyx_v_source, int __pyx_skip_dispatch); /* proto*/
3994 static PyObject *__pyx_f_9pywrapfst_15SymbolTableView_write_to_string(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
3995 static __pyx_t_9pywrapfst_const_SymbolTable_ptr __pyx_f_9pywrapfst_28_EncodeMapperSymbolTableView__raw(struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView *__pyx_v_self); /* proto*/
3996 static __pyx_t_9pywrapfst_const_SymbolTable_ptr __pyx_f_9pywrapfst_19_FstSymbolTableView__raw(struct __pyx_obj_9pywrapfst__FstSymbolTableView *__pyx_v_self); /* proto*/
3997 static __pyx_t_9pywrapfst_const_SymbolTable_ptr __pyx_f_9pywrapfst_19_MutableSymbolTable__raw(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self); /* proto*/
3998 static __pyx_t_9pywrapfst_SymbolTable_ptr __pyx_f_9pywrapfst_19_MutableSymbolTable__mutable_raw(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self); /* proto*/
3999 static __pyx_t_9pywrapfst_SymbolTable_ptr __pyx_f_9pywrapfst_19_MutableSymbolTable__mutable_raw_ptr_or_raise(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self); /* proto*/
4000 static int64_t __pyx_f_9pywrapfst_19_MutableSymbolTable_add_symbol(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_symbol, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_19_MutableSymbolTable_add_symbol *__pyx_optional_args); /* proto*/
4001 static void __pyx_f_9pywrapfst_19_MutableSymbolTable_add_table(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols, int __pyx_skip_dispatch); /* proto*/
4002 static void __pyx_f_9pywrapfst_19_MutableSymbolTable_set_name(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_new_name, int __pyx_skip_dispatch); /* proto*/
4003 static __pyx_t_9pywrapfst_SymbolTable_ptr __pyx_f_9pywrapfst_26_MutableFstSymbolTableView__mutable_raw(struct __pyx_obj_9pywrapfst__MutableFstSymbolTableView *__pyx_v_self); /* proto*/
4004 static __pyx_t_9pywrapfst_SymbolTable_ptr __pyx_f_9pywrapfst_11SymbolTable__mutable_raw(struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_self); /* proto*/
4005 static std::string __pyx_f_9pywrapfst_12EncodeMapper_arc_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4006 static std::string __pyx_f_9pywrapfst_12EncodeMapper_weight_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4007 static void __pyx_f_9pywrapfst_12EncodeMapper_write(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, PyObject *__pyx_v_source, int __pyx_skip_dispatch); /* proto*/
4008 static PyObject *__pyx_f_9pywrapfst_12EncodeMapper_write_to_string(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4009 static struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView *__pyx_f_9pywrapfst_12EncodeMapper_input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4010 static struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView *__pyx_f_9pywrapfst_12EncodeMapper_output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4011 static void __pyx_f_9pywrapfst_12EncodeMapper__set_input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto*/
4012 static void __pyx_f_9pywrapfst_12EncodeMapper__set_output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto*/
4013 static std::string __pyx_f_9pywrapfst_3Fst__local_render_svg(std::string const &__pyx_v_dot); /* proto*/
4014 static std::string __pyx_f_9pywrapfst_3Fst_arc_type(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4015 static struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_f_9pywrapfst_3Fst_arcs(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
4016 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst_3Fst_copy(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4017 static void __pyx_f_9pywrapfst_3Fst_draw(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, PyObject *__pyx_v_source, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_3Fst_draw *__pyx_optional_args); /* proto*/
4018 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst_3Fst_final(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
4019 static std::string __pyx_f_9pywrapfst_3Fst_fst_type(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4020 static struct __pyx_obj_9pywrapfst__FstSymbolTableView *__pyx_f_9pywrapfst_3Fst_input_symbols(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4021 static size_t __pyx_f_9pywrapfst_3Fst_num_arcs(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
4022 static size_t __pyx_f_9pywrapfst_3Fst_num_input_epsilons(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
4023 static size_t __pyx_f_9pywrapfst_3Fst_num_output_epsilons(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
4024 static struct __pyx_obj_9pywrapfst__FstSymbolTableView *__pyx_f_9pywrapfst_3Fst_output_symbols(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4025 static std::string __pyx_f_9pywrapfst_3Fst_print(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_3Fst_print *__pyx_optional_args); /* proto*/
4026 static int64_t __pyx_f_9pywrapfst_3Fst_start(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4027 static struct __pyx_obj_9pywrapfst__StateIterator *__pyx_f_9pywrapfst_3Fst_states(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4028 static bool __pyx_f_9pywrapfst_3Fst_verify(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4029 static std::string __pyx_f_9pywrapfst_3Fst_weight_type(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4030 static void __pyx_f_9pywrapfst_3Fst_write(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, PyObject *__pyx_v_source, int __pyx_skip_dispatch); /* proto*/
4031 static PyObject *__pyx_f_9pywrapfst_3Fst_write_to_string(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4032 static void __pyx_f_9pywrapfst_10MutableFst__check_mutating_imethod(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto*/
4033 static void __pyx_f_9pywrapfst_10MutableFst__add_arc(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto*/
4034 static int64_t __pyx_f_9pywrapfst_10MutableFst_add_state(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4035 static void __pyx_f_9pywrapfst_10MutableFst_add_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, size_t __pyx_v_n, int __pyx_skip_dispatch); /* proto*/
4036 static void __pyx_f_9pywrapfst_10MutableFst__arcsort(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__arcsort *__pyx_optional_args); /* proto*/
4037 static void __pyx_f_9pywrapfst_10MutableFst__closure(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__closure *__pyx_optional_args); /* proto*/
4038 static void __pyx_f_9pywrapfst_10MutableFst__concat(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_fst2); /* proto*/
4039 static void __pyx_f_9pywrapfst_10MutableFst__connect(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto*/
4040 static void __pyx_f_9pywrapfst_10MutableFst__decode(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_mapper); /* proto*/
4041 static void __pyx_f_9pywrapfst_10MutableFst__delete_arcs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_arcs *__pyx_optional_args); /* proto*/
4042 static void __pyx_f_9pywrapfst_10MutableFst__delete_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__delete_states *__pyx_optional_args); /* proto*/
4043 static void __pyx_f_9pywrapfst_10MutableFst__encode(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_mapper); /* proto*/
4044 static void __pyx_f_9pywrapfst_10MutableFst__invert(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto*/
4045 static void __pyx_f_9pywrapfst_10MutableFst__minimize(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__minimize *__pyx_optional_args); /* proto*/
4046 static struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_f_9pywrapfst_10MutableFst_mutable_arcs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, int __pyx_skip_dispatch); /* proto*/
4047 static int64_t __pyx_f_9pywrapfst_10MutableFst_num_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4048 static void __pyx_f_9pywrapfst_10MutableFst__project(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_project_type); /* proto*/
4049 static void __pyx_f_9pywrapfst_10MutableFst__prune(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__prune *__pyx_optional_args); /* proto*/
4050 static void __pyx_f_9pywrapfst_10MutableFst__push(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__push *__pyx_optional_args); /* proto*/
4051 static void __pyx_f_9pywrapfst_10MutableFst__relabel_pairs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_pairs *__pyx_optional_args); /* proto*/
4052 static void __pyx_f_9pywrapfst_10MutableFst__relabel_tables(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__relabel_tables *__pyx_optional_args); /* proto*/
4053 static void __pyx_f_9pywrapfst_10MutableFst__reserve_arcs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, size_t __pyx_v_n); /* proto*/
4054 static void __pyx_f_9pywrapfst_10MutableFst__reserve_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_n); /* proto*/
4055 static void __pyx_f_9pywrapfst_10MutableFst__reweight(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_potentials, struct __pyx_opt_args_9pywrapfst_10MutableFst__reweight *__pyx_optional_args); /* proto*/
4056 static void __pyx_f_9pywrapfst_10MutableFst__rmepsilon(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_opt_args_9pywrapfst_10MutableFst__rmepsilon *__pyx_optional_args); /* proto*/
4057 static void __pyx_f_9pywrapfst_10MutableFst__set_final(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, struct __pyx_opt_args_9pywrapfst_10MutableFst__set_final *__pyx_optional_args); /* proto*/
4058 static void __pyx_f_9pywrapfst_10MutableFst__set_input_symbols(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto*/
4059 static void __pyx_f_9pywrapfst_10MutableFst__set_output_symbols(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto*/
4060 static void __pyx_f_9pywrapfst_10MutableFst__set_start(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state); /* proto*/
4061 static void __pyx_f_9pywrapfst_10MutableFst__topsort(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto*/
4062 static struct __pyx_obj_9pywrapfst_Arc *__pyx_f_9pywrapfst_3Arc_copy(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4063 static bool __pyx_f_9pywrapfst_12_ArcIterator_done(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4064 static void __pyx_f_9pywrapfst_12_ArcIterator_next(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4065 static size_t __pyx_f_9pywrapfst_12_ArcIterator_position(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4066 static void __pyx_f_9pywrapfst_12_ArcIterator_reset(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4067 static void __pyx_f_9pywrapfst_12_ArcIterator_seek(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, size_t __pyx_v_a, int __pyx_skip_dispatch); /* proto*/
4068 static void __pyx_f_9pywrapfst_12_ArcIterator_set_flags(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, uint8_t __pyx_v_flags, uint8_t __pyx_v_mask, int __pyx_skip_dispatch); /* proto*/
4069 static struct __pyx_obj_9pywrapfst_Arc *__pyx_f_9pywrapfst_12_ArcIterator__value(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto*/
4070 static bool __pyx_f_9pywrapfst_19_MutableArcIterator_done(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4071 static void __pyx_f_9pywrapfst_19_MutableArcIterator_next(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4072 static size_t __pyx_f_9pywrapfst_19_MutableArcIterator_position(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4073 static void __pyx_f_9pywrapfst_19_MutableArcIterator_reset(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4074 static void __pyx_f_9pywrapfst_19_MutableArcIterator_seek(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, size_t __pyx_v_a, int __pyx_skip_dispatch); /* proto*/
4075 static void __pyx_f_9pywrapfst_19_MutableArcIterator_set_flags(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, uint8_t __pyx_v_flags, uint8_t __pyx_v_mask, int __pyx_skip_dispatch); /* proto*/
4076 static void __pyx_f_9pywrapfst_19_MutableArcIterator__set_value(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto*/
4077 static struct __pyx_obj_9pywrapfst_Arc *__pyx_f_9pywrapfst_19_MutableArcIterator__value(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto*/
4078 static bool __pyx_f_9pywrapfst_14_StateIterator_done(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4079 static void __pyx_f_9pywrapfst_14_StateIterator_next(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4080 static void __pyx_f_9pywrapfst_14_StateIterator_reset(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4081 static int64_t __pyx_f_9pywrapfst_14_StateIterator__value(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto*/
4082 static int64_t __pyx_f_9pywrapfst_14_StateIterator_value(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4083 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst_8Compiler_compile(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4084 static void __pyx_f_9pywrapfst_8Compiler_write(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, PyObject *__pyx_v_expression, int __pyx_skip_dispatch); /* proto*/
4085 static std::string __pyx_f_9pywrapfst_9FarReader_arc_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4086 static bool __pyx_f_9pywrapfst_9FarReader_done(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4087 static bool __pyx_f_9pywrapfst_9FarReader_error(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4088 static std::string __pyx_f_9pywrapfst_9FarReader_far_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4089 static bool __pyx_f_9pywrapfst_9FarReader_find(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, PyObject *__pyx_v_key, int __pyx_skip_dispatch); /* proto*/
4090 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst_9FarReader_get_fst(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4091 static std::string __pyx_f_9pywrapfst_9FarReader_get_key(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4092 static void __pyx_f_9pywrapfst_9FarReader_next(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4093 static void __pyx_f_9pywrapfst_9FarReader_reset(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4094 static void __pyx_f_9pywrapfst_9FarWriter_close(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto*/
4095 static void __pyx_f_9pywrapfst_9FarWriter_add(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, PyObject *__pyx_v_key, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, int __pyx_skip_dispatch); /* proto*/
4096 static std::string __pyx_f_9pywrapfst_9FarWriter_arc_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4097 static bool __pyx_f_9pywrapfst_9FarWriter_error(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4098 static std::string __pyx_f_9pywrapfst_9FarWriter_far_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
4099 
4100 /* Module declarations from "libc.stdint" */
4101 
4102 /* Module declarations from "libcpp" */
4103 
4104 /* Module declarations from "libcpp.memory" */
4105 
4106 /* Module declarations from "libc.string" */
4107 
4108 /* Module declarations from "libcpp.string" */
4109 
4110 /* Module declarations from "libcpp.utility" */
4111 
4112 /* Module declarations from "libcpp.vector" */
4113 
4114 /* Module declarations from "cios" */
4115 
4116 /* Module declarations from "libcpp.optional" */
4117 
4118 /* Module declarations from "cpywrapfst" */
4119 
4120 /* Module declarations from "libcpp.cast" */
4121 
4122 /* Module declarations from "libcpp.limits" */
4123 
4124 /* Module declarations from "cmemory" */
4125 
4126 /* Module declarations from "pywrapfst" */
4127 static std::string __pyx_f_9pywrapfst_tostring(PyObject *); /*proto*/
4128 static std::string __pyx_f_9pywrapfst_weight_tostring(PyObject *); /*proto*/
4129 static std::string __pyx_f_9pywrapfst_path_tostring(PyObject *); /*proto*/
4130 static enum fst::ComposeFilter __pyx_f_9pywrapfst__get_compose_filter(std::string const &); /*proto*/
4131 static enum fst::QueueType __pyx_f_9pywrapfst__get_queue_type(std::string const &); /*proto*/
4132 static fst::script::RandArcSelection __pyx_f_9pywrapfst__get_rand_arc_selection(std::string const &); /*proto*/
4133 static enum fst::ReplaceLabelType __pyx_f_9pywrapfst__get_replace_label_type(std::string const &, bool); /*proto*/
4134 static fst::script::WeightClass __pyx_f_9pywrapfst__get_WeightClass_or_one(std::string const &, PyObject *); /*proto*/
4135 static fst::script::WeightClass __pyx_f_9pywrapfst__get_WeightClass_or_zero(std::string const &, PyObject *); /*proto*/
4136 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__zero(PyObject *); /*proto*/
4137 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__one(PyObject *); /*proto*/
4138 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__no_weight(PyObject *); /*proto*/
4139 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__plus(struct __pyx_obj_9pywrapfst_Weight *, struct __pyx_obj_9pywrapfst_Weight *); /*proto*/
4140 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__times(struct __pyx_obj_9pywrapfst_Weight *, struct __pyx_obj_9pywrapfst_Weight *); /*proto*/
4141 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__divide(struct __pyx_obj_9pywrapfst_Weight *, struct __pyx_obj_9pywrapfst_Weight *); /*proto*/
4142 static struct __pyx_obj_9pywrapfst_Weight *__pyx_f_9pywrapfst__power(struct __pyx_obj_9pywrapfst_Weight *, size_t); /*proto*/
4143 static struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView *__pyx_f_9pywrapfst__init_EncodeMapperSymbolTableView(std::shared_ptr<fst::script::EncodeMapperClass> , bool); /*proto*/
4144 static struct __pyx_obj_9pywrapfst__FstSymbolTableView *__pyx_f_9pywrapfst__init_FstSymbolTableView(std::shared_ptr<fst::script::FstClass> , bool); /*proto*/
4145 static struct __pyx_obj_9pywrapfst__MutableFstSymbolTableView *__pyx_f_9pywrapfst__init_MutableFstSymbolTableView(std::shared_ptr<fst::script::MutableFstClass> , bool); /*proto*/
4146 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst__init_SymbolTable(std::unique_ptr<fst::SymbolTable> ); /*proto*/
4147 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst__read_SymbolTable_from_string(std::string, int __pyx_skip_dispatch); /*proto*/
4148 static struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_f_9pywrapfst__init_EncodeMapper(__pyx_t_9pywrapfst_EncodeMapperClass_ptr); /*proto*/
4149 static struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_f_9pywrapfst__read_EncodeMapper_from_string(std::string, int __pyx_skip_dispatch); /*proto*/
4150 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst__init_Fst(__pyx_t_9pywrapfst_FstClass_ptr); /*proto*/
4151 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst__init_MutableFst(__pyx_t_9pywrapfst_MutableFstClass_ptr); /*proto*/
4152 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst__init_XFst(__pyx_t_9pywrapfst_FstClass_ptr); /*proto*/
4153 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst__read_Fst(PyObject *, int __pyx_skip_dispatch); /*proto*/
4154 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst__read_Fst_from_string(std::string, int __pyx_skip_dispatch); /*proto*/
4155 static struct __pyx_obj_9pywrapfst_Arc *__pyx_f_9pywrapfst__init_Arc(fst::script::ArcClass const &); /*proto*/
4156 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst__map(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_opt_args_9pywrapfst__map *__pyx_optional_args); /*proto*/
4157 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst_arcmap(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_arcmap *__pyx_optional_args); /*proto*/
4158 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_compose(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_compose *__pyx_optional_args); /*proto*/
4159 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst_convert(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_convert *__pyx_optional_args); /*proto*/
4160 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_determinize(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_determinize *__pyx_optional_args); /*proto*/
4161 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_difference(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_difference *__pyx_optional_args); /*proto*/
4162 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_disambiguate(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_disambiguate *__pyx_optional_args); /*proto*/
4163 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_epsnormalize(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_epsnormalize *__pyx_optional_args); /*proto*/
4164 static bool __pyx_f_9pywrapfst_equal(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_equal *__pyx_optional_args); /*proto*/
4165 static bool __pyx_f_9pywrapfst_equivalent(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_equivalent *__pyx_optional_args); /*proto*/
4166 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_intersect(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_intersect *__pyx_optional_args); /*proto*/
4167 static bool __pyx_f_9pywrapfst_isomorphic(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_isomorphic *__pyx_optional_args); /*proto*/
4168 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_prune(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_prune *__pyx_optional_args); /*proto*/
4169 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_push(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_push *__pyx_optional_args); /*proto*/
4170 static bool __pyx_f_9pywrapfst_randequivalent(struct __pyx_obj_9pywrapfst_Fst *, struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_randequivalent *__pyx_optional_args); /*proto*/
4171 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_randgen(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_randgen *__pyx_optional_args); /*proto*/
4172 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_replace(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_replace *__pyx_optional_args); /*proto*/
4173 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_reverse(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_reverse *__pyx_optional_args); /*proto*/
4174 static void __pyx_f_9pywrapfst__shortestdistance(struct __pyx_obj_9pywrapfst_Fst *, std::vector<fst::script::WeightClass> *, struct __pyx_opt_args_9pywrapfst__shortestdistance *__pyx_optional_args); /*proto*/
4175 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_shortestpath(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch, struct __pyx_opt_args_9pywrapfst_shortestpath *__pyx_optional_args); /*proto*/
4176 static struct __pyx_obj_9pywrapfst_Fst *__pyx_f_9pywrapfst_statemap(struct __pyx_obj_9pywrapfst_Fst *, PyObject *, int __pyx_skip_dispatch); /*proto*/
4177 static struct __pyx_obj_9pywrapfst_MutableFst *__pyx_f_9pywrapfst_synchronize(struct __pyx_obj_9pywrapfst_Fst *, int __pyx_skip_dispatch); /*proto*/
4178 static fst::FarType __pyx_f_9pywrapfst__get_far_type(std::string const &); /*proto*/
4179 static enum fst::ClosureType __pyx_f_9pywrapfst__get_closure_type(std::string const &); /*proto*/
4180 static enum fst::EpsNormalizeType __pyx_f_9pywrapfst__get_eps_norm_type(std::string const &); /*proto*/
4181 static fst::ProjectType __pyx_f_9pywrapfst__get_project_type(std::string const &); /*proto*/
4182 static enum fst::ReweightType __pyx_f_9pywrapfst__get_reweight_type(std::string const &); /*proto*/
4183 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst_compact_symbol_table(struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch); /*proto*/
4184 static struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_f_9pywrapfst_merge_symbol_table(struct __pyx_obj_9pywrapfst_SymbolTableView *, struct __pyx_obj_9pywrapfst_SymbolTableView *, int __pyx_skip_dispatch); /*proto*/
4185 static std::string __pyx_convert_string_from_py_6libcpp_6string_std__in_string(PyObject *); /*proto*/
4186 static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
4187 static CYTHON_INLINE PyObject *__pyx_convert_PyUnicode_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
4188 static CYTHON_INLINE PyObject *__pyx_convert_PyStr_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
4189 static CYTHON_INLINE PyObject *__pyx_convert_PyBytes_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
4190 static CYTHON_INLINE PyObject *__pyx_convert_PyByteArray_string_to_py_6libcpp_6string_std__in_string(std::string const &); /*proto*/
4191 static std::vector<int64_t> __pyx_convert_vector_from_py_int64_t(PyObject *); /*proto*/
4192 static std::vector<std::string> __pyx_convert_vector_from_py_std_3a__3a_string(PyObject *); /*proto*/
4193 /* #### Code section: typeinfo ### */
4194 /* #### Code section: before_global_var ### */
4195 #define __Pyx_MODULE_NAME "pywrapfst"
4196 extern int __pyx_module_is_main_pywrapfst;
4197 int __pyx_module_is_main_pywrapfst = 0;
4198 
4199 /* Implementation of "pywrapfst" */
4200 /* #### Code section: global_var ### */
4201 static PyObject *__pyx_builtin_ValueError;
4202 static PyObject *__pyx_builtin_IndexError;
4203 static PyObject *__pyx_builtin_IOError;
4204 static PyObject *__pyx_builtin_RuntimeError;
4205 static PyObject *__pyx_builtin_staticmethod;
4206 static PyObject *__pyx_builtin_TypeError;
4207 static PyObject *__pyx_builtin_id;
4208 static PyObject *__pyx_builtin_NotImplementedError;
4209 static PyObject *__pyx_builtin_StopIteration;
4210 static PyObject *__pyx_builtin_KeyError;
4211 /* #### Code section: string_decls ### */
4212 static const char __pyx_k_[] = ": ";
4213 static const char __pyx_k_a[] = "a";
4214 static const char __pyx_k_e[] = "e";
4215 static const char __pyx_k_g[] = "g";
4216 static const char __pyx_k_n[] = "n";
4217 static const char __pyx_k_w[] = "w";
4218 static const char __pyx_k_x[] = "x";
4219 static const char __pyx_k__2[] = "<";
4220 static const char __pyx_k__3[] = ">";
4221 static const char __pyx_k__4[] = "\t ";
4222 static const char __pyx_k__6[] = "";
4223 static const char __pyx_k_gc[] = "gc";
4224 static const char __pyx_k_id[] = "id";
4225 static const char __pyx_k_os[] = "os";
4226 static const char __pyx_k_Arc[] = "Arc";
4227 static const char __pyx_k_Fst[] = "Fst";
4228 static const char __pyx_k__40[] = "*";
4229 static const char __pyx_k_add[] = "add";
4230 static const char __pyx_k_arc[] = "arc";
4231 static const char __pyx_k_cls[] = "cls";
4232 static const char __pyx_k_doc[] = "__doc__";
4233 static const char __pyx_k_dot[] = "dot";
4234 static const char __pyx_k_key[] = "key";
4235 static const char __pyx_k_lhs[] = "lhs";
4236 static const char __pyx_k_one[] = "one";
4237 static const char __pyx_k_pos[] = "pos";
4238 static const char __pyx_k_raw[] = "_raw";
4239 static const char __pyx_k_rhs[] = "rhs";
4240 static const char __pyx_k_sep[] = "sep";
4241 static const char __pyx_k_sys[] = "sys";
4242 static const char __pyx_k_Flag[] = "Flag";
4243 static const char __pyx_k_PATH[] = "PATH";
4244 static const char __pyx_k_PIPE[] = "PIPE";
4245 static const char __pyx_k__316[] = "?";
4246 static const char __pyx_k_arcs[] = "arcs";
4247 static const char __pyx_k_args[] = "args";
4248 static const char __pyx_k_auto[] = "auto";
4249 static const char __pyx_k_copy[] = "copy";
4250 static const char __pyx_k_dict[] = "__dict__";
4251 static const char __pyx_k_done[] = "done";
4252 static const char __pyx_k_draw[] = "draw";
4253 static const char __pyx_k_enum[] = "enum";
4254 static const char __pyx_k_find[] = "find";
4255 static const char __pyx_k_fst2[] = "fst2";
4256 static const char __pyx_k_ifst[] = "ifst";
4257 static const char __pyx_k_iter[] = "__iter__";
4258 static const char __pyx_k_main[] = "__main__";
4259 static const char __pyx_k_mask[] = "mask";
4260 static const char __pyx_k_name[] = "__name__";
4261 static const char __pyx_k_next[] = "next";
4262 static const char __pyx_k_open[] = "open";
4263 static const char __pyx_k_plus[] = "plus";
4264 static const char __pyx_k_push[] = "push";
4265 static const char __pyx_k_read[] = "read";
4266 static const char __pyx_k_seed[] = "seed";
4267 static const char __pyx_k_seek[] = "seek";
4268 static const char __pyx_k_self[] = "self";
4269 static const char __pyx_k_send[] = "send";
4270 static const char __pyx_k_spec[] = "__spec__";
4271 static const char __pyx_k_star[] = "star";
4272 static const char __pyx_k_test[] = "test";
4273 static const char __pyx_k_tfar[] = "_tfar";
4274 static const char __pyx_k_type[] = "type";
4275 static const char __pyx_k_zero[] = "zero";
4276 static const char __pyx_k_ERROR[] = "ERROR";
4277 static const char __pyx_k_Popen[] = "Popen";
4278 static const char __pyx_k_at_0x[] = " at 0x";
4279 static const char __pyx_k_class[] = "__class__";
4280 static const char __pyx_k_close[] = "close";
4281 static const char __pyx_k_delta[] = "delta";
4282 static const char __pyx_k_equal[] = "equal";
4283 static const char __pyx_k_error[] = "error";
4284 static const char __pyx_k_final[] = "final";
4285 static const char __pyx_k_flags[] = "flags";
4286 static const char __pyx_k_fsts2[] = "fsts2";
4287 static const char __pyx_k_ifst1[] = "ifst1";
4288 static const char __pyx_k_ifst2[] = "ifst2";
4289 static const char __pyx_k_input[] = "input";
4290 static const char __pyx_k_items[] = "items";
4291 static const char __pyx_k_npath[] = "npath";
4292 static const char __pyx_k_pairs[] = "pairs";
4293 static const char __pyx_k_power[] = "power";
4294 static const char __pyx_k_print[] = "print";
4295 static const char __pyx_k_props[] = "props";
4296 static const char __pyx_k_prune[] = "prune";
4297 static const char __pyx_k_reset[] = "reset";
4298 static const char __pyx_k_sstrm[] = "_sstrm";
4299 static const char __pyx_k_start[] = "start";
4300 static const char __pyx_k_state[] = "state";
4301 static const char __pyx_k_stdin[] = "stdin";
4302 static const char __pyx_k_super[] = "super";
4303 static const char __pyx_k_throw[] = "throw";
4304 static const char __pyx_k_times[] = "times";
4305 static const char __pyx_k_title[] = "title";
4306 static const char __pyx_k_union[] = "union";
4307 static const char __pyx_k_value[] = "value";
4308 static const char __pyx_k_width[] = "width";
4309 static const char __pyx_k_write[] = "write";
4310 static const char __pyx_k_CYCLIC[] = "CYCLIC";
4311 static const char __pyx_k_Number[] = "Number";
4312 static const char __pyx_k_STRING[] = "STRING";
4313 static const char __pyx_k_Weight[] = " Weight ";
4314 static const char __pyx_k_arcmap[] = "arcmap";
4315 static const char __pyx_k_concat[] = "concat";
4316 static const char __pyx_k_create[] = "create";
4317 static const char __pyx_k_decode[] = "decode";
4318 static const char __pyx_k_divide[] = "divide";
4319 static const char __pyx_k_enable[] = "enable";
4320 static const char __pyx_k_encode[] = "encode";
4321 static const char __pyx_k_failed[] = " failed";
4322 static const char __pyx_k_fspath[] = "fspath";
4323 static const char __pyx_k_fst2_2[] = "_fst2";
4324 static const char __pyx_k_height[] = "height";
4325 static const char __pyx_k_ilabel[] = "ilabel";
4326 static const char __pyx_k_import[] = "__import__";
4327 static const char __pyx_k_invert[] = "invert";
4328 static const char __pyx_k_ipairs[] = "ipairs";
4329 static const char __pyx_k_mapper[] = "mapper";
4330 static const char __pyx_k_member[] = "member";
4331 static const char __pyx_k_module[] = "__module__";
4332 static const char __pyx_k_name_2[] = "name";
4333 static const char __pyx_k_nstate[] = "nstate";
4334 static const char __pyx_k_olabel[] = "olabel";
4335 static const char __pyx_k_opairs[] = "opairs";
4336 static const char __pyx_k_reader[] = "reader";
4337 static const char __pyx_k_reduce[] = "__reduce__";
4338 static const char __pyx_k_result[] = "result";
4339 static const char __pyx_k_select[] = "select";
4340 static const char __pyx_k_source[] = "source";
4341 static const char __pyx_k_states[] = "states";
4342 static const char __pyx_k_stdout[] = "stdout";
4343 static const char __pyx_k_symbol[] = "symbol";
4344 static const char __pyx_k_test_2[] = "__test__";
4345 static const char __pyx_k_typing[] = "typing";
4346 static const char __pyx_k_unique[] = "unique";
4347 static const char __pyx_k_vector[] = "vector";
4348 static const char __pyx_k_verify[] = "verify";
4349 static const char __pyx_k_weight[] = "weight";
4350 static const char __pyx_k_writer[] = "writer";
4351 static const char __pyx_k_ACYCLIC[] = "ACYCLIC";
4352 static const char __pyx_k_FarType[] = "FarType";
4353 static const char __pyx_k_IOError[] = "IOError";
4354 static const char __pyx_k_MUTABLE[] = "MUTABLE";
4355 static const char __pyx_k_add_arc[] = "add_arc";
4356 static const char __pyx_k_arcsort[] = "arcsort";
4357 static const char __pyx_k_class_2[] = "_class__";
4358 static const char __pyx_k_closure[] = "closure";
4359 static const char __pyx_k_compile[] = "compile";
4360 static const char __pyx_k_compose[] = "compose";
4361 static const char __pyx_k_connect[] = "connect";
4362 static const char __pyx_k_convert[] = "convert";
4363 static const char __pyx_k_default[] = "default";
4364 static const char __pyx_k_disable[] = "disable";
4365 static const char __pyx_k_fsts2_2[] = "_fsts2";
4366 static const char __pyx_k_get_fst[] = "get_fst";
4367 static const char __pyx_k_get_key[] = "get_key";
4368 static const char __pyx_k_logging[] = "logging";
4369 static const char __pyx_k_members[] = "__members__";
4370 static const char __pyx_k_neither[] = "neither";
4371 static const char __pyx_k_nodesep[] = "nodesep";
4372 static const char __pyx_k_numbers[] = "numbers";
4373 static const char __pyx_k_prepare[] = "__prepare__";
4374 static const char __pyx_k_project[] = "project";
4375 static const char __pyx_k_randgen[] = "randgen";
4376 static const char __pyx_k_ranksep[] = "ranksep";
4377 static const char __pyx_k_replace[] = "replace";
4378 static const char __pyx_k_reverse[] = "reverse";
4379 static const char __pyx_k_sources[] = "sources";
4380 static const char __pyx_k_symbols[] = "symbols";
4381 static const char __pyx_k_topsort[] = "topsort";
4382 static const char __pyx_k_uniform[] = "uniform";
4383 static const char __pyx_k_warning[] = "warning";
4384 static const char __pyx_k_ACCEPTOR[] = "ACCEPTOR";
4385 static const char __pyx_k_Arc_copy[] = "Arc.copy";
4386 static const char __pyx_k_Compiler[] = "Compiler";
4387 static const char __pyx_k_EPSILONS[] = "EPSILONS";
4388 static const char __pyx_k_EXPANDED[] = "EXPANDED";
4389 static const char __pyx_k_Expected[] = "Expected ";
4390 static const char __pyx_k_FstError[] = "FstError";
4391 static const char __pyx_k_Fst_arcs[] = "Fst.arcs";
4392 static const char __pyx_k_Fst_copy[] = "Fst.copy";
4393 static const char __pyx_k_Fst_draw[] = "Fst.draw";
4394 static const char __pyx_k_Fst_read[] = "Fst.read";
4395 static const char __pyx_k_KeyError[] = "KeyError";
4396 static const char __pyx_k_NO_LABEL[] = "NO_LABEL";
4397 static const char __pyx_k_SEMIRING[] = "SEMIRING";
4398 static const char __pyx_k_SortType[] = "SortType";
4399 static const char __pyx_k_WEIGHTED[] = "WEIGHTED";
4400 static const char __pyx_k_Weight_2[] = "Weight";
4401 static const char __pyx_k_acceptor[] = "acceptor";
4402 static const char __pyx_k_arc_type[] = "arc_type";
4403 static const char __pyx_k_checksum[] = "checksum";
4404 static const char __pyx_k_det_type[] = "det_type";
4405 static const char __pyx_k_distance[] = "_distance";
4406 static const char __pyx_k_far_type[] = "far_type";
4407 static const char __pyx_k_fontsize[] = "fontsize";
4408 static const char __pyx_k_fst_type[] = "fst_type";
4409 static const char __pyx_k_getstate[] = "__getstate__";
4410 static const char __pyx_k_identity[] = "identity";
4411 static const char __pyx_k_isymbols[] = "isymbols";
4412 static const char __pyx_k_map_type[] = "map_type";
4413 static const char __pyx_k_mapper_2[] = "_mapper";
4414 static const char __pyx_k_minimize[] = "minimize";
4415 static const char __pyx_k_new_name[] = "new_name";
4416 static const char __pyx_k_num_arcs[] = "num_arcs";
4417 static const char __pyx_k_osymbols[] = "osymbols";
4418 static const char __pyx_k_portrait[] = "portrait";
4419 static const char __pyx_k_position[] = "position";
4420 static const char __pyx_k_qualname[] = "__qualname__";
4421 static const char __pyx_k_read_Fst[] = "_read_Fst";
4422 static const char __pyx_k_read_fst[] = "read_fst";
4423 static const char __pyx_k_repr_svg[] = "_repr_svg_";
4424 static const char __pyx_k_reweight[] = "reweight";
4425 static const char __pyx_k_set_name[] = "set_name";
4426 static const char __pyx_k_setstate[] = "__setstate__";
4427 static const char __pyx_k_ssymbols[] = "ssymbols";
4428 static const char __pyx_k_standard[] = "standard";
4429 static const char __pyx_k_statemap[] = "statemap";
4430 static const char __pyx_k_tropical[] = "tropical";
4431 static const char __pyx_k_vertical[] = "vertical";
4432 static const char __pyx_k_weight_2[] = "_weight";
4433 static const char __pyx_k_weighted[] = "weighted";
4434 static const char __pyx_k_ARC_FLAGS[] = "ARC_FLAGS";
4435 static const char __pyx_k_Arc_at_0x[] = "<Arc at 0x";
4436 static const char __pyx_k_FarReader[] = "FarReader";
4437 static const char __pyx_k_FarWriter[] = "FarWriter";
4438 static const char __pyx_k_Fst_at_0x[] = " Fst at 0x";
4439 static const char __pyx_k_Fst_final[] = "Fst.final";
4440 static const char __pyx_k_Fst_print[] = "Fst.print";
4441 static const char __pyx_k_Fst_start[] = "Fst.start";
4442 static const char __pyx_k_Fst_write[] = "Fst.write";
4443 static const char __pyx_k_NO_SYMBOL[] = "NO_SYMBOL";
4444 static const char __pyx_k_QueueType[] = "QueueType";
4445 static const char __pyx_k_TypeError[] = "TypeError";
4446 static const char __pyx_k_VectorFst[] = "VectorFst";
4447 static const char __pyx_k_add_state[] = "add_state";
4448 static const char __pyx_k_add_table[] = "add_table";
4449 static const char __pyx_k_intersect[] = "intersect";
4450 static const char __pyx_k_isenabled[] = "isenabled";
4451 static const char __pyx_k_metaclass[] = "__metaclass__";
4452 static const char __pyx_k_nextstate[] = "nextstate";
4453 static const char __pyx_k_no_weight[] = "no_weight";
4454 static const char __pyx_k_nshortest[] = "nshortest";
4455 static const char __pyx_k_precision[] = "precision";
4456 static const char __pyx_k_pywrapfst[] = "<pywrapfst>";
4457 static const char __pyx_k_pyx_state[] = "__pyx_state";
4458 static const char __pyx_k_read_text[] = "read_text";
4459 static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
4460 static const char __pyx_k_rmepsilon[] = "rmepsilon";
4461 static const char __pyx_k_set_final[] = "set_final";
4462 static const char __pyx_k_set_flags[] = "set_flags";
4463 static const char __pyx_k_set_start[] = "set_start";
4464 static const char __pyx_k_set_value[] = "set_value";
4465 static const char __pyx_k_sort_type[] = "sort_type";
4466 static const char __pyx_k_sources_2[] = "_sources";
4467 static const char __pyx_k_symbols_2[] = "_symbols";
4468 static const char __pyx_k_to_string[] = "to_string";
4469 static const char __pyx_k_ACCESSIBLE[] = "ACCESSIBLE";
4470 static const char __pyx_k_ArcMapType[] = "ArcMapType";
4471 static const char __pyx_k_FstIOError[] = "FstIOError";
4472 static const char __pyx_k_FstOpError[] = "FstOpError";
4473 static const char __pyx_k_Fst_states[] = "Fst.states";
4474 static const char __pyx_k_Fst_verify[] = "Fst.verify";
4475 static const char __pyx_k_IDEMPOTENT[] = "IDEMPOTENT";
4476 static const char __pyx_k_I_EPSILONS[] = "I_EPSILONS";
4477 static const char __pyx_k_IndexError[] = "IndexError";
4478 static const char __pyx_k_MutableFst[] = "MutableFst";
4479 static const char __pyx_k_NOT_STRING[] = "NOT_STRING";
4480 static const char __pyx_k_O_EPSILONS[] = "O_EPSILONS";
4481 static const char __pyx_k_TOP_SORTED[] = "TOP_SORTED";
4482 static const char __pyx_k_Tsvg_cairo[] = "-Tsvg:cairo";
4483 static const char __pyx_k_UNWEIGHTED[] = "UNWEIGHTED";
4484 static const char __pyx_k_ValueError[] = "ValueError";
4485 static const char __pyx_k_WeightLike[] = "WeightLike";
4486 static const char __pyx_k_Weight_one[] = "Weight.one";
4487 static const char __pyx_k_add_states[] = "add_states";
4488 static const char __pyx_k_add_symbol[] = "add_symbol";
4489 static const char __pyx_k_difference[] = "difference";
4490 static const char __pyx_k_equivalent[] = "equivalent";
4491 static const char __pyx_k_expression[] = "expression";
4492 static const char __pyx_k_functional[] = "functional";
4493 static const char __pyx_k_isomorphic[] = "isomorphic";
4494 static const char __pyx_k_max_length[] = "max_length";
4495 static const char __pyx_k_num_states[] = "num_states";
4496 static const char __pyx_k_potentials[] = "potentials";
4497 static const char __pyx_k_properties[] = "properties";
4498 static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
4499 static const char __pyx_k_queue_type[] = "queue_type";
4500 static const char __pyx_k_set_name_2[] = "__set_name__";
4501 static const char __pyx_k_subprocess[] = "subprocess";
4502 static const char __pyx_k_to_initial[] = "to_initial";
4503 static const char __pyx_k_write_text[] = "write_text";
4504 static const char __pyx_k_ArcIterator[] = "_ArcIterator";
4505 static const char __pyx_k_COMMUTATIVE[] = "COMMUTATIVE";
4506 static const char __pyx_k_ClosureType[] = "ClosureType";
4507 static const char __pyx_k_FstArgError[] = "FstArgError";
4508 static const char __pyx_k_NO_EPSILONS[] = "NO_EPSILONS";
4509 static const char __pyx_k_NO_STATE_ID[] = "NO_STATE_ID";
4510 static const char __pyx_k_Open_failed[] = "Open failed: ";
4511 static const char __pyx_k_ProjectType[] = "ProjectType";
4512 static const char __pyx_k_Read_failed[] = "Read failed: ";
4513 static const char __pyx_k_SymbolTable[] = "<SymbolTable ";
4514 static const char __pyx_k_Weight_copy[] = "Weight.copy";
4515 static const char __pyx_k_Weight_type[] = "Weight.type";
4516 static const char __pyx_k_Weight_zero[] = "Weight.zero";
4517 static const char __pyx_k_communicate[] = "communicate";
4518 static const char __pyx_k_delete_arcs[] = "delete_arcs";
4519 static const char __pyx_k_determinize[] = "determinize";
4520 static const char __pyx_k_get_nth_key[] = "get_nth_key";
4521 static const char __pyx_k_input_table[] = "input_table";
4522 static const char __pyx_k_missing_sym[] = "missing_sym";
4523 static const char __pyx_k_mro_entries[] = "__mro_entries__";
4524 static const char __pyx_k_num_symbols[] = "num_symbols";
4525 static const char __pyx_k_push_labels[] = "push_labels";
4526 static const char __pyx_k_pywrapfst_2[] = "pywrapfst";
4527 static const char __pyx_k_synchronize[] = "synchronize";
4528 static const char __pyx_k_unspecified[] = "<unspecified>";
4529 static const char __pyx_k_weight_type[] = "weight_type";
4530 static const char __pyx_k_ARC_NO_CACHE[] = "ARC_NO_CACHE";
4531 static const char __pyx_k_COACCESSIBLE[] = "COACCESSIBLE";
4532 static const char __pyx_k_ENCODE_FLAGS[] = "ENCODE_FLAGS";
4533 static const char __pyx_k_EncodeMapper[] = "EncodeMapper";
4534 static const char __pyx_k_Fst___reduce[] = "Fst.__reduce__";
4535 static const char __pyx_k_Fst_arc_type[] = "Fst.arc_type";
4536 static const char __pyx_k_Fst_fst_type[] = "Fst.fst_type";
4537 static const char __pyx_k_Fst_num_arcs[] = "Fst.num_arcs";
4538 static const char __pyx_k_NOT_ACCEPTOR[] = "NOT_ACCEPTOR";
4539 static const char __pyx_k_ReweightType[] = "ReweightType";
4540 static const char __pyx_k_RuntimeError[] = "RuntimeError";
4541 static const char __pyx_k_StateMapType[] = "StateMapType";
4542 static const char __pyx_k_Write_failed[] = "Write failed: ";
4543 static const char __pyx_k_allow_nondet[] = "allow_nondet";
4544 static const char __pyx_k_but_received[] = " but received ";
4545 static const char __pyx_k_closure_type[] = "closure_type";
4546 static const char __pyx_k_disambiguate[] = "disambiguate";
4547 static const char __pyx_k_epsnormalize[] = "epsnormalize";
4548 static const char __pyx_k_float_format[] = "float_format";
4549 static const char __pyx_k_initializing[] = "_initializing";
4550 static const char __pyx_k_is_coroutine[] = "_is_coroutine";
4551 static const char __pyx_k_mutable_arcs[] = "mutable_arcs";
4552 static const char __pyx_k_new_isymbols[] = "new_isymbols";
4553 static const char __pyx_k_new_osymbols[] = "new_osymbols";
4554 static const char __pyx_k_old_isymbols[] = "old_isymbols";
4555 static const char __pyx_k_old_osymbols[] = "old_osymbols";
4556 static const char __pyx_k_project_type[] = "project_type";
4557 static const char __pyx_k_push_weights[] = "push_weights";
4558 static const char __pyx_k_reserve_arcs[] = "reserve_arcs";
4559 static const char __pyx_k_return_label[] = "return_label";
4560 static const char __pyx_k_shortestpath[] = "shortestpath";
4561 static const char __pyx_k_staticmethod[] = "staticmethod";
4562 static const char __pyx_k_stringsource[] = "<stringsource>";
4563 static const char __pyx_k_ComposeFilter[] = "ComposeFilter";
4564 static const char __pyx_k_Conversion_to[] = "Conversion to ";
4565 static const char __pyx_k_ENCODE_LABELS[] = "ENCODE_LABELS";
4566 static const char __pyx_k_FarWriter_add[] = "FarWriter.add";
4567 static const char __pyx_k_FstIndexError[] = "FstIndexError";
4568 static const char __pyx_k_FstProperties[] = "FstProperties";
4569 static const char __pyx_k_Fst__repr_svg[] = "Fst._repr_svg_";
4570 static const char __pyx_k_LEFT_SEMIRING[] = "LEFT_SEMIRING";
4571 static const char __pyx_k_NO_I_EPSILONS[] = "NO_I_EPSILONS";
4572 static const char __pyx_k_NO_O_EPSILONS[] = "NO_O_EPSILONS";
4573 static const char __pyx_k_StateIterator[] = "_StateIterator";
4574 static const char __pyx_k_StopIteration[] = "StopIteration";
4575 static const char __pyx_k_SymbolTable_2[] = "SymbolTable";
4576 static const char __pyx_k_Weight_member[] = "Weight.member";
4577 static const char __pyx_k_available_key[] = "available_key";
4578 static const char __pyx_k_delete_states[] = "delete_states";
4579 static const char __pyx_k_encode_labels[] = "encode_labels";
4580 static const char __pyx_k_eps_norm_type[] = "eps_norm_type";
4581 static const char __pyx_k_init_subclass[] = "__init_subclass__";
4582 static const char __pyx_k_input_symbols[] = "input_symbols";
4583 static const char __pyx_k_keep_isymbols[] = "keep_isymbols";
4584 static const char __pyx_k_keep_osymbols[] = "keep_osymbols";
4585 static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
4586 static const char __pyx_k_relabel_pairs[] = "relabel_pairs";
4587 static const char __pyx_k_reweight_type[] = "reweight_type";
4588 static const char __pyx_k_Compiler_write[] = "Compiler.write";
4589 static const char __pyx_k_ENCODE_WEIGHTS[] = "ENCODE_WEIGHTS";
4590 static const char __pyx_k_FST_PROPERTIES[] = "FST_PROPERTIES";
4591 static const char __pyx_k_FarReader_done[] = "FarReader.done";
4592 static const char __pyx_k_FarReader_find[] = "FarReader.find";
4593 static const char __pyx_k_FarReader_next[] = "FarReader.next";
4594 static const char __pyx_k_FarReader_open[] = "FarReader.open";
4595 static const char __pyx_k_Fst_properties[] = "Fst.properties";
4596 static const char __pyx_k_INITIAL_CYCLIC[] = "INITIAL_CYCLIC";
4597 static const char __pyx_k_I_LABEL_SORTED[] = "I_LABEL_SORTED";
4598 static const char __pyx_k_Invalid_weight[] = "Invalid weight";
4599 static const char __pyx_k_NOT_ACCESSIBLE[] = "NOT_ACCESSIBLE";
4600 static const char __pyx_k_NOT_TOP_SORTED[] = "NOT_TOP_SORTED";
4601 static const char __pyx_k_O_LABEL_SORTED[] = "O_LABEL_SORTED";
4602 static const char __pyx_k_RIGHT_SEMIRING[] = "RIGHT_SEMIRING";
4603 static const char __pyx_k_compose_filter[] = "compose_filter";
4604 static const char __pyx_k_encode_weights[] = "encode_weights";
4605 static const char __pyx_k_output_symbols[] = "output_symbols";
4606 static const char __pyx_k_randequivalent[] = "randequivalent";
4607 static const char __pyx_k_relabel_tables[] = "relabel_tables";
4608 static const char __pyx_k_reserve_states[] = "reserve_states";
4609 static const char __pyx_k_set_properties[] = "set_properties";
4610 static const char __pyx_k_ARC_VALUE_FLAGS[] = "ARC_VALUE_FLAGS";
4611 static const char __pyx_k_COPY_PROPERTIES[] = "COPY_PROPERTIES";
4612 static const char __pyx_k_DeterminizeType[] = "DeterminizeType";
4613 static const char __pyx_k_DrawFloatFormat[] = "DrawFloatFormat";
4614 static const char __pyx_k_FarReader_at_0x[] = " FarReader at 0x";
4615 static const char __pyx_k_FarReader_error[] = "FarReader.error";
4616 static const char __pyx_k_FarReader_reset[] = "FarReader.reset";
4617 static const char __pyx_k_FarWriter_at_0x[] = " FarWriter at 0x";
4618 static const char __pyx_k_FarWriter_error[] = "FarWriter.error";
4619 static const char __pyx_k_Fst_weight_type[] = "Fst.weight_type";
4620 static const char __pyx_k_INITIAL_ACYCLIC[] = "INITIAL_ACYCLIC";
4621 static const char __pyx_k_I_DETERMINISTIC[] = "I_DETERMINISTIC";
4622 static const char __pyx_k_MutableFst_push[] = "MutableFst.push";
4623 static const char __pyx_k_NULL_PROPERTIES[] = "NULL_PROPERTIES";
4624 static const char __pyx_k_O_DETERMINISTIC[] = "O_DETERMINISTIC";
4625 static const char __pyx_k_SymbolTableView[] = "SymbolTableView";
4626 static const char __pyx_k_WEIGHTED_CYCLES[] = "WEIGHTED_CYCLES";
4627 static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
4628 static const char __pyx_k_show_weight_one[] = "show_weight_one";
4629 static const char __pyx_k_unknown_isymbol[] = "unknown_isymbol";
4630 static const char __pyx_k_unknown_osymbol[] = "unknown_osymbol";
4631 static const char __pyx_k_write_to_string[] = "write_to_string";
4632 static const char __pyx_k_ARC_WEIGHT_VALUE[] = "ARC_WEIGHT_VALUE";
4633 static const char __pyx_k_ArcIteratorFlags[] = "ArcIteratorFlags";
4634 static const char __pyx_k_ArcIterator_done[] = "_ArcIterator.done";
4635 static const char __pyx_k_ArcIterator_next[] = "_ArcIterator.next";
4636 static const char __pyx_k_ArcIterator_seek[] = "_ArcIterator.seek";
4637 static const char __pyx_k_Cannot_construct[] = "Cannot construct ";
4638 static const char __pyx_k_Compiler_compile[] = "Compiler.compile";
4639 static const char __pyx_k_EpsNormalizeType[] = "EpsNormalizeType";
4640 static const char __pyx_k_FarWriter_create[] = "FarWriter.create";
4641 static const char __pyx_k_MutableFst_prune[] = "MutableFst.prune";
4642 static const char __pyx_k_MutableFst_union[] = "MutableFst.union";
4643 static const char __pyx_k_NOT_COACCESSIBLE[] = "NOT_COACCESSIBLE";
4644 static const char __pyx_k_Operation_failed[] = "Operation failed";
4645 static const char __pyx_k_RandArcSelection[] = "RandArcSelection";
4646 static const char __pyx_k_ReplaceLabelType[] = "ReplaceLabelType";
4647 static const char __pyx_k_SymbolTable_read[] = "SymbolTable.read";
4648 static const char __pyx_k_Unknown_FAR_type[] = "Unknown FAR type: ";
4649 static const char __pyx_k_Unknown_arc_type[] = "Unknown arc type: ";
4650 static const char __pyx_k_Unknown_map_type[] = "Unknown map type: ";
4651 static const char __pyx_k_WeightProperties[] = "WeightProperties";
4652 static const char __pyx_k_Weight_no_weight[] = "Weight.no_weight";
4653 static const char __pyx_k_Weight_to_string[] = "Weight.to_string";
4654 static const char __pyx_k_labeled_checksum[] = "labeled_checksum";
4655 static const char __pyx_k_read_from_string[] = "read_from_string";
4656 static const char __pyx_k_shortestdistance[] = "shortestdistance";
4657 static const char __pyx_k_ARC_I_LABEL_VALUE[] = "ARC_I_LABEL_VALUE";
4658 static const char __pyx_k_ARC_O_LABEL_VALUE[] = "ARC_O_LABEL_VALUE";
4659 static const char __pyx_k_ArcIterator_at_0x[] = "<_ArcIterator at 0x";
4660 static const char __pyx_k_ArcIterator_flags[] = "_ArcIterator.flags";
4661 static const char __pyx_k_ArcIterator_reset[] = "_ArcIterator.reset";
4662 static const char __pyx_k_ArcIterator_value[] = "_ArcIterator.value";
4663 static const char __pyx_k_BINARY_PROPERTIES[] = "BINARY_PROPERTIES";
4664 static const char __pyx_k_EncodeMapperFlags[] = "EncodeMapperFlags";
4665 static const char __pyx_k_EncodeMapper_read[] = "EncodeMapper.read";
4666 static const char __pyx_k_FarReader_get_fst[] = "FarReader.get_fst";
4667 static const char __pyx_k_FarReader_get_key[] = "FarReader.get_key";
4668 static const char __pyx_k_FstBadWeightError[] = "FstBadWeightError";
4669 static const char __pyx_k_Fst_input_symbols[] = "Fst.input_symbols";
4670 static const char __pyx_k_Literal_star_plus[] = "Literal[\"star\", \"plus\"]";
4671 static const char __pyx_k_MutableFst_concat[] = "MutableFst.concat";
4672 static const char __pyx_k_MutableFst_decode[] = "MutableFst.decode";
4673 static const char __pyx_k_MutableFst_encode[] = "MutableFst.encode";
4674 static const char __pyx_k_MutableFst_invert[] = "MutableFst.invert";
4675 static const char __pyx_k_UNWEIGHTED_CYCLES[] = "UNWEIGHTED_CYCLES";
4676 static const char __pyx_k_Unknown_sort_type[] = "Unknown sort type: ";
4677 static const char __pyx_k_Weight_properties[] = "Weight.properties";
4678 static const char __pyx_k_call_arc_labeling[] = "call_arc_labeling";
4679 static const char __pyx_k_set_input_symbols[] = "set_input_symbols";
4680 static const char __pyx_k_ADD_ARC_PROPERTIES[] = "ADD_ARC_PROPERTIES";
4681 static const char __pyx_k_Compilation_failed[] = "Compilation failed";
4682 static const char __pyx_k_EncodeMapper_at_0x[] = "<EncodeMapper at 0x";
4683 static const char __pyx_k_EncodeMapper_flags[] = "EncodeMapper.flags";
4684 static const char __pyx_k_EncodeMapper_write[] = "EncodeMapper.write";
4685 static const char __pyx_k_FarReader_arc_type[] = "FarReader.arc_type";
4686 static const char __pyx_k_FarReader_far_type[] = "FarReader.far_type";
4687 static const char __pyx_k_FarWriter_arc_type[] = "FarWriter.arc_type";
4688 static const char __pyx_k_FarWriter_far_type[] = "FarWriter.far_type";
4689 static const char __pyx_k_FstSymbolTableView[] = "_FstSymbolTableView";
4690 static const char __pyx_k_Fst_output_symbols[] = "Fst.output_symbols";
4691 static const char __pyx_k_MutableArcIterator[] = "_MutableArcIterator";
4692 static const char __pyx_k_MutableFst_add_arc[] = "MutableFst.add_arc";
4693 static const char __pyx_k_MutableFst_arcsort[] = "MutableFst.arcsort";
4694 static const char __pyx_k_MutableFst_closure[] = "MutableFst.closure";
4695 static const char __pyx_k_MutableFst_connect[] = "MutableFst.connect";
4696 static const char __pyx_k_MutableFst_project[] = "MutableFst.project";
4697 static const char __pyx_k_MutableFst_topsort[] = "MutableFst.topsort";
4698 static const char __pyx_k_MutableSymbolTable[] = "_MutableSymbolTable";
4699 static const char __pyx_k_NOT_I_LABEL_SORTED[] = "NOT_I_LABEL_SORTED";
4700 static const char __pyx_k_NOT_O_LABEL_SORTED[] = "NOT_O_LABEL_SORTED";
4701 static const char __pyx_k_SET_ARC_PROPERTIES[] = "SET_ARC_PROPERTIES";
4702 static const char __pyx_k_StateIterator_done[] = "_StateIterator.done";
4703 static const char __pyx_k_StateIterator_next[] = "_StateIterator.next";
4704 static const char __pyx_k_TRINARY_PROPERTIES[] = "TRINARY_PROPERTIES";
4705 static const char __pyx_k_Unknown_queue_type[] = "Unknown queue type: ";
4706 static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
4707 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
4708 static const char __pyx_k_epsilon_on_replace[] = "epsilon_on_replace";
4709 static const char __pyx_k_merge_symbol_table[] = "merge_symbol_table";
4710 static const char __pyx_k_num_input_epsilons[] = "num_input_epsilons";
4711 static const char __pyx_k_set_output_symbols[] = "set_output_symbols";
4712 static const char __pyx_k_ARC_SORT_PROPERTIES[] = "ARC_SORT_PROPERTIES";
4713 static const char __pyx_k_Arc___reduce_cython[] = "Arc.__reduce_cython__";
4714 static const char __pyx_k_Fst_SymbolTableView[] = "<Fst SymbolTableView ";
4715 static const char __pyx_k_Fst_write_to_string[] = "Fst.write_to_string";
4716 static const char __pyx_k_MutableFst_minimize[] = "MutableFst.minimize";
4717 static const char __pyx_k_MutableFst_reweight[] = "MutableFst.reweight";
4718 static const char __pyx_k_NON_I_DETERMINISTIC[] = "NON_I_DETERMINISTIC";
4719 static const char __pyx_k_NON_O_DETERMINISTIC[] = "NON_O_DETERMINISTIC";
4720 static const char __pyx_k_NotImplementedError[] = "NotImplementedError";
4721 static const char __pyx_k_StateIterator_at_0x[] = "<_StateIterator at 0x";
4722 static const char __pyx_k_StateIterator_reset[] = "_StateIterator.reset";
4723 static const char __pyx_k_StateIterator_value[] = "_StateIterator.value";
4724 static const char __pyx_k_SymbolTableIterator[] = "_SymbolTableIterator";
4725 static const char __pyx_k_attach_new_isymbols[] = "attach_new_isymbols";
4726 static const char __pyx_k_attach_new_osymbols[] = "attach_new_osymbols";
4727 static const char __pyx_k_num_output_epsilons[] = "num_output_epsilons";
4728 static const char __pyx_k_num_states_if_known[] = "num_states_if_known";
4729 static const char __pyx_k_remove_common_affix[] = "remove_common_affix";
4730 static const char __pyx_k_remove_total_weight[] = "remove_total_weight";
4731 static const char __pyx_k_return_arc_labeling[] = "return_arc_labeling";
4732 static const char __pyx_k_subsequential_label[] = "subsequential_label";
4733 static const char __pyx_k_ADD_STATE_PROPERTIES[] = "ADD_STATE_PROPERTIES";
4734 static const char __pyx_k_ARC_NEXT_STATE_VALUE[] = "ARC_NEXT_STATE_VALUE";
4735 static const char __pyx_k_ArcIterator_position[] = "_ArcIterator.position";
4736 static const char __pyx_k_EXTRINSIC_PROPERTIES[] = "EXTRINSIC_PROPERTIES";
4737 static const char __pyx_k_Fst_read_from_string[] = "Fst.read_from_string";
4738 static const char __pyx_k_INTRINSIC_PROPERTIES[] = "INTRINSIC_PROPERTIES";
4739 static const char __pyx_k_MutableFst_add_state[] = "MutableFst.add_state";
4740 static const char __pyx_k_MutableFst_rmepsilon[] = "MutableFst.rmepsilon";
4741 static const char __pyx_k_MutableFst_set_final[] = "MutableFst.set_final";
4742 static const char __pyx_k_MutableFst_set_start[] = "MutableFst.set_start";
4743 static const char __pyx_k_Read_from_FST_failed[] = "Read from FST failed: ";
4744 static const char __pyx_k_SET_FINAL_PROPERTIES[] = "SET_FINAL_PROPERTIES";
4745 static const char __pyx_k_SET_START_PROPERTIES[] = "SET_START_PROPERTIES";
4746 static const char __pyx_k_SymbolTableView_copy[] = "SymbolTableView.copy";
4747 static const char __pyx_k_SymbolTableView_find[] = "SymbolTableView.find";
4748 static const char __pyx_k_SymbolTableView_name[] = "SymbolTableView.name";
4749 static const char __pyx_k_SymbolTable_read_fst[] = "SymbolTable.read_fst";
4750 static const char __pyx_k_compact_symbol_table[] = "compact_symbol_table";
4751 static const char __pyx_k_keep_state_numbering[] = "keep_state_numbering";
4752 static const char __pyx_k_read_Fst_from_string[] = "_read_Fst_from_string";
4753 static const char __pyx_k_require_superinitial[] = "require_superinitial";
4754 static const char __pyx_k_typing_Literal_e_f_g[] = "typing.Literal[\"e\", \"f\", \"g\"]";
4755 static const char __pyx_k_ArcIterator_set_flags[] = "_ArcIterator.set_flags";
4756 static const char __pyx_k_Arc___setstate_cython[] = "Arc.__setstate_cython__";
4757 static const char __pyx_k_DELETE_ARC_PROPERTIES[] = "DELETE_ARC_PROPERTIES";
4758 static const char __pyx_k_EncodeMapper___reduce[] = "EncodeMapper.__reduce__";
4759 static const char __pyx_k_EncodeMapper_arc_type[] = "EncodeMapper.arc_type";
4760 static const char __pyx_k_MutableFst_add_states[] = "MutableFst.add_states";
4761 static const char __pyx_k_MutableFst_num_states[] = "MutableFst.num_states";
4762 static const char __pyx_k_STATE_SORT_PROPERTIES[] = "STATE_SORT_PROPERTIES";
4763 static const char __pyx_k_SymbolTableView_write[] = "SymbolTableView.write";
4764 static const char __pyx_k_SymbolTable_read_text[] = "SymbolTable.read_text";
4765 static const char __pyx_k_Unknown_reweight_type[] = "Unknown reweight type: ";
4766 static const char __pyx_k_Weight_type_not_found[] = "Weight type not found";
4767 static const char __pyx_k_mutable_input_symbols[] = "mutable_input_symbols";
4768 static const char __pyx_k_Dot_rendering_failed_s[] = "Dot rendering failed: %s";
4769 static const char __pyx_k_Fst_num_input_epsilons[] = "Fst.num_input_epsilons";
4770 static const char __pyx_k_MutableFst_delete_arcs[] = "MutableFst.delete_arcs";
4771 static const char __pyx_k_NEG_TRINARY_PROPERTIES[] = "NEG_TRINARY_PROPERTIES";
4772 static const char __pyx_k_POS_TRINARY_PROPERTIES[] = "POS_TRINARY_PROPERTIES";
4773 static const char __pyx_k_SymbolTableView_member[] = "SymbolTableView.member";
4774 static const char __pyx_k_Weight___reduce_cython[] = "Weight.__reduce_cython__";
4775 static const char __pyx_k_Write_to_string_failed[] = "Write to string failed";
4776 static const char __pyx_k_mutable_output_symbols[] = "mutable_output_symbols";
4777 static const char __pyx_k_DELETE_STATE_PROPERTIES[] = "DELETE_STATE_PROPERTIES";
4778 static const char __pyx_k_EncodeMapper_properties[] = "EncodeMapper.properties";
4779 static const char __pyx_k_Fst_num_output_epsilons[] = "Fst.num_output_epsilons";
4780 static const char __pyx_k_Fst_num_states_if_known[] = "Fst.num_states_if_known";
4781 static const char __pyx_k_MutableArcIterator_done[] = "_MutableArcIterator.done";
4782 static const char __pyx_k_MutableArcIterator_next[] = "_MutableArcIterator.next";
4783 static const char __pyx_k_MutableArcIterator_seek[] = "_MutableArcIterator.seek";
4784 static const char __pyx_k_MutableFst_mutable_arcs[] = "MutableFst.mutable_arcs";
4785 static const char __pyx_k_MutableFst_reserve_arcs[] = "MutableFst.reserve_arcs";
4786 static const char __pyx_k_Read_from_string_failed[] = "Read from string failed";
4787 static const char __pyx_k_Unknown_projection_type[] = "Unknown projection type: ";
4788 static const char __pyx_k_Compiler___reduce_cython[] = "Compiler.__reduce_cython__";
4789 static const char __pyx_k_EncodeMapper_weight_type[] = "EncodeMapper.weight_type";
4790 static const char __pyx_k_MutableArcIterator_at_0x[] = "<_MutableArcIterator at 0x";
4791 static const char __pyx_k_MutableArcIterator_flags[] = "_MutableArcIterator.flags";
4792 static const char __pyx_k_MutableArcIterator_reset[] = "_MutableArcIterator.reset";
4793 static const char __pyx_k_MutableArcIterator_value[] = "_MutableArcIterator.value";
4794 static const char __pyx_k_MutableFst_delete_states[] = "MutableFst.delete_states";
4795 static const char __pyx_k_MutableFst_relabel_pairs[] = "MutableFst.relabel_pairs";
4796 static const char __pyx_k_RM_SUPERFINAL_PROPERTIES[] = "RM_SUPERFINAL_PROPERTIES";
4797 static const char __pyx_k_State_index_out_of_range[] = "State index out of range";
4798 static const char __pyx_k_SymbolTableView___reduce[] = "SymbolTableView.__reduce__";
4799 static const char __pyx_k_SymbolTableView_checksum[] = "SymbolTableView.checksum";
4800 static const char __pyx_k_Weight___setstate_cython[] = "Weight.__setstate_cython__";
4801 static const char __pyx_k_ADD_SUPERFINAL_PROPERTIES[] = "ADD_SUPERFINAL_PROPERTIES";
4802 static const char __pyx_k_Cannot_topsort_cyclic_FST[] = "Cannot topsort cyclic FST";
4803 static const char __pyx_k_FarReader___reduce_cython[] = "FarReader.__reduce_cython__";
4804 static const char __pyx_k_FarWriter___reduce_cython[] = "FarWriter.__reduce_cython__";
4805 static const char __pyx_k_MutableArcIterator___iter[] = "_MutableArcIterator.__iter__";
4806 static const char __pyx_k_MutableFstSymbolTableView[] = "_MutableFstSymbolTableView";
4807 static const char __pyx_k_MutableFst_relabel_tables[] = "MutableFst.relabel_tables";
4808 static const char __pyx_k_MutableFst_reserve_states[] = "MutableFst.reserve_states";
4809 static const char __pyx_k_MutableFst_set_properties[] = "MutableFst.set_properties";
4810 static const char __pyx_k_SymbolTableIterator_at_0x[] = "<_SymbolTableIterator at 0x";
4811 static const char __pyx_k_const_Fst_SymbolTableView[] = "<const Fst SymbolTableView ";
4812 static const char __pyx_k_Compiler___setstate_cython[] = "Compiler.__setstate_cython__";
4813 static const char __pyx_k_EncodeMapper_input_symbols[] = "EncodeMapper.input_symbols";
4814 static const char __pyx_k_SymbolTableView_write_text[] = "SymbolTableView.write_text";
4815 static const char __pyx_k_Unknown_replace_label_type[] = "Unknown replace label type: ";
4816 static const char __pyx_k_ArcIterator___reduce_cython[] = "_ArcIterator.__reduce_cython__";
4817 static const char __pyx_k_EncodeMapperSymbolTableView[] = "_EncodeMapperSymbolTableView";
4818 static const char __pyx_k_EncodeMapper_output_symbols[] = "EncodeMapper.output_symbols";
4819 static const char __pyx_k_FarReader___setstate_cython[] = "FarReader.__setstate_cython__";
4820 static const char __pyx_k_FarWriter___setstate_cython[] = "FarWriter.__setstate_cython__";
4821 static const char __pyx_k_MutableArcIterator_position[] = "_MutableArcIterator.position";
4822 static const char __pyx_k_MutableSymbolTable_set_name[] = "_MutableSymbolTable.set_name";
4823 static const char __pyx_k_SymbolTableView_get_nth_key[] = "SymbolTableView.get_nth_key";
4824 static const char __pyx_k_SymbolTableView_num_symbols[] = "SymbolTableView.num_symbols";
4825 static const char __pyx_k_Unknown_compose_filter_type[] = "Unknown compose filter type: ";
4826 static const char __pyx_k_WEIGHT_INVARIANT_PROPERTIES[] = "WEIGHT_INVARIANT_PROPERTIES";
4827 static const char __pyx_k_typing_Literal_input_output[] = "typing.Literal[\"input\", \"output\"]";
4828 static const char __pyx_k_EncodeMapper_write_to_string[] = "EncodeMapper.write_to_string";
4829 static const char __pyx_k_I_LABEL_INVARIANT_PROPERTIES[] = "I_LABEL_INVARIANT_PROPERTIES";
4830 static const char __pyx_k_MutableArcIterator_set_flags[] = "_MutableArcIterator.set_flags";
4831 static const char __pyx_k_MutableArcIterator_set_value[] = "_MutableArcIterator.set_value";
4832 static const char __pyx_k_MutableFst_set_input_symbols[] = "MutableFst.set_input_symbols";
4833 static const char __pyx_k_MutableSymbolTable_add_table[] = "_MutableSymbolTable.add_table";
4834 static const char __pyx_k_O_LABEL_INVARIANT_PROPERTIES[] = "O_LABEL_INVARIANT_PROPERTIES";
4835 static const char __pyx_k_SymbolTable_no_longer_exists[] = "SymbolTable no longer exists";
4836 static const char __pyx_k_Unknown_determinization_type[] = "Unknown determinization type: ";
4837 static const char __pyx_k_read_SymbolTable_from_string[] = "_read_SymbolTable_from_string";
4838 static const char __pyx_k_typing_Literal_ilabel_olabel[] = "typing.Literal[\"ilabel\", \"olabel\"]";
4839 static const char __pyx_k_ArcIterator___setstate_cython[] = "_ArcIterator.__setstate_cython__";
4840 static const char __pyx_k_EncodeMapper_read_from_string[] = "EncodeMapper.read_from_string";
4841 static const char __pyx_k_MutableFst_set_output_symbols[] = "MutableFst.set_output_symbols";
4842 static const char __pyx_k_MutableSymbolTable_add_symbol[] = "_MutableSymbolTable.add_symbol";
4843 static const char __pyx_k_No_new_SymbolTables_specified[] = "No new SymbolTables specified";
4844 static const char __pyx_k_No_relabeling_pairs_specified[] = "No relabeling pairs specified";
4845 static const char __pyx_k_StateIterator___reduce_cython[] = "_StateIterator.__reduce_cython__";
4846 static const char __pyx_k_SymbolTableView_available_key[] = "SymbolTableView.available_key";
4847 static const char __pyx_k_increment_subsequential_label[] = "increment_subsequential_label";
4848 static const char __pyx_k_read_EncodeMapper_from_string[] = "_read_EncodeMapper_from_string";
4849 static const char __pyx_k_EncodeMapper_set_input_symbols[] = "EncodeMapper.set_input_symbols";
4850 static const char __pyx_k_Incompatible_or_invalid_weight[] = "Incompatible or invalid weight";
4851 static const char __pyx_k_SymbolTableIterator___setstate[] = "_SymbolTableIterator.__setstate_cython__";
4852 static const char __pyx_k_Can_t_set_value_on_an_exhausted[] = "Can't set value on an exhausted iterator";
4853 static const char __pyx_k_EncodeMapper_set_output_symbols[] = "EncodeMapper.set_output_symbols";
4854 static const char __pyx_k_MutableArcIterator___reduce_cyt[] = "_MutableArcIterator.__reduce_cython__";
4855 static const char __pyx_k_MutableArcIterator___setstate_c[] = "_MutableArcIterator.__setstate_cython__";
4856 static const char __pyx_k_StateIterator___setstate_cython[] = "_StateIterator.__setstate_cython__";
4857 static const char __pyx_k_SymbolTableIterator___reduce_cy[] = "_SymbolTableIterator.__reduce_cython__";
4858 static const char __pyx_k_SymbolTableView_write_to_string[] = "SymbolTableView.write_to_string";
4859 static const char __pyx_k_const_EncodeMapper_SymbolTableV[] = "<const EncodeMapper SymbolTableView ";
4860 static const char __pyx_k_self__aiter_self__fst_cannot_be[] = "self._aiter,self._fst cannot be converted to a Python object for pickling";
4861 static const char __pyx_k_self__fst_self__siter_cannot_be[] = "self._fst,self._siter cannot be converted to a Python object for pickling";
4862 static const char __pyx_k_self__siter_cannot_be_converted[] = "self._siter cannot be converted to a Python object for pickling";
4863 static const char __pyx_k_tmp_openfst_258836_src_extensio[] = "/tmp/openfst_258836/src/extensions/python/pywrapfst.pyx";
4864 static const char __pyx_k_typing_Literal_uniform_log_prob[] = "typing.Literal[\"uniform\", \"log_prob\", \"fast_log_prob\"]";
4865 static const char __pyx_k_Argument_FST_did_not_satisfy_pre[] = "Argument FST did not satisfy preconditions";
4866 static const char __pyx_k_Can_t_get_value_from_an_exhauste[] = "Can't get value from an exhausted iterator";
4867 static const char __pyx_k_Incompatible_or_invalid_arc_type[] = "Incompatible or invalid arc type";
4868 static const char __pyx_k_Incompatible_or_invalid_weight_t[] = "Incompatible or invalid weight type";
4869 static const char __pyx_k_MutableFst_mutable_input_symbols[] = "MutableFst.mutable_input_symbols";
4870 static const char __pyx_k_MutableFst_mutable_output_symbol[] = "MutableFst.mutable_output_symbols";
4871 static const char __pyx_k_Python_interface_to_the_FST_scri[] = "Python interface to the FST scripting API.\n\nOperations which construct new FSTs are implemented as traditional functions, as\nare two-argument boolean functions like `equal` and `equivalent`. Destructive\noperations---those that mutate an FST, in place---are instance methods, as is\n`write`. Operator overloading is not used. The following example, based on\nMohri et al. 2002, shows the construction of an ASR system given a pronunciation\nlexicon L, grammar G, a transducer from context-dependent phones to\ncontext-independent phones C, and an HMM set H:\n\n L = fst.Fst.read(\"L.fst\")\n G = fst.Fst.read(\"G.fst\")\n C = fst.Fst.read(\"C.fst\")\n H = fst.Fst.read(\"H.fst\")\n LG = fst.determinize(fst.compose(L, G))\n CLG = fst.determinize(fst.compose(C, LG))\n HCLG = fst.determinize(fst.compose(H, CLG))\n HCLG.minimize() # NB: works in-place.\n\nPython variables here use snake_case and constants are in all caps, minus the\nnormal `k` prefix.\n";
4872 static const char __pyx_k_SymbolTableView_labeled_checksum[] = "SymbolTableView.labeled_checksum";
4873 static const char __pyx_k_Unknown_epsilon_normalization_ty[] = "Unknown epsilon normalization type: ";
4874 static const char __pyx_k_Unknown_random_arc_selection_typ[] = "Unknown random arc selection type: ";
4875 static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
4876 static const char __pyx_k_self__aiter_self__mfst_cannot_be[] = "self._aiter,self._mfst cannot be converted to a Python object for pickling";
4877 static const char __pyx_k_self__arc_cannot_be_converted_to[] = "self._arc cannot be converted to a Python object for pickling";
4878 static const char __pyx_k_self__reader_cannot_be_converted[] = "self._reader cannot be converted to a Python object for pickling";
4879 static const char __pyx_k_self__weight_cannot_be_converted[] = "self._weight cannot be converted to a Python object for pickling";
4880 static const char __pyx_k_self__writer_cannot_be_converted[] = "self._writer cannot be converted to a Python object for pickling";
4881 static const char __pyx_k_typing_Literal_alt_sequence_auto[] = "typing.Literal[\"alt_sequence\", \"auto\", \"match\", \"no_match\",\n \"null\", \"sequence\", \"trivial\"]";
4882 static const char __pyx_k_typing_Literal_arc_sum_arc_uniqu[] = "typing.Literal[\"arc_sum\", \"arc_unique\", \"identity\"]";
4883 static const char __pyx_k_typing_Literal_auto_fifo_lifo_sh[] = "typing.Literal[\"auto\", \"fifo\", \"lifo\", \"shortest\", \"state\",\n \"top\"]";
4884 static const char __pyx_k_typing_Literal_fst_stlist_sttabl[] = "typing.Literal[\n \"fst\",\n \"stlist\",\n \"sttable\",\n \"default\"\n]";
4885 static const char __pyx_k_typing_Literal_functional_nonfun[] = "typing.Literal[\"functional\", \"nonfunctional\",\n \"disambiguate\"]";
4886 static const char __pyx_k_typing_Literal_identity_input_ep[] = "typing.Literal[\"identity\", \"input_epsilon\", \"invert\",\n \"output_epsilon\", \"plus\", \"power\", \"quantize\",\n \"rmweight\", \"superfinal\", \"times\", \"to_log\",\n # NOTE: Both spellings of \"to_std\"\n \"to_log64\", \"to_std\", \"to_standard\"]";
4887 static const char __pyx_k_typing_Literal_neither_input_out[] = "typing.Literal[\"neither\", \"input\", \"output\", \"both\"]";
4888 static const char __pyx_k_typing_Literal_to_initial_to_fin[] = "typing.Literal[\"to_initial\", \"to_final\"]";
4889 static const char __pyx_k_typing_Union_Weight_typing_Union[] = "typing.Union[Weight, typing.Union[str, int, float]]";
4890 /* #### Code section: decls ### */
4891 static int __pyx_pf_9pywrapfst_6Weight___init__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, PyObject *__pyx_v_weight_type, PyObject *__pyx_v_weight); /* proto */
4892 static PyObject *__pyx_pf_9pywrapfst_6Weight_2copy(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4893 static PyObject *__pyx_pf_9pywrapfst_6Weight_4type(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4894 static PyObject *__pyx_pf_9pywrapfst_6Weight_6to_string(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4895 static PyObject *__pyx_pf_9pywrapfst_6Weight_8__repr__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4896 static PyObject *__pyx_pf_9pywrapfst_6Weight_10__str__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4897 static PyObject *__pyx_pf_9pywrapfst_6Weight_12__float__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4898 static PyObject *__pyx_pf_9pywrapfst_6Weight_14member(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4899 static PyObject *__pyx_pf_9pywrapfst_6Weight_16properties(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4900 static PyObject *__pyx_pf_9pywrapfst_6Weight_18__eq__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w1, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w2); /* proto */
4901 static PyObject *__pyx_pf_9pywrapfst_6Weight_20__ne__(struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w1, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w2); /* proto */
4902 static PyObject *__pyx_pf_9pywrapfst_6Weight_22zero(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /* proto */
4903 static PyObject *__pyx_pf_9pywrapfst_6Weight_24one(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /* proto */
4904 static PyObject *__pyx_pf_9pywrapfst_6Weight_26no_weight(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_weight_type); /* proto */
4905 static PyObject *__pyx_pf_9pywrapfst_6Weight_28__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self); /* proto */
4906 static PyObject *__pyx_pf_9pywrapfst_6Weight_30__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Weight *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4907 static PyObject *__pyx_pf_9pywrapfst_plus(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_lhs, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_rhs); /* proto */
4908 static PyObject *__pyx_pf_9pywrapfst_2times(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_lhs, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_rhs); /* proto */
4909 static PyObject *__pyx_pf_9pywrapfst_4divide(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_lhs, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_rhs); /* proto */
4910 static PyObject *__pyx_pf_9pywrapfst_6power(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Weight *__pyx_v_w, size_t __pyx_v_n); /* proto */
4911 static int __pyx_pf_9pywrapfst_15SymbolTableView___init__(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4912 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_2__iter__(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4913 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_4__reduce__(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4914 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_6available_key(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4915 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_8checksum(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4916 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_10copy(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4917 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_12find(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
4918 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_14get_nth_key(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, Py_ssize_t __pyx_v_pos); /* proto */
4919 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_16labeled_checksum(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4920 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_18member(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
4921 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_20name(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4922 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_22num_symbols(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4923 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_24write(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, PyObject *__pyx_v_source); /* proto */
4924 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_26write_text(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self, PyObject *__pyx_v_source, PyObject *__pyx_v_sep); /* proto */
4925 static PyObject *__pyx_pf_9pywrapfst_15SymbolTableView_28write_to_string(struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_self); /* proto */
4926 static PyObject *__pyx_pf_9pywrapfst_28_EncodeMapperSymbolTableView___repr__(struct __pyx_obj_9pywrapfst__EncodeMapperSymbolTableView *__pyx_v_self); /* proto */
4927 static PyObject *__pyx_pf_9pywrapfst_19_FstSymbolTableView___repr__(struct __pyx_obj_9pywrapfst__FstSymbolTableView *__pyx_v_self); /* proto */
4928 static PyObject *__pyx_pf_9pywrapfst_19_MutableSymbolTable_add_symbol(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_symbol, int64_t __pyx_v_key); /* proto */
4929 static PyObject *__pyx_pf_9pywrapfst_19_MutableSymbolTable_2add_table(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto */
4930 static PyObject *__pyx_pf_9pywrapfst_19_MutableSymbolTable_4set_name(struct __pyx_obj_9pywrapfst__MutableSymbolTable *__pyx_v_self, PyObject *__pyx_v_new_name); /* proto */
4931 static PyObject *__pyx_pf_9pywrapfst_26_MutableFstSymbolTableView___repr__(struct __pyx_obj_9pywrapfst__MutableFstSymbolTableView *__pyx_v_self); /* proto */
4932 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable___repr__(struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_self); /* proto */
4933 static int __pyx_pf_9pywrapfst_11SymbolTable_2__init__(struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
4934 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable_4read(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_source); /* proto */
4935 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable_6read_text(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_source, PyObject *__pyx_v_sep); /* proto */
4936 static PyObject *__pyx_pf_9pywrapfst_11SymbolTable_8read_fst(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_source, bool __pyx_v_input_table); /* proto */
4937 static PyObject *__pyx_pf_9pywrapfst_8_read_SymbolTable_from_string(CYTHON_UNUSED PyObject *__pyx_self, std::string __pyx_v_state); /* proto */
4938 static PyObject *__pyx_pf_9pywrapfst_10compact_symbol_table(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto */
4939 static PyObject *__pyx_pf_9pywrapfst_12merge_symbol_table(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_lhs, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_rhs); /* proto */
4940 static PyObject *__pyx_pf_9pywrapfst_20_SymbolTableIterator___repr__(struct __pyx_obj_9pywrapfst__SymbolTableIterator *__pyx_v_self); /* proto */
4941 static int __pyx_pf_9pywrapfst_20_SymbolTableIterator_2__init__(struct __pyx_obj_9pywrapfst__SymbolTableIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto */
4942 static PyObject *__pyx_pf_9pywrapfst_20_SymbolTableIterator_4__iter__(struct __pyx_obj_9pywrapfst__SymbolTableIterator *__pyx_v_self); /* proto */
4943 static PyObject *__pyx_pf_9pywrapfst_20_SymbolTableIterator_6__next__(struct __pyx_obj_9pywrapfst__SymbolTableIterator *__pyx_v_self); /* proto */
4944 static PyObject *__pyx_pf_9pywrapfst_20_SymbolTableIterator_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__SymbolTableIterator *__pyx_v_self); /* proto */
4945 static PyObject *__pyx_pf_9pywrapfst_20_SymbolTableIterator_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__SymbolTableIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
4946 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper___repr__(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4947 static int __pyx_pf_9pywrapfst_12EncodeMapper_2__init__(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, PyObject *__pyx_v_arc_type, bool __pyx_v_encode_labels, bool __pyx_v_encode_weights); /* proto */
4948 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_4__call__(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto */
4949 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_6__reduce__(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4950 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_8arc_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4951 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_10weight_type(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4952 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_12flags(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4953 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_14properties(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, PyObject *__pyx_v_mask); /* proto */
4954 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_16read(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_source); /* proto */
4955 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_18read_from_string(PyObject *__pyx_v_state); /* proto */
4956 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_20write(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, PyObject *__pyx_v_source); /* proto */
4957 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_22write_to_string(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4958 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_24input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4959 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_26output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self); /* proto */
4960 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_28set_input_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto */
4961 static PyObject *__pyx_pf_9pywrapfst_12EncodeMapper_30set_output_symbols(struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto */
4962 static PyObject *__pyx_pf_9pywrapfst_14_read_EncodeMapper_from_string(CYTHON_UNUSED PyObject *__pyx_self, std::string __pyx_v_state); /* proto */
4963 static PyObject *__pyx_pf_9pywrapfst_3Fst__repr_svg_(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4964 static int __pyx_pf_9pywrapfst_3Fst_2__init__(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4965 static PyObject *__pyx_pf_9pywrapfst_3Fst_4__reduce__(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4966 static PyObject *__pyx_pf_9pywrapfst_3Fst_6__repr__(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4967 static PyObject *__pyx_pf_9pywrapfst_3Fst_8__str__(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4968 static PyObject *__pyx_pf_9pywrapfst_3Fst_10arc_type(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4969 static PyObject *__pyx_pf_9pywrapfst_3Fst_12arcs(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state); /* proto */
4970 static PyObject *__pyx_pf_9pywrapfst_3Fst_14copy(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4971 static PyObject *__pyx_pf_9pywrapfst_3Fst_16draw(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, PyObject *__pyx_v_source, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_isymbols, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_osymbols, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_ssymbols, bool __pyx_v_acceptor, PyObject *__pyx_v_title, double __pyx_v_width, double __pyx_v_height, bool __pyx_v_portrait, bool __pyx_v_vertical, double __pyx_v_ranksep, double __pyx_v_nodesep, int32_t __pyx_v_fontsize, int32_t __pyx_v_precision, PyObject *__pyx_v_float_format, bool __pyx_v_show_weight_one); /* proto */
4972 static PyObject *__pyx_pf_9pywrapfst_3Fst_18final(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state); /* proto */
4973 static PyObject *__pyx_pf_9pywrapfst_3Fst_20fst_type(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4974 static PyObject *__pyx_pf_9pywrapfst_3Fst_22input_symbols(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4975 static PyObject *__pyx_pf_9pywrapfst_3Fst_24num_states_if_known(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4976 static PyObject *__pyx_pf_9pywrapfst_3Fst_26num_arcs(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state); /* proto */
4977 static PyObject *__pyx_pf_9pywrapfst_3Fst_28num_input_epsilons(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state); /* proto */
4978 static PyObject *__pyx_pf_9pywrapfst_3Fst_30num_output_epsilons(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, int64_t __pyx_v_state); /* proto */
4979 static PyObject *__pyx_pf_9pywrapfst_3Fst_32output_symbols(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4980 static PyObject *__pyx_pf_9pywrapfst_3Fst_34print(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_isymbols, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_osymbols, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_ssymbols, bool __pyx_v_acceptor, bool __pyx_v_show_weight_one, PyObject *__pyx_v_missing_sym); /* proto */
4981 static PyObject *__pyx_pf_9pywrapfst_3Fst_36properties(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, PyObject *__pyx_v_mask, bool __pyx_v_test); /* proto */
4982 static PyObject *__pyx_pf_9pywrapfst_3Fst_38read(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_source); /* proto */
4983 static PyObject *__pyx_pf_9pywrapfst_3Fst_40read_from_string(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_state); /* proto */
4984 static PyObject *__pyx_pf_9pywrapfst_3Fst_42start(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4985 static PyObject *__pyx_pf_9pywrapfst_3Fst_44states(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4986 static PyObject *__pyx_pf_9pywrapfst_3Fst_46verify(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4987 static PyObject *__pyx_pf_9pywrapfst_3Fst_48weight_type(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4988 static PyObject *__pyx_pf_9pywrapfst_3Fst_50write(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self, PyObject *__pyx_v_source); /* proto */
4989 static PyObject *__pyx_pf_9pywrapfst_3Fst_52write_to_string(struct __pyx_obj_9pywrapfst_Fst *__pyx_v_self); /* proto */
4990 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_add_arc(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto */
4991 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_2add_state(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto */
4992 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_4add_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, size_t __pyx_v_n); /* proto */
4993 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_6arcsort(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_sort_type); /* proto */
4994 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_8closure(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_closure_type); /* proto */
4995 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_10concat(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_fst2); /* proto */
4996 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_12connect(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto */
4997 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_14decode(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_mapper); /* proto */
4998 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_16delete_arcs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, size_t __pyx_v_n); /* proto */
4999 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_18delete_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_states); /* proto */
5000 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_20encode(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_EncodeMapper *__pyx_v_mapper); /* proto */
5001 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_22invert(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto */
5002 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_24minimize(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, float __pyx_v_delta, bool __pyx_v_allow_nondet); /* proto */
5003 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_26mutable_arcs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state); /* proto */
5004 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_28mutable_input_symbols(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto */
5005 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_30mutable_output_symbols(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto */
5006 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_32num_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto */
5007 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_34project(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_project_type); /* proto */
5008 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_36prune(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, float __pyx_v_delta, int64_t __pyx_v_nstate, PyObject *__pyx_v_weight); /* proto */
5009 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_38push(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, float __pyx_v_delta, bool __pyx_v_remove_total_weight, PyObject *__pyx_v_reweight_type); /* proto */
5010 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_40relabel_pairs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_ipairs, PyObject *__pyx_v_opairs); /* proto */
5011 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_42relabel_tables(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_old_isymbols, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_new_isymbols, PyObject *__pyx_v_unknown_isymbol, bool __pyx_v_attach_new_isymbols, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_old_osymbols, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_new_osymbols, PyObject *__pyx_v_unknown_osymbol, bool __pyx_v_attach_new_osymbols); /* proto */
5012 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_44reserve_arcs(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, size_t __pyx_v_n); /* proto */
5013 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_46reserve_states(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_n); /* proto */
5014 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_48reweight(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_potentials, PyObject *__pyx_v_reweight_type); /* proto */
5015 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_50rmepsilon(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_queue_type, bool __pyx_v_connect, PyObject *__pyx_v_weight, int64_t __pyx_v_nstate, float __pyx_v_delta); /* proto */
5016 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_52set_final(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state, PyObject *__pyx_v_weight); /* proto */
5017 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_54set_input_symbols(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto */
5018 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_56set_output_symbols(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, struct __pyx_obj_9pywrapfst_SymbolTableView *__pyx_v_symbols); /* proto */
5019 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_58set_properties(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_props, PyObject *__pyx_v_mask); /* proto */
5020 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_60set_start(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, int64_t __pyx_v_state); /* proto */
5021 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_62topsort(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self); /* proto */
5022 static PyObject *__pyx_pf_9pywrapfst_10MutableFst_64union(struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_self, PyObject *__pyx_v_fsts2); /* proto */
5023 static int __pyx_pf_9pywrapfst_9VectorFst___init__(struct __pyx_obj_9pywrapfst_VectorFst *__pyx_v_self, PyObject *__pyx_v_arc_type); /* proto */
5024 static PyObject *__pyx_pf_9pywrapfst_16_read_Fst(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_source); /* proto */
5025 static PyObject *__pyx_pf_9pywrapfst_18_read_Fst_from_string(CYTHON_UNUSED PyObject *__pyx_self, std::string __pyx_v_state); /* proto */
5026 static PyObject *__pyx_pf_9pywrapfst_3Arc___repr__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
5027 static int __pyx_pf_9pywrapfst_3Arc_2__init__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, int64_t __pyx_v_ilabel, int64_t __pyx_v_olabel, PyObject *__pyx_v_weight, int64_t __pyx_v_nextstate); /* proto */
5028 static PyObject *__pyx_pf_9pywrapfst_3Arc_4copy(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
5029 static PyObject *__pyx_pf_9pywrapfst_3Arc_6ilabel___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
5030 static int __pyx_pf_9pywrapfst_3Arc_6ilabel_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, int64_t __pyx_v_value); /* proto */
5031 static PyObject *__pyx_pf_9pywrapfst_3Arc_6olabel___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
5032 static int __pyx_pf_9pywrapfst_3Arc_6olabel_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, int64_t __pyx_v_value); /* proto */
5033 static PyObject *__pyx_pf_9pywrapfst_3Arc_6weight___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
5034 static int __pyx_pf_9pywrapfst_3Arc_6weight_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, PyObject *__pyx_v_weight); /* proto */
5035 static PyObject *__pyx_pf_9pywrapfst_3Arc_9nextstate___get__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
5036 static int __pyx_pf_9pywrapfst_3Arc_9nextstate_2__set__(struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, int64_t __pyx_v_value); /* proto */
5037 static PyObject *__pyx_pf_9pywrapfst_3Arc_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self); /* proto */
5038 static PyObject *__pyx_pf_9pywrapfst_3Arc_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Arc *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
5039 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator___repr__(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5040 static int __pyx_pf_9pywrapfst_12_ArcIterator_2__init__(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, int64_t __pyx_v_state); /* proto */
5041 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_4__iter__(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5042 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_6__next__(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5043 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_8done(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5044 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_10flags(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5045 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_12next(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5046 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_14position(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5047 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_16reset(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5048 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_18seek(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, size_t __pyx_v_a); /* proto */
5049 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_20set_flags(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, uint8_t __pyx_v_flags, uint8_t __pyx_v_mask); /* proto */
5050 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_22value(struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5051 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self); /* proto */
5052 static PyObject *__pyx_pf_9pywrapfst_12_ArcIterator_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__ArcIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
5053 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator___repr__(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5054 static int __pyx_pf_9pywrapfst_19_MutableArcIterator_2__init__(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_MutableFst *__pyx_v_ifst, int64_t __pyx_v_state); /* proto */
5055 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_4__iter__(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5056 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_7__next__(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5057 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_9done(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5058 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_11flags(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5059 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_13next(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5060 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_15position(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5061 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_17reset(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5062 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_19seek(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, size_t __pyx_v_a); /* proto */
5063 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_21set_flags(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, uint8_t __pyx_v_flags, uint8_t __pyx_v_mask); /* proto */
5064 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_23set_value(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_Arc *__pyx_v_arc); /* proto */
5065 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_25value(struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5066 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_27__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self); /* proto */
5067 static PyObject *__pyx_pf_9pywrapfst_19_MutableArcIterator_29__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__MutableArcIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
5068 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator___repr__(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5069 static int __pyx_pf_9pywrapfst_14_StateIterator_2__init__(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst); /* proto */
5070 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_4__iter__(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5071 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_6__next__(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5072 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_8done(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5073 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_10next(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5074 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_12reset(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5075 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_14value(struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5076 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self); /* proto */
5077 static PyObject *__pyx_pf_9pywrapfst_14_StateIterator_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst__StateIterator *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
5078 static PyObject *__pyx_pf_9pywrapfst_20arcmap(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, float __pyx_v_delta, PyObject *__pyx_v_map_type, double __pyx_v_power, PyObject *__pyx_v_weight); /* proto */
5079 static PyObject *__pyx_pf_9pywrapfst_22compose(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst2, PyObject *__pyx_v_compose_filter, bool __pyx_v_connect); /* proto */
5080 static PyObject *__pyx_pf_9pywrapfst_24convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, PyObject *__pyx_v_fst_type); /* proto */
5081 static PyObject *__pyx_pf_9pywrapfst_26determinize(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, float __pyx_v_delta, PyObject *__pyx_v_det_type, int64_t __pyx_v_nstate, int64_t __pyx_v_subsequential_label, PyObject *__pyx_v_weight, bool __pyx_v_increment_subsequential_label); /* proto */
5082 static PyObject *__pyx_pf_9pywrapfst_28difference(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst2, PyObject *__pyx_v_compose_filter, bool __pyx_v_connect); /* proto */
5083 static PyObject *__pyx_pf_9pywrapfst_30disambiguate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, float __pyx_v_delta, int64_t __pyx_v_nstate, int64_t __pyx_v_subsequential_label, PyObject *__pyx_v_weight); /* proto */
5084 static PyObject *__pyx_pf_9pywrapfst_32epsnormalize(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, PyObject *__pyx_v_eps_norm_type); /* proto */
5085 static PyObject *__pyx_pf_9pywrapfst_34equal(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst2, float __pyx_v_delta); /* proto */
5086 static PyObject *__pyx_pf_9pywrapfst_36equivalent(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst2, float __pyx_v_delta); /* proto */
5087 static PyObject *__pyx_pf_9pywrapfst_38intersect(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst2, PyObject *__pyx_v_compose_filter, bool __pyx_v_connect); /* proto */
5088 static PyObject *__pyx_pf_9pywrapfst_40isomorphic(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst2, float __pyx_v_delta); /* proto */
5089 static PyObject *__pyx_pf_9pywrapfst_42prune(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, float __pyx_v_delta, int64_t __pyx_v_nstate, PyObject *__pyx_v_weight); /* proto */
5090 static PyObject *__pyx_pf_9pywrapfst_44push(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, float __pyx_v_delta, bool __pyx_v_push_weights, bool __pyx_v_push_labels, bool __pyx_v_remove_common_affix, bool __pyx_v_remove_total_weight, PyObject *__pyx_v_reweight_type); /* proto */
5091 static PyObject *__pyx_pf_9pywrapfst_46randequivalent(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst1, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst2, int32_t __pyx_v_npath, float __pyx_v_delta, PyObject *__pyx_v_select, int32_t __pyx_v_max_length, uint64_t __pyx_v_seed); /* proto */
5092 static PyObject *__pyx_pf_9pywrapfst_48randgen(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, int32_t __pyx_v_npath, PyObject *__pyx_v_select, int32_t __pyx_v_max_length, bool __pyx_v_weighted, bool __pyx_v_remove_total_weight, uint64_t __pyx_v_seed); /* proto */
5093 static PyObject *__pyx_pf_9pywrapfst_50replace(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pairs, PyObject *__pyx_v_call_arc_labeling, PyObject *__pyx_v_return_arc_labeling, bool __pyx_v_epsilon_on_replace, int64_t __pyx_v_return_label); /* proto */
5094 static PyObject *__pyx_pf_9pywrapfst_52reverse(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, bool __pyx_v_require_superinitial); /* proto */
5095 static PyObject *__pyx_pf_9pywrapfst_62__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
5096 static PyObject *__pyx_pf_9pywrapfst_54shortestdistance(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, float __pyx_v_delta, int64_t __pyx_v_nstate, PyObject *__pyx_v_queue_type, bool __pyx_v_reverse); /* proto */
5097 static PyObject *__pyx_pf_9pywrapfst_56shortestpath(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, float __pyx_v_delta, int32_t __pyx_v_nshortest, int64_t __pyx_v_nstate, PyObject *__pyx_v_queue_type, bool __pyx_v_unique, PyObject *__pyx_v_weight); /* proto */
5098 static PyObject *__pyx_pf_9pywrapfst_58statemap(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst, PyObject *__pyx_v_map_type); /* proto */
5099 static PyObject *__pyx_pf_9pywrapfst_60synchronize(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst); /* proto */
5100 static int __pyx_pf_9pywrapfst_8Compiler___cinit__(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, PyObject *__pyx_v_fst_type, PyObject *__pyx_v_arc_type, struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_isymbols, struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_osymbols, struct __pyx_obj_9pywrapfst_SymbolTable *__pyx_v_ssymbols, bool __pyx_v_acceptor, bool __pyx_v_keep_isymbols, bool __pyx_v_keep_osymbols, bool __pyx_v_keep_state_numbering); /* proto */
5101 static PyObject *__pyx_pf_9pywrapfst_8Compiler_2compile(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self); /* proto */
5102 static PyObject *__pyx_pf_9pywrapfst_8Compiler_4write(struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, PyObject *__pyx_v_expression); /* proto */
5103 static PyObject *__pyx_pf_9pywrapfst_8Compiler_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self); /* proto */
5104 static PyObject *__pyx_pf_9pywrapfst_8Compiler_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_Compiler *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
5105 static int __pyx_pf_9pywrapfst_9FarReader___init__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5106 static PyObject *__pyx_pf_9pywrapfst_9FarReader_2__repr__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5107 static PyObject *__pyx_pf_9pywrapfst_9FarReader_4open(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_sources); /* proto */
5108 static PyObject *__pyx_pf_9pywrapfst_9FarReader_6arc_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5109 static PyObject *__pyx_pf_9pywrapfst_9FarReader_8done(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5110 static PyObject *__pyx_pf_9pywrapfst_9FarReader_10error(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5111 static PyObject *__pyx_pf_9pywrapfst_9FarReader_12far_type(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5112 static PyObject *__pyx_pf_9pywrapfst_9FarReader_14find(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
5113 static PyObject *__pyx_pf_9pywrapfst_9FarReader_16get_fst(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5114 static PyObject *__pyx_pf_9pywrapfst_9FarReader_18get_key(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5115 static PyObject *__pyx_pf_9pywrapfst_9FarReader_20next(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5116 static PyObject *__pyx_pf_9pywrapfst_9FarReader_22reset(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5117 static PyObject *__pyx_pf_9pywrapfst_9FarReader_24__getitem__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
5118 static PyObject *__pyx_pf_9pywrapfst_9FarReader_26__next__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5119 static PyObject *__pyx_pf_9pywrapfst_9FarReader_28__iter__(struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5120 static PyObject *__pyx_pf_9pywrapfst_9FarReader_30__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self); /* proto */
5121 static PyObject *__pyx_pf_9pywrapfst_9FarReader_32__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarReader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
5122 static int __pyx_pf_9pywrapfst_9FarWriter___init__(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
5123 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_2__repr__(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
5124 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_4create(CYTHON_UNUSED PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_source, PyObject *__pyx_v_arc_type, PyObject *__pyx_v_far_type); /* proto */
5125 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_6add(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, PyObject *__pyx_v_key, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_ifst); /* proto */
5126 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_8arc_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
5127 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_10error(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
5128 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_12far_type(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
5129 static int __pyx_pf_9pywrapfst_9FarWriter_14__setitem__(struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, PyObject *__pyx_v_key, struct __pyx_obj_9pywrapfst_Fst *__pyx_v_fst); /* proto */
5130 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self); /* proto */
5131 static PyObject *__pyx_pf_9pywrapfst_9FarWriter_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pywrapfst_FarWriter *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
5132 static PyObject *__pyx_tp_new_9pywrapfst_Weight(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5133 static PyObject *__pyx_tp_new_9pywrapfst_SymbolTableView(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5134 static PyObject *__pyx_tp_new_9pywrapfst__EncodeMapperSymbolTableView(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5135 static PyObject *__pyx_tp_new_9pywrapfst__FstSymbolTableView(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5136 static PyObject *__pyx_tp_new_9pywrapfst__MutableSymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5137 static PyObject *__pyx_tp_new_9pywrapfst__MutableFstSymbolTableView(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5138 static PyObject *__pyx_tp_new_9pywrapfst_SymbolTable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5139 static PyObject *__pyx_tp_new_9pywrapfst__SymbolTableIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5140 static PyObject *__pyx_tp_new_9pywrapfst_EncodeMapper(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5141 static PyObject *__pyx_tp_new_9pywrapfst_Fst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5142 static PyObject *__pyx_tp_new_9pywrapfst_MutableFst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5143 static PyObject *__pyx_tp_new_9pywrapfst_VectorFst(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5144 static PyObject *__pyx_tp_new_9pywrapfst_Arc(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5145 static PyObject *__pyx_tp_new_9pywrapfst__ArcIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5146 static PyObject *__pyx_tp_new_9pywrapfst__MutableArcIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5147 static PyObject *__pyx_tp_new_9pywrapfst__StateIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5148 static PyObject *__pyx_tp_new_9pywrapfst_Compiler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5149 static PyObject *__pyx_tp_new_9pywrapfst_FarReader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5150 static PyObject *__pyx_tp_new_9pywrapfst_FarWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5151 static PyObject *__pyx_tp_new_9pywrapfst___pyx_scope_struct____iter__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
5152 /* #### Code section: late_includes ### */
5153 /* #### Code section: module_state ### */
5154 typedef struct {
5155  PyObject *__pyx_d;
5156  PyObject *__pyx_b;
5157  PyObject *__pyx_cython_runtime;
5158  PyObject *__pyx_empty_tuple;
5159  PyObject *__pyx_empty_bytes;
5160  PyObject *__pyx_empty_unicode;
5161  #ifdef __Pyx_CyFunction_USED
5162  PyTypeObject *__pyx_CyFunctionType;
5163  #endif
5164  #ifdef __Pyx_FusedFunction_USED
5165  PyTypeObject *__pyx_FusedFunctionType;
5166  #endif
5167  #ifdef __Pyx_Generator_USED
5168  PyTypeObject *__pyx_GeneratorType;
5169  #endif
5170  #ifdef __Pyx_IterableCoroutine_USED
5171  PyTypeObject *__pyx_IterableCoroutineType;
5172  #endif
5173  #ifdef __Pyx_Coroutine_USED
5174  PyTypeObject *__pyx_CoroutineAwaitType;
5175  #endif
5176  #ifdef __Pyx_Coroutine_USED
5177  PyTypeObject *__pyx_CoroutineType;
5178  #endif
5179  #if CYTHON_USE_MODULE_STATE
5180  #endif
5181  #if CYTHON_USE_MODULE_STATE
5182  #endif
5183  #if CYTHON_USE_MODULE_STATE
5184  #endif
5185  #if CYTHON_USE_MODULE_STATE
5186  #endif
5187  #if CYTHON_USE_MODULE_STATE
5188  #endif
5189  #if CYTHON_USE_MODULE_STATE
5190  #endif
5191  #if CYTHON_USE_MODULE_STATE
5192  #endif
5193  #if CYTHON_USE_MODULE_STATE
5194  #endif
5195  #if CYTHON_USE_MODULE_STATE
5196  #endif
5197  #if CYTHON_USE_MODULE_STATE
5198  #endif
5199  #if CYTHON_USE_MODULE_STATE
5200  #endif
5201  #if CYTHON_USE_MODULE_STATE
5202  #endif
5203  #if CYTHON_USE_MODULE_STATE
5204  #endif
5205  #if CYTHON_USE_MODULE_STATE
5206  PyObject *__pyx_type_9pywrapfst_Weight;
5207  PyObject *__pyx_type_9pywrapfst_SymbolTableView;
5208  PyObject *__pyx_type_9pywrapfst__EncodeMapperSymbolTableView;
5209  PyObject *__pyx_type_9pywrapfst__FstSymbolTableView;
5210  PyObject *__pyx_type_9pywrapfst__MutableSymbolTable;
5211  PyObject *__pyx_type_9pywrapfst__MutableFstSymbolTableView;
5212  PyObject *__pyx_type_9pywrapfst_SymbolTable;
5213  PyObject *__pyx_type_9pywrapfst__SymbolTableIterator;
5214  PyObject *__pyx_type_9pywrapfst_EncodeMapper;
5215  PyObject *__pyx_type_9pywrapfst_Fst;
5216  PyObject *__pyx_type_9pywrapfst_MutableFst;
5217  PyObject *__pyx_type_9pywrapfst_VectorFst;
5218  PyObject *__pyx_type_9pywrapfst_Arc;
5219  PyObject *__pyx_type_9pywrapfst__ArcIterator;
5220  PyObject *__pyx_type_9pywrapfst__MutableArcIterator;
5221  PyObject *__pyx_type_9pywrapfst__StateIterator;
5222  PyObject *__pyx_type_9pywrapfst_Compiler;
5223  PyObject *__pyx_type_9pywrapfst_FarReader;
5224  PyObject *__pyx_type_9pywrapfst_FarWriter;
5225  PyObject *__pyx_type_9pywrapfst___pyx_scope_struct____iter__;
5226  #endif
5227  PyTypeObject *__pyx_ptype_9pywrapfst_Weight;
5228  PyTypeObject *__pyx_ptype_9pywrapfst_SymbolTableView;
5229  PyTypeObject *__pyx_ptype_9pywrapfst__EncodeMapperSymbolTableView;
5230  PyTypeObject *__pyx_ptype_9pywrapfst__FstSymbolTableView;
5231  PyTypeObject *__pyx_ptype_9pywrapfst__MutableSymbolTable;
5232  PyTypeObject *__pyx_ptype_9pywrapfst__MutableFstSymbolTableView;
5233  PyTypeObject *__pyx_ptype_9pywrapfst_SymbolTable;
5234  PyTypeObject *__pyx_ptype_9pywrapfst__SymbolTableIterator;
5235  PyTypeObject *__pyx_ptype_9pywrapfst_EncodeMapper;
5236  PyTypeObject *__pyx_ptype_9pywrapfst_Fst;
5237  PyTypeObject *__pyx_ptype_9pywrapfst_MutableFst;
5238  PyTypeObject *__pyx_ptype_9pywrapfst_VectorFst;
5239  PyTypeObject *__pyx_ptype_9pywrapfst_Arc;
5240  PyTypeObject *__pyx_ptype_9pywrapfst__ArcIterator;
5241  PyTypeObject *__pyx_ptype_9pywrapfst__MutableArcIterator;
5242  PyTypeObject *__pyx_ptype_9pywrapfst__StateIterator;
5243  PyTypeObject *__pyx_ptype_9pywrapfst_Compiler;
5244  PyTypeObject *__pyx_ptype_9pywrapfst_FarReader;
5245  PyTypeObject *__pyx_ptype_9pywrapfst_FarWriter;
5246  PyTypeObject *__pyx_ptype_9pywrapfst___pyx_scope_struct____iter__;
5247  PyObject *__pyx_kp_u_;
5248  PyObject *__pyx_n_s_ACCEPTOR;
5249  PyObject *__pyx_n_s_ACCESSIBLE;
5250  PyObject *__pyx_n_s_ACYCLIC;
5251  PyObject *__pyx_n_s_ADD_ARC_PROPERTIES;
5252  PyObject *__pyx_n_s_ADD_STATE_PROPERTIES;
5253  PyObject *__pyx_n_s_ADD_SUPERFINAL_PROPERTIES;
5254  PyObject *__pyx_n_s_ARC_FLAGS;
5255  PyObject *__pyx_n_s_ARC_I_LABEL_VALUE;
5256  PyObject *__pyx_n_s_ARC_NEXT_STATE_VALUE;
5257  PyObject *__pyx_n_s_ARC_NO_CACHE;
5258  PyObject *__pyx_n_s_ARC_O_LABEL_VALUE;
5259  PyObject *__pyx_n_s_ARC_SORT_PROPERTIES;
5260  PyObject *__pyx_n_s_ARC_VALUE_FLAGS;
5261  PyObject *__pyx_n_s_ARC_WEIGHT_VALUE;
5262  PyObject *__pyx_n_s_Arc;
5263  PyObject *__pyx_n_s_ArcIterator;
5264  PyObject *__pyx_n_s_ArcIteratorFlags;
5265  PyObject *__pyx_n_s_ArcIterator___reduce_cython;
5266  PyObject *__pyx_n_s_ArcIterator___setstate_cython;
5267  PyObject *__pyx_kp_u_ArcIterator_at_0x;
5268  PyObject *__pyx_n_s_ArcIterator_done;
5269  PyObject *__pyx_n_s_ArcIterator_flags;
5270  PyObject *__pyx_n_s_ArcIterator_next;
5271  PyObject *__pyx_n_s_ArcIterator_position;
5272  PyObject *__pyx_n_s_ArcIterator_reset;
5273  PyObject *__pyx_n_s_ArcIterator_seek;
5274  PyObject *__pyx_n_s_ArcIterator_set_flags;
5275  PyObject *__pyx_n_s_ArcIterator_value;
5276  PyObject *__pyx_n_s_ArcMapType;
5277  PyObject *__pyx_n_s_Arc___reduce_cython;
5278  PyObject *__pyx_n_s_Arc___setstate_cython;
5279  PyObject *__pyx_kp_u_Arc_at_0x;
5280  PyObject *__pyx_n_s_Arc_copy;
5281  PyObject *__pyx_kp_u_Argument_FST_did_not_satisfy_pre;
5282  PyObject *__pyx_n_s_BINARY_PROPERTIES;
5283  PyObject *__pyx_n_s_COACCESSIBLE;
5284  PyObject *__pyx_n_s_COMMUTATIVE;
5285  PyObject *__pyx_n_s_COPY_PROPERTIES;
5286  PyObject *__pyx_n_s_CYCLIC;
5287  PyObject *__pyx_kp_u_Can_t_get_value_from_an_exhauste;
5288  PyObject *__pyx_kp_u_Can_t_set_value_on_an_exhausted;
5289  PyObject *__pyx_kp_u_Cannot_construct;
5290  PyObject *__pyx_kp_u_Cannot_topsort_cyclic_FST;
5291  PyObject *__pyx_n_s_ClosureType;
5292  PyObject *__pyx_kp_u_Compilation_failed;
5293  PyObject *__pyx_n_s_Compiler;
5294  PyObject *__pyx_n_s_Compiler___reduce_cython;
5295  PyObject *__pyx_n_s_Compiler___setstate_cython;
5296  PyObject *__pyx_n_s_Compiler_compile;
5297  PyObject *__pyx_n_s_Compiler_write;
5298  PyObject *__pyx_n_s_ComposeFilter;
5299  PyObject *__pyx_kp_u_Conversion_to;
5300  PyObject *__pyx_n_s_DELETE_ARC_PROPERTIES;
5301  PyObject *__pyx_n_s_DELETE_STATE_PROPERTIES;
5302  PyObject *__pyx_n_s_DeterminizeType;
5303  PyObject *__pyx_kp_u_Dot_rendering_failed_s;
5304  PyObject *__pyx_n_s_DrawFloatFormat;
5305  PyObject *__pyx_n_s_ENCODE_FLAGS;
5306  PyObject *__pyx_n_s_ENCODE_LABELS;
5307  PyObject *__pyx_n_s_ENCODE_WEIGHTS;
5308  PyObject *__pyx_n_s_EPSILONS;
5309  PyObject *__pyx_n_s_ERROR;
5310  PyObject *__pyx_n_s_EXPANDED;
5311  PyObject *__pyx_n_s_EXTRINSIC_PROPERTIES;
5312  PyObject *__pyx_n_s_EncodeMapper;
5313  PyObject *__pyx_n_s_EncodeMapperFlags;
5314  PyObject *__pyx_n_s_EncodeMapperSymbolTableView;
5315  PyObject *__pyx_n_s_EncodeMapper___reduce;
5316  PyObject *__pyx_n_s_EncodeMapper_arc_type;
5317  PyObject *__pyx_kp_u_EncodeMapper_at_0x;
5318  PyObject *__pyx_n_s_EncodeMapper_flags;
5319  PyObject *__pyx_n_s_EncodeMapper_input_symbols;
5320  PyObject *__pyx_n_s_EncodeMapper_output_symbols;
5321  PyObject *__pyx_n_s_EncodeMapper_properties;
5322  PyObject *__pyx_n_s_EncodeMapper_read;
5323  PyObject *__pyx_n_s_EncodeMapper_read_from_string;
5324  PyObject *__pyx_n_s_EncodeMapper_set_input_symbols;
5325  PyObject *__pyx_n_s_EncodeMapper_set_output_symbols;
5326  PyObject *__pyx_n_s_EncodeMapper_weight_type;
5327  PyObject *__pyx_n_s_EncodeMapper_write;
5328  PyObject *__pyx_n_s_EncodeMapper_write_to_string;
5329  PyObject *__pyx_n_s_EpsNormalizeType;
5330  PyObject *__pyx_kp_u_Expected;
5331  PyObject *__pyx_n_s_FST_PROPERTIES;
5332  PyObject *__pyx_n_s_FarReader;
5333  PyObject *__pyx_n_s_FarReader___reduce_cython;
5334  PyObject *__pyx_n_s_FarReader___setstate_cython;
5335  PyObject *__pyx_n_s_FarReader_arc_type;
5336  PyObject *__pyx_kp_u_FarReader_at_0x;
5337  PyObject *__pyx_n_s_FarReader_done;
5338  PyObject *__pyx_n_s_FarReader_error;
5339  PyObject *__pyx_n_s_FarReader_far_type;
5340  PyObject *__pyx_n_s_FarReader_find;
5341  PyObject *__pyx_n_s_FarReader_get_fst;
5342  PyObject *__pyx_n_s_FarReader_get_key;
5343  PyObject *__pyx_n_s_FarReader_next;
5344  PyObject *__pyx_n_s_FarReader_open;
5345  PyObject *__pyx_n_s_FarReader_reset;
5346  PyObject *__pyx_n_s_FarType;
5347  PyObject *__pyx_n_s_FarWriter;
5348  PyObject *__pyx_n_s_FarWriter___reduce_cython;
5349  PyObject *__pyx_n_s_FarWriter___setstate_cython;
5350  PyObject *__pyx_n_s_FarWriter_add;
5351  PyObject *__pyx_n_s_FarWriter_arc_type;
5352  PyObject *__pyx_kp_u_FarWriter_at_0x;
5353  PyObject *__pyx_n_s_FarWriter_create;
5354  PyObject *__pyx_n_s_FarWriter_error;
5355  PyObject *__pyx_n_s_FarWriter_far_type;
5356  PyObject *__pyx_n_s_Flag;
5357  PyObject *__pyx_n_s_Fst;
5358  PyObject *__pyx_n_s_FstArgError;
5359  PyObject *__pyx_n_s_FstBadWeightError;
5360  PyObject *__pyx_n_s_FstError;
5361  PyObject *__pyx_n_s_FstIOError;
5362  PyObject *__pyx_n_s_FstIndexError;
5363  PyObject *__pyx_n_s_FstOpError;
5364  PyObject *__pyx_n_s_FstProperties;
5365  PyObject *__pyx_n_s_FstSymbolTableView;
5366  PyObject *__pyx_kp_u_Fst_SymbolTableView;
5367  PyObject *__pyx_n_s_Fst___reduce;
5368  PyObject *__pyx_n_s_Fst__repr_svg;
5369  PyObject *__pyx_n_s_Fst_arc_type;
5370  PyObject *__pyx_n_s_Fst_arcs;
5371  PyObject *__pyx_kp_u_Fst_at_0x;
5372  PyObject *__pyx_n_s_Fst_copy;
5373  PyObject *__pyx_n_s_Fst_draw;
5374  PyObject *__pyx_n_s_Fst_final;
5375  PyObject *__pyx_n_s_Fst_fst_type;
5376  PyObject *__pyx_n_s_Fst_input_symbols;
5377  PyObject *__pyx_n_s_Fst_num_arcs;
5378  PyObject *__pyx_n_s_Fst_num_input_epsilons;
5379  PyObject *__pyx_n_s_Fst_num_output_epsilons;
5380  PyObject *__pyx_n_s_Fst_num_states_if_known;
5381  PyObject *__pyx_n_s_Fst_output_symbols;
5382  PyObject *__pyx_n_s_Fst_print;
5383  PyObject *__pyx_n_s_Fst_properties;
5384  PyObject *__pyx_n_s_Fst_read;
5385  PyObject *__pyx_n_s_Fst_read_from_string;
5386  PyObject *__pyx_n_s_Fst_start;
5387  PyObject *__pyx_n_s_Fst_states;
5388  PyObject *__pyx_n_s_Fst_verify;
5389  PyObject *__pyx_n_s_Fst_weight_type;
5390  PyObject *__pyx_n_s_Fst_write;
5391  PyObject *__pyx_n_s_Fst_write_to_string;
5392  PyObject *__pyx_n_s_IDEMPOTENT;
5393  PyObject *__pyx_n_s_INITIAL_ACYCLIC;
5394  PyObject *__pyx_n_s_INITIAL_CYCLIC;
5395  PyObject *__pyx_n_s_INTRINSIC_PROPERTIES;
5396  PyObject *__pyx_n_s_IOError;
5397  PyObject *__pyx_n_s_I_DETERMINISTIC;
5398  PyObject *__pyx_n_s_I_EPSILONS;
5399  PyObject *__pyx_n_s_I_LABEL_INVARIANT_PROPERTIES;
5400  PyObject *__pyx_n_s_I_LABEL_SORTED;
5401  PyObject *__pyx_kp_u_Incompatible_or_invalid_arc_type;
5402  PyObject *__pyx_kp_u_Incompatible_or_invalid_weight;
5403  PyObject *__pyx_kp_u_Incompatible_or_invalid_weight_t;
5404  PyObject *__pyx_n_s_IndexError;
5405  PyObject *__pyx_kp_u_Invalid_weight;
5406  PyObject *__pyx_n_s_KeyError;
5407  PyObject *__pyx_n_s_LEFT_SEMIRING;
5408  PyObject *__pyx_kp_u_Literal_star_plus;
5409  PyObject *__pyx_n_s_MUTABLE;
5410  PyObject *__pyx_n_s_MutableArcIterator;
5411  PyObject *__pyx_n_s_MutableArcIterator___iter;
5412  PyObject *__pyx_n_s_MutableArcIterator___reduce_cyt;
5413  PyObject *__pyx_n_s_MutableArcIterator___setstate_c;
5414  PyObject *__pyx_kp_u_MutableArcIterator_at_0x;
5415  PyObject *__pyx_n_s_MutableArcIterator_done;
5416  PyObject *__pyx_n_s_MutableArcIterator_flags;
5417  PyObject *__pyx_n_s_MutableArcIterator_next;
5418  PyObject *__pyx_n_s_MutableArcIterator_position;
5419  PyObject *__pyx_n_s_MutableArcIterator_reset;
5420  PyObject *__pyx_n_s_MutableArcIterator_seek;
5421  PyObject *__pyx_n_s_MutableArcIterator_set_flags;
5422  PyObject *__pyx_n_s_MutableArcIterator_set_value;
5423  PyObject *__pyx_n_s_MutableArcIterator_value;
5424  PyObject *__pyx_n_s_MutableFst;
5425  PyObject *__pyx_n_s_MutableFstSymbolTableView;
5426  PyObject *__pyx_n_s_MutableFst_add_arc;
5427  PyObject *__pyx_n_s_MutableFst_add_state;
5428  PyObject *__pyx_n_s_MutableFst_add_states;
5429  PyObject *__pyx_n_s_MutableFst_arcsort;
5430  PyObject *__pyx_n_s_MutableFst_closure;
5431  PyObject *__pyx_n_s_MutableFst_concat;
5432  PyObject *__pyx_n_s_MutableFst_connect;
5433  PyObject *__pyx_n_s_MutableFst_decode;
5434  PyObject *__pyx_n_s_MutableFst_delete_arcs;
5435  PyObject *__pyx_n_s_MutableFst_delete_states;
5436  PyObject *__pyx_n_s_MutableFst_encode;
5437  PyObject *__pyx_n_s_MutableFst_invert;
5438  PyObject *__pyx_n_s_MutableFst_minimize;
5439  PyObject *__pyx_n_s_MutableFst_mutable_arcs;
5440  PyObject *__pyx_n_s_MutableFst_mutable_input_symbols;
5441  PyObject *__pyx_n_s_MutableFst_mutable_output_symbol;
5442  PyObject *__pyx_n_s_MutableFst_num_states;
5443  PyObject *__pyx_n_s_MutableFst_project;
5444  PyObject *__pyx_n_s_MutableFst_prune;
5445  PyObject *__pyx_n_s_MutableFst_push;
5446  PyObject *__pyx_n_s_MutableFst_relabel_pairs;
5447  PyObject *__pyx_n_s_MutableFst_relabel_tables;
5448  PyObject *__pyx_n_s_MutableFst_reserve_arcs;
5449  PyObject *__pyx_n_s_MutableFst_reserve_states;
5450  PyObject *__pyx_n_s_MutableFst_reweight;
5451  PyObject *__pyx_n_s_MutableFst_rmepsilon;
5452  PyObject *__pyx_n_s_MutableFst_set_final;
5453  PyObject *__pyx_n_s_MutableFst_set_input_symbols;
5454  PyObject *__pyx_n_s_MutableFst_set_output_symbols;
5455  PyObject *__pyx_n_s_MutableFst_set_properties;
5456  PyObject *__pyx_n_s_MutableFst_set_start;
5457  PyObject *__pyx_n_s_MutableFst_topsort;
5458  PyObject *__pyx_n_s_MutableFst_union;
5459  PyObject *__pyx_n_s_MutableSymbolTable;
5460  PyObject *__pyx_n_s_MutableSymbolTable_add_symbol;
5461  PyObject *__pyx_n_s_MutableSymbolTable_add_table;
5462  PyObject *__pyx_n_s_MutableSymbolTable_set_name;
5463  PyObject *__pyx_n_s_NEG_TRINARY_PROPERTIES;
5464  PyObject *__pyx_n_s_NON_I_DETERMINISTIC;
5465  PyObject *__pyx_n_s_NON_O_DETERMINISTIC;
5466  PyObject *__pyx_n_s_NOT_ACCEPTOR;
5467  PyObject *__pyx_n_s_NOT_ACCESSIBLE;
5468  PyObject *__pyx_n_s_NOT_COACCESSIBLE;
5469  PyObject *__pyx_n_s_NOT_I_LABEL_SORTED;
5470  PyObject *__pyx_n_s_NOT_O_LABEL_SORTED;
5471  PyObject *__pyx_n_s_NOT_STRING;
5472  PyObject *__pyx_n_s_NOT_TOP_SORTED;
5473  PyObject *__pyx_n_s_NO_EPSILONS;
5474  PyObject *__pyx_n_s_NO_I_EPSILONS;
5475  PyObject *__pyx_n_s_NO_LABEL;
5476  PyObject *__pyx_n_s_NO_O_EPSILONS;
5477  PyObject *__pyx_n_s_NO_STATE_ID;
5478  PyObject *__pyx_n_s_NO_SYMBOL;
5479  PyObject *__pyx_n_s_NULL_PROPERTIES;
5480  PyObject *__pyx_kp_u_No_new_SymbolTables_specified;
5481  PyObject *__pyx_kp_u_No_relabeling_pairs_specified;
5482  PyObject *__pyx_n_s_NotImplementedError;
5483  PyObject *__pyx_n_s_Number;
5484  PyObject *__pyx_n_s_O_DETERMINISTIC;
5485  PyObject *__pyx_n_s_O_EPSILONS;
5486  PyObject *__pyx_n_s_O_LABEL_INVARIANT_PROPERTIES;
5487  PyObject *__pyx_n_s_O_LABEL_SORTED;
5488  PyObject *__pyx_kp_u_Open_failed;
5489  PyObject *__pyx_kp_u_Operation_failed;
5490  PyObject *__pyx_n_s_PATH;
5491  PyObject *__pyx_n_s_PIPE;
5492  PyObject *__pyx_n_s_POS_TRINARY_PROPERTIES;
5493  PyObject *__pyx_n_s_Popen;
5494  PyObject *__pyx_n_s_ProjectType;
5495  PyObject *__pyx_n_s_QueueType;
5496  PyObject *__pyx_n_s_RIGHT_SEMIRING;
5497  PyObject *__pyx_n_s_RM_SUPERFINAL_PROPERTIES;
5498  PyObject *__pyx_n_s_RandArcSelection;
5499  PyObject *__pyx_kp_u_Read_failed;
5500  PyObject *__pyx_kp_u_Read_from_FST_failed;
5501  PyObject *__pyx_kp_u_Read_from_string_failed;
5502  PyObject *__pyx_n_s_ReplaceLabelType;
5503  PyObject *__pyx_n_s_ReweightType;
5504  PyObject *__pyx_n_s_RuntimeError;
5505  PyObject *__pyx_n_s_SEMIRING;
5506  PyObject *__pyx_n_s_SET_ARC_PROPERTIES;
5507  PyObject *__pyx_n_s_SET_FINAL_PROPERTIES;
5508  PyObject *__pyx_n_s_SET_START_PROPERTIES;
5509  PyObject *__pyx_n_s_STATE_SORT_PROPERTIES;
5510  PyObject *__pyx_n_s_STRING;
5511  PyObject *__pyx_n_s_SortType;
5512  PyObject *__pyx_n_s_StateIterator;
5513  PyObject *__pyx_n_s_StateIterator___reduce_cython;
5514  PyObject *__pyx_n_s_StateIterator___setstate_cython;
5515  PyObject *__pyx_kp_u_StateIterator_at_0x;
5516  PyObject *__pyx_n_s_StateIterator_done;
5517  PyObject *__pyx_n_s_StateIterator_next;
5518  PyObject *__pyx_n_s_StateIterator_reset;
5519  PyObject *__pyx_n_s_StateIterator_value;
5520  PyObject *__pyx_n_s_StateMapType;
5521  PyObject *__pyx_kp_u_State_index_out_of_range;
5522  PyObject *__pyx_n_s_StopIteration;
5523  PyObject *__pyx_kp_u_SymbolTable;
5524  PyObject *__pyx_n_s_SymbolTableIterator;
5525  PyObject *__pyx_n_s_SymbolTableIterator___reduce_cy;
5526  PyObject *__pyx_n_s_SymbolTableIterator___setstate;
5527  PyObject *__pyx_kp_u_SymbolTableIterator_at_0x;
5528  PyObject *__pyx_n_s_SymbolTableView;
5529  PyObject *__pyx_n_s_SymbolTableView___reduce;
5530  PyObject *__pyx_n_s_SymbolTableView_available_key;
5531  PyObject *__pyx_n_s_SymbolTableView_checksum;
5532  PyObject *__pyx_n_s_SymbolTableView_copy;
5533  PyObject *__pyx_n_s_SymbolTableView_find;
5534  PyObject *__pyx_n_s_SymbolTableView_get_nth_key;
5535  PyObject *__pyx_n_s_SymbolTableView_labeled_checksum;
5536  PyObject *__pyx_n_s_SymbolTableView_member;
5537  PyObject *__pyx_n_s_SymbolTableView_name;
5538  PyObject *__pyx_n_s_SymbolTableView_num_symbols;
5539  PyObject *__pyx_n_s_SymbolTableView_write;
5540  PyObject *__pyx_n_s_SymbolTableView_write_text;
5541  PyObject *__pyx_n_s_SymbolTableView_write_to_string;
5542  PyObject *__pyx_n_s_SymbolTable_2;
5543  PyObject *__pyx_kp_u_SymbolTable_no_longer_exists;
5544  PyObject *__pyx_n_s_SymbolTable_read;
5545  PyObject *__pyx_n_s_SymbolTable_read_fst;
5546  PyObject *__pyx_n_s_SymbolTable_read_text;
5547  PyObject *__pyx_n_s_TOP_SORTED;
5548  PyObject *__pyx_n_s_TRINARY_PROPERTIES;
5549  PyObject *__pyx_kp_u_Tsvg_cairo;
5550  PyObject *__pyx_n_s_TypeError;
5551  PyObject *__pyx_n_s_UNWEIGHTED;
5552  PyObject *__pyx_n_s_UNWEIGHTED_CYCLES;
5553  PyObject *__pyx_kp_u_Unknown_FAR_type;
5554  PyObject *__pyx_kp_u_Unknown_arc_type;
5555  PyObject *__pyx_kp_u_Unknown_compose_filter_type;
5556  PyObject *__pyx_kp_u_Unknown_determinization_type;
5557  PyObject *__pyx_kp_u_Unknown_epsilon_normalization_ty;
5558  PyObject *__pyx_kp_u_Unknown_map_type;
5559  PyObject *__pyx_kp_u_Unknown_projection_type;
5560  PyObject *__pyx_kp_u_Unknown_queue_type;
5561  PyObject *__pyx_kp_u_Unknown_random_arc_selection_typ;
5562  PyObject *__pyx_kp_u_Unknown_replace_label_type;
5563  PyObject *__pyx_kp_u_Unknown_reweight_type;
5564  PyObject *__pyx_kp_u_Unknown_sort_type;
5565  PyObject *__pyx_n_s_ValueError;
5566  PyObject *__pyx_n_s_VectorFst;
5567  PyObject *__pyx_n_s_WEIGHTED;
5568  PyObject *__pyx_n_s_WEIGHTED_CYCLES;
5569  PyObject *__pyx_n_s_WEIGHT_INVARIANT_PROPERTIES;
5570  PyObject *__pyx_kp_u_Weight;
5571  PyObject *__pyx_n_s_WeightLike;
5572  PyObject *__pyx_n_s_WeightProperties;
5573  PyObject *__pyx_n_s_Weight_2;
5574  PyObject *__pyx_n_s_Weight___reduce_cython;
5575  PyObject *__pyx_n_s_Weight___setstate_cython;
5576  PyObject *__pyx_n_s_Weight_copy;
5577  PyObject *__pyx_n_s_Weight_member;
5578  PyObject *__pyx_n_s_Weight_no_weight;
5579  PyObject *__pyx_n_s_Weight_one;
5580  PyObject *__pyx_n_s_Weight_properties;
5581  PyObject *__pyx_n_s_Weight_to_string;
5582  PyObject *__pyx_n_s_Weight_type;
5583  PyObject *__pyx_kp_u_Weight_type_not_found;
5584  PyObject *__pyx_n_s_Weight_zero;
5585  PyObject *__pyx_kp_u_Write_failed;
5586  PyObject *__pyx_kp_u_Write_to_string_failed;
5587  PyObject *__pyx_kp_u__2;
5588  PyObject *__pyx_kp_u__3;
5589  PyObject *__pyx_n_s__316;
5590  PyObject *__pyx_kp_u__4;
5591  PyObject *__pyx_n_s__40;
5592  PyObject *__pyx_kp_u__6;
5593  PyObject *__pyx_n_s_a;
5594  PyObject *__pyx_n_s_acceptor;
5595  PyObject *__pyx_n_s_add;
5596  PyObject *__pyx_n_s_add_arc;
5597  PyObject *__pyx_n_s_add_state;
5598  PyObject *__pyx_n_s_add_states;
5599  PyObject *__pyx_n_s_add_symbol;
5600  PyObject *__pyx_n_s_add_table;
5601  PyObject *__pyx_n_s_allow_nondet;
5602  PyObject *__pyx_n_s_arc;
5603  PyObject *__pyx_n_s_arc_type;
5604  PyObject *__pyx_n_s_arcmap;
5605  PyObject *__pyx_n_s_arcs;
5606  PyObject *__pyx_n_s_arcsort;
5607  PyObject *__pyx_n_s_args;
5608  PyObject *__pyx_n_s_asyncio_coroutines;
5609  PyObject *__pyx_kp_u_at_0x;
5610  PyObject *__pyx_n_s_attach_new_isymbols;
5611  PyObject *__pyx_n_s_attach_new_osymbols;
5612  PyObject *__pyx_n_u_auto;
5613  PyObject *__pyx_n_s_available_key;
5614  PyObject *__pyx_kp_u_but_received;
5615  PyObject *__pyx_n_s_call_arc_labeling;
5616  PyObject *__pyx_n_s_checksum;
5617  PyObject *__pyx_n_s_class;
5618  PyObject *__pyx_n_s_class_2;
5619  PyObject *__pyx_n_s_cline_in_traceback;
5620  PyObject *__pyx_n_s_close;
5621  PyObject *__pyx_n_s_closure;
5622  PyObject *__pyx_n_s_closure_type;
5623  PyObject *__pyx_n_s_cls;
5624  PyObject *__pyx_n_s_communicate;
5625  PyObject *__pyx_n_s_compact_symbol_table;
5626  PyObject *__pyx_n_s_compile;
5627  PyObject *__pyx_n_s_compose;
5628  PyObject *__pyx_n_s_compose_filter;
5629  PyObject *__pyx_n_s_concat;
5630  PyObject *__pyx_n_s_connect;
5631  PyObject *__pyx_kp_u_const_EncodeMapper_SymbolTableV;
5632  PyObject *__pyx_kp_u_const_Fst_SymbolTableView;
5633  PyObject *__pyx_n_s_convert;
5634  PyObject *__pyx_n_s_copy;
5635  PyObject *__pyx_n_s_create;
5636  PyObject *__pyx_n_s_decode;
5637  PyObject *__pyx_n_u_default;
5638  PyObject *__pyx_n_s_delete_arcs;
5639  PyObject *__pyx_n_s_delete_states;
5640  PyObject *__pyx_n_s_delta;
5641  PyObject *__pyx_n_s_det_type;
5642  PyObject *__pyx_n_s_determinize;
5643  PyObject *__pyx_n_s_dict;
5644  PyObject *__pyx_n_s_difference;
5645  PyObject *__pyx_kp_u_disable;
5646  PyObject *__pyx_n_s_disambiguate;
5647  PyObject *__pyx_n_s_distance;
5648  PyObject *__pyx_n_s_divide;
5649  PyObject *__pyx_n_s_doc;
5650  PyObject *__pyx_n_s_done;
5651  PyObject *__pyx_n_u_dot;
5652  PyObject *__pyx_n_s_draw;
5653  PyObject *__pyx_n_s_e;
5654  PyObject *__pyx_kp_u_enable;
5655  PyObject *__pyx_n_s_encode;
5656  PyObject *__pyx_n_s_encode_labels;
5657  PyObject *__pyx_n_s_encode_weights;
5658  PyObject *__pyx_n_s_enum;
5659  PyObject *__pyx_n_s_eps_norm_type;
5660  PyObject *__pyx_n_s_epsilon_on_replace;
5661  PyObject *__pyx_n_s_epsnormalize;
5662  PyObject *__pyx_n_s_equal;
5663  PyObject *__pyx_n_s_equivalent;
5664  PyObject *__pyx_n_s_error;
5665  PyObject *__pyx_n_s_expression;
5666  PyObject *__pyx_kp_u_failed;
5667  PyObject *__pyx_n_s_far_type;
5668  PyObject *__pyx_n_s_final;
5669  PyObject *__pyx_n_s_find;
5670  PyObject *__pyx_n_s_flags;
5671  PyObject *__pyx_n_s_float_format;
5672  PyObject *__pyx_n_s_fontsize;
5673  PyObject *__pyx_n_s_fspath;
5674  PyObject *__pyx_n_s_fst2;
5675  PyObject *__pyx_n_s_fst2_2;
5676  PyObject *__pyx_n_s_fst_type;
5677  PyObject *__pyx_n_s_fsts2;
5678  PyObject *__pyx_n_s_fsts2_2;
5679  PyObject *__pyx_n_u_functional;
5680  PyObject *__pyx_n_u_g;
5681  PyObject *__pyx_kp_u_gc;
5682  PyObject *__pyx_n_s_get_fst;
5683  PyObject *__pyx_n_s_get_key;
5684  PyObject *__pyx_n_s_get_nth_key;
5685  PyObject *__pyx_n_s_getstate;
5686  PyObject *__pyx_n_s_height;
5687  PyObject *__pyx_n_s_id;