/* Generated by Nim Compiler v1.3.5 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA;
typedef struct tySequence__E2XyP5e7Jr9aMpJMjdz5Tkg tySequence__E2XyP5e7Jr9aMpJMjdz5Tkg;
typedef struct tySequence__1Ib9a4sxiw4YCYbDTADLEsg tySequence__1Ib9a4sxiw4YCYbDTADLEsg;
typedef struct tySequence__xxWWYOndkW9adiM61bZkvsg tySequence__xxWWYOndkW9adiM61bZkvsg;
typedef struct tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg;
typedef struct tyObject_PyLibcolonObjectType___bTw708kK89b8Vj9cmSu9a4zig tyObject_PyLibcolonObjectType___bTw708kK89b8Vj9cmSu9a4zig;
typedef struct tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g;
typedef struct tyObject_RawPyBuffer__0qyRdSZKtLACJ1u4qMMP2w tyObject_RawPyBuffer__0qyRdSZKtLACJ1u4qMMP2w;
typedef struct tyObject_Complex__zWadV1X9aMO7qS9bsQFB0JFA tyObject_Complex__zWadV1X9aMO7qS9bsQFB0JFA;
typedef struct tyObject_PyMethodDef__9aWi1PsmvCuTKIYDHHnhfcw tyObject_PyMethodDef__9aWi1PsmvCuTKIYDHHnhfcw;
typedef struct tyObject_InterpretercolonObjectType___P52MELrsYCwBeooqRNfjVA tyObject_InterpretercolonObjectType___P52MELrsYCwBeooqRNfjVA;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q tySequence__4eQHGndY6XBYpFOH09apV8Q;
typedef struct tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_PyTypeDesc__BKCcJxogshNojOoN23Qfbg tyObject_PyTypeDesc__BKCcJxogshNojOoN23Qfbg;
typedef struct tySequence__mAI4KvRAgoko9bmrV4QRgaQ tySequence__mAI4KvRAgoko9bmrV4QRgaQ;
typedef struct tyObject_PyIteratorDesc__3Lh9c29bpC2Iomkl9cQO9cGqEw tyObject_PyIteratorDesc__3Lh9c29bpC2Iomkl9cQO9cGqEw;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef struct tyObject_PyMemberDef__WC29aEeHi2Pdy9c4AkllcBTg tyObject_PyMemberDef__WC29aEeHi2Pdy9c4AkllcBTg;

/* section: NIM_merge_TYPES */
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
struct tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA {
NCSTRING name;
NCSTRING doc;
tySequence__E2XyP5e7Jr9aMpJMjdz5Tkg* methods;
tySequence__1Ib9a4sxiw4YCYbDTADLEsg* types;
tySequence__xxWWYOndkW9adiM61bZkvsg* iterators;
};
typedef N_CDECL_PTR(void*, tyProc__uQWqJp3WAx8fOY1h9aCwjIg) (void* s, void* a, void* k);
typedef N_NIMCALL_PTR(void*, tyProc__iv6n7tcGawU401muvntJ9cA) (void* aX60gensym5_, void* kwgX60gensym5_);
typedef NCSTRING tyArray__jieoU9cfWs1Krn17l9aYsDyg[2];
struct tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg {
NI ob_refcnt;
void* ob_type;
};
typedef N_CDECL_PTR(void*, tyProc__SsjMo29bx9bP5kwe2xgM3Scg) (NCSTRING f, ...);
typedef N_CDECL_PTR(void*, tyProc__4wJmT85lsn175X0dPNQv7w) (NI sz);
typedef N_CDECL_PTR(NI, tyProc__YRQqZC12s3573tRGP8MV3g) (void* f);
typedef N_CDECL_PTR(void*, tyProc__oPIasAghCTvCKmvkMeB1xQ) (void* f, NI i);
typedef N_CDECL_PTR(int, tyProc__6slETyyIDJuDOSqkO0hUXA) (void* f, NI i, void* v);
typedef N_CDECL_PTR(int, tyProc__tgpXIILGoVcO9bvYnz9azTVQ) (tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* f);
typedef N_CDECL_PTR(void*, tyProc__eYT4U6bGFqFBUxk9b15mfOA) (tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* f, void* a, void* b);
typedef N_CDECL_PTR(int, tyProc__T08W9bgbY4bOv2q64h6irpw) (void* m, NCSTRING n, void* o);
typedef N_CDECL_PTR(int, tyProc__fbYpjfe38x3ujjAmVRbI1Q) (void* o);
typedef N_CDECL_PTR(void*, tyProc__YezmFzxOOyM9cb11Eoq1Elg) (void* o, NCSTRING name);
typedef N_CDECL_PTR(void*, tyProc__jvPpjMAkI9bwM1B9apOphnlA) (void* o);
typedef N_CDECL_PTR(void*, tyProc__VQ1ysQk017myXMGb79cPTVw) (void* o, void* k);
typedef N_CDECL_PTR(int, tyProc__7LMjBc4zOHVIsNdulNv7QQ) (void* o, void* k, void* v);
typedef N_CDECL_PTR(int, tyProc__eoRP3F9aLT3mtHj6OkcMSyQ) (void* a, void* b, int op);
typedef N_CDECL_PTR(int, tyProc__8hR9arLDkUs9ag3Pt9bWtjfsg) (void* o, tyObject_RawPyBuffer__0qyRdSZKtLACJ1u4qMMP2w* b, int flags);
typedef N_CDECL_PTR(void, tyProc__vFvpnKOere9bRFN9czzMRlTA) (tyObject_RawPyBuffer__0qyRdSZKtLACJ1u4qMMP2w* b);
typedef N_CDECL_PTR(void*, tyProc__BZ6N5NNdHcK05FTDxQbEWw) (NCSTRING name, void* base, void* dict);
typedef N_CDECL_PTR(NI64, tyProc__mIlNZ9aGaphVJCyIIofK8mg) (void* l);
typedef N_CDECL_PTR(double, tyProc__2su9b9chqHYibM7sMkbSaSkA) (void* l);
typedef N_CDECL_PTR(void*, tyProc__Fc4ZUx59aQs10dLxeMQ50mw) (long v);
typedef N_CDECL_PTR(int, tyProc__i2exZ7Vtp648U9crOFcq9beQ) (tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* t1, tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* t2);
struct tyObject_Complex__zWadV1X9aMO7qS9bsQFB0JFA {
NF re;
NF im;
};
typedef N_CDECL_PTR(tyObject_Complex__zWadV1X9aMO7qS9bsQFB0JFA, tyProc__N1A5ZvDSgO9c9aRXmVqfn9bAw) (void* op);
typedef N_CDECL_PTR(int, tyProc__3FKLKFzOaK7FD6dRLWM6Jw) (void* o, NIM_CHAR** s, NI* len);
typedef N_CDECL_PTR(void*, tyProc__YDKrw1adv61oVQkQhbYyaA) (NCSTRING s);
typedef N_CDECL_PTR(int, tyProc__B2MjSeo07a72ynTQRVYFKw) (void* o, NCSTRING s);
typedef N_CDECL_PTR(NCSTRING, tyProc__p1X2BwWx9a3wsChhykvf29aA) (void* o);
typedef N_CDECL_PTR(void*, tyProc__NzboHqZVJcbdtVGYrOosXQ) (void);
typedef N_CDECL_PTR(int, tyProc__MTei9bsKjha0o1cISO9aLMDg) (void* o, void* k);
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* o);
typedef N_CDECL_PTR(void, tyProc__ln4kdL5W9bbX4a1xl8nnVXQ) (void);
typedef N_CDECL_PTR(void, tyProc__WYY8i0I79agBofnUcEGCfig) (void* o, NCSTRING s);
typedef N_CDECL_PTR(void, tyProc__32w2ZypAyMWuajvi2Jt79cg) (void* o);
typedef N_CDECL_PTR(void*, tyProc__jcEovQ2rZUNUsYxohT50Ug) (void* p, NCSTRING name, tyProc__32w2ZypAyMWuajvi2Jt79cg destr);
typedef N_CDECL_PTR(void*, tyProc__9b2qzlf3LCKK0JvThQT1atg) (tyObject_PyMethodDef__9aWi1PsmvCuTKIYDHHnhfcw* md, void* self, void* module);
typedef N_CDECL_PTR(void, tyProc__U0oVFt576Ze44Q9a3eZc5wg) (void** ptype, void** pvalue, void** ptraceback);
struct tyObject_PyLibcolonObjectType___bTw708kK89b8Vj9cmSu9a4zig {
void* module;
tyProc__SsjMo29bx9bP5kwe2xgM3Scg Py_BuildValue;
tyProc__4wJmT85lsn175X0dPNQv7w PyTuple_New;
tyProc__YRQqZC12s3573tRGP8MV3g PyTuple_Size;
tyProc__oPIasAghCTvCKmvkMeB1xQ PyTuple_GetItem;
tyProc__6slETyyIDJuDOSqkO0hUXA PyTuple_SetItem;
void* Py_None;
tyProc__tgpXIILGoVcO9bvYnz9azTVQ PyType_Ready;
tyProc__eYT4U6bGFqFBUxk9b15mfOA PyType_GenericNew;
tyProc__T08W9bgbY4bOv2q64h6irpw PyModule_AddObject;
tyProc__4wJmT85lsn175X0dPNQv7w PyList_New;
tyProc__YRQqZC12s3573tRGP8MV3g PyList_Size;
tyProc__oPIasAghCTvCKmvkMeB1xQ PyList_GetItem;
tyProc__6slETyyIDJuDOSqkO0hUXA PyList_SetItem;
tyProc__uQWqJp3WAx8fOY1h9aCwjIg PyObject_Call;
tyProc__fbYpjfe38x3ujjAmVRbI1Q PyObject_IsTrue;
tyProc__YezmFzxOOyM9cb11Eoq1Elg PyObject_GetAttrString;
tyProc__T08W9bgbY4bOv2q64h6irpw PyObject_SetAttrString;
tyProc__jvPpjMAkI9bwM1B9apOphnlA PyObject_Dir;
tyProc__jvPpjMAkI9bwM1B9apOphnlA PyObject_Str;
tyProc__jvPpjMAkI9bwM1B9apOphnlA PyObject_GetIter;
tyProc__VQ1ysQk017myXMGb79cPTVw PyObject_GetItem;
tyProc__7LMjBc4zOHVIsNdulNv7QQ PyObject_SetItem;
tyProc__eoRP3F9aLT3mtHj6OkcMSyQ PyObject_RichCompareBool;
tyProc__8hR9arLDkUs9ag3Pt9bWtjfsg PyObject_GetBuffer;
tyProc__vFvpnKOere9bRFN9czzMRlTA PyBuffer_Release;
tyProc__BZ6N5NNdHcK05FTDxQbEWw PyErr_NewException;
tyProc__jvPpjMAkI9bwM1B9apOphnlA PyIter_Next;
tyProc__mIlNZ9aGaphVJCyIIofK8mg PyLong_AsLongLong;
tyProc__2su9b9chqHYibM7sMkbSaSkA PyFloat_AsDouble;
tyProc__Fc4ZUx59aQs10dLxeMQ50mw PyBool_FromLong;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyBool_Type;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyFloat_Type;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyComplex_Type;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyCapsule_Type;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyTuple_Type;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyList_Type;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyBytes_Type;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyUnicode_Type;
tyProc__i2exZ7Vtp648U9crOFcq9beQ PyType_IsSubtype;
tyProc__N1A5ZvDSgO9c9aRXmVqfn9bAw PyComplex_AsCComplex;
tyProc__2su9b9chqHYibM7sMkbSaSkA PyComplex_RealAsDouble;
tyProc__2su9b9chqHYibM7sMkbSaSkA PyComplex_ImagAsDouble;
tyProc__jvPpjMAkI9bwM1B9apOphnlA PyUnicode_AsUTF8String;
tyProc__3FKLKFzOaK7FD6dRLWM6Jw PyBytes_AsStringAndSize;
tyProc__YDKrw1adv61oVQkQhbYyaA PyUnicode_FromString;
tyProc__B2MjSeo07a72ynTQRVYFKw PyUnicode_CompareWithASCIIString;
tyProc__p1X2BwWx9a3wsChhykvf29aA PyString_AsString;
tyObject_PyTypeObject3Obj__cRsC9bGvH9bX6A9aVx8UB6I5g* PyDict_Type;
tyProc__NzboHqZVJcbdtVGYrOosXQ PyDict_New;
tyProc__YRQqZC12s3573tRGP8MV3g PyDict_Size;
tyProc__YezmFzxOOyM9cb11Eoq1Elg PyDict_GetItemString;
tyProc__T08W9bgbY4bOv2q64h6irpw PyDict_SetItemString;
tyProc__VQ1ysQk017myXMGb79cPTVw PyDict_GetItem;
tyProc__7LMjBc4zOHVIsNdulNv7QQ PyDict_SetItem;
tyProc__jvPpjMAkI9bwM1B9apOphnlA PyDict_Keys;
tyProc__jvPpjMAkI9bwM1B9apOphnlA PyDict_Values;
tyProc__MTei9bsKjha0o1cISO9aLMDg PyDict_Contains;
tyProc__4SVlZZPmetqBimNsH9cHcOA PyDealloc;
tyProc__ln4kdL5W9bbX4a1xl8nnVXQ PyErr_Clear;
tyProc__WYY8i0I79agBofnUcEGCfig PyErr_SetString;
tyProc__NzboHqZVJcbdtVGYrOosXQ PyErr_Occurred;
void* PyExc_TypeError;
tyProc__jcEovQ2rZUNUsYxohT50Ug PyCapsule_New;
tyProc__YezmFzxOOyM9cb11Eoq1Elg PyCapsule_GetPointer;
tyProc__YDKrw1adv61oVQkQhbYyaA PyImport_ImportModule;
tyProc__NzboHqZVJcbdtVGYrOosXQ PyEval_GetBuiltins;
tyProc__NzboHqZVJcbdtVGYrOosXQ PyEval_GetGlobals;
tyProc__NzboHqZVJcbdtVGYrOosXQ PyEval_GetLocals;
tyProc__9b2qzlf3LCKK0JvThQT1atg PyCFunction_NewEx;
NI pythonVersion;
tyProc__U0oVFt576Ze44Q9a3eZc5wg PyErr_Fetch;
tyProc__U0oVFt576Ze44Q9a3eZc5wg PyErr_NormalizeException;
tyProc__MTei9bsKjha0o1cISO9aLMDg PyErr_GivenExceptionMatches;
void* PyExc_BaseException;
void* PyExc_Exception;
void* PyExc_ArithmeticError;
void* PyExc_FloatingPointError;
void* PyExc_OverflowError;
void* PyExc_ZeroDivisionError;
void* PyExc_AssertionError;
void* PyExc_OSError;
void* PyExc_IOError;
void* PyExc_ValueError;
void* PyExc_EOFError;
void* PyExc_MemoryError;
void* PyExc_IndexError;
void* PyExc_KeyError;
void* NimPyException;
};
typedef NU8 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
struct RootObj {
TNimType* m_type;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_PyMethodDef__9aWi1PsmvCuTKIYDHHnhfcw {
NCSTRING ml_name;
tyProc__uQWqJp3WAx8fOY1h9aCwjIg ml_meth;
int ml_flags;
NCSTRING ml_doc;
};
struct tyObject_PyTypeDesc__BKCcJxogshNojOoN23Qfbg {
tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA* module;
NCSTRING name;
NCSTRING doc;
NimStringDesc* fullName;
tyProc__eYT4U6bGFqFBUxk9b15mfOA newFunc;
tySequence__E2XyP5e7Jr9aMpJMjdz5Tkg* methods;
tySequence__mAI4KvRAgoko9bmrV4QRgaQ* members;
NI origSize;
};
struct tyObject_PyIteratorDesc__3Lh9c29bpC2Iomkl9cQO9cGqEw {
NCSTRING name;
NCSTRING doc;
tyProc__eYT4U6bGFqFBUxk9b15mfOA newFunc;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tyObject_PyMemberDef__WC29aEeHi2Pdy9c4AkllcBTg {
NCSTRING name;
int typ;
NI offset;
int flags;
NCSTRING doc;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__4eQHGndY6XBYpFOH09apV8Q {
  TGenericSeq Sup;
  tyTuple__UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE];
};
struct tySequence__E2XyP5e7Jr9aMpJMjdz5Tkg {
  TGenericSeq Sup;
  tyObject_PyMethodDef__9aWi1PsmvCuTKIYDHHnhfcw data[SEQ_DECL_SIZE];
};
struct tySequence__1Ib9a4sxiw4YCYbDTADLEsg {
  TGenericSeq Sup;
  tyObject_PyTypeDesc__BKCcJxogshNojOoN23Qfbg data[SEQ_DECL_SIZE];
};
struct tySequence__xxWWYOndkW9adiM61bZkvsg {
  TGenericSeq Sup;
  tyObject_PyIteratorDesc__3Lh9c29bpC2Iomkl9cQO9cGqEw data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
struct tySequence__mAI4KvRAgoko9bmrV4QRgaQ {
  TGenericSeq Sup;
  tyObject_PyMemberDef__WC29aEeHi2Pdy9c4AkllcBTg data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__bvyyApzoWMsTRz6tx00FGg_2)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(void, nossplitPath)(NimStringDesc* path, tyTuple__UV3llMMYFckfui8YMBuUZA* Result);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
static N_NIMCALL(void, TM__bvyyApzoWMsTRz6tx00FGg_4)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, slash___gEyhbzZ1UcxyenWRLJRXNQ)(NimStringDesc* head, NimStringDesc* tail);
static N_NIMCALL(void, TM__bvyyApzoWMsTRz6tx00FGg_18)(void);
N_LIB_PRIVATE N_NIMCALL(void, initPythonModuleDesc__0f1AKGy9a6FMRjtYbL5nSQg)(tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA* m, NCSTRING name, NCSTRING doc);
N_LIB_EXPORT N_CDECL(void, initnim4py)(void);
N_LIB_PRIVATE N_NIMCALL(void, initModule2__QOPr6RYgxP9c8n2lZVbiDwA)(tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA* m);
N_LIB_EXPORT N_CDECL(void*, PyInit_nim4py)(void);
N_LIB_PRIVATE N_NIMCALL(void*, initModule3__b5gVEAN0cbSksVFIpPmViA)(tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA* m);
N_LIB_PRIVATE N_NIMCALL(void, registerExportedModule__2aw5dpL5lVZZ9cjH0apWcXA)(NimStringDesc* name, void* initAddr2, void* initAddr3);
N_LIB_PRIVATE N_NIMCALL(void, addMethod__TpUnmhxGlZgxTBTLPiE3nw)(tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA* m, NCSTRING name, NCSTRING doc, tyProc__uQWqJp3WAx8fOY1h9aCwjIg f);
N_LIB_PRIVATE N_CDECL(void*, nimscriptPy_wrapper__9cipsVivQQltoMxeF52zNvw)(void* selfX60gensym5_, void* args, void* kwargs);
static N_INLINE(void, updateStackBottom__FRn3WNsRdbdvfuL6O7x1BQnimpy)(void);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void*, noinline__N80vx60ClNyGM4nya6MU8g)(void* args, void* kwargs);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, verifyArgs__8sVYJT4zfbIXMNXtJ2cTng)(void* argTuple, void* kwargsDict, NI argsLen, NI argsLenReq, NCSTRING* argNames, NI argNamesLen_0, NimStringDesc* funcName);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(void, parseArg__icg9aGIbXA4DEIGHwq7rmAA)(void* argTuple, void* kwargsDict, NI argIdx, NCSTRING argName, NimStringDesc** result);
N_LIB_PRIVATE N_NIMCALL(void, parseArg__9b6ttEhK1WRqorza3JVW9cJw)(void* argTuple, void* kwargsDict, NI argIdx, NCSTRING argName, tySequence__sM4lkSb7zS6F7OVMvW9cffQ** result);
static N_INLINE(void*, nimValueToPy__6Tvzvi9bEckxJJClCQCOiEAnimpy)(void);
static N_INLINE(void*, newPyNone__6Tvzvi9bEckxJJClCQCOiEA_2nimpy)(void);
static N_INLINE(void, incRef__CnqcscfOCAX2jCHv3dRPDwpy_utils)(void* p);
static N_INLINE(tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg*, to__4gaYCHYBaCTIs6wfSrqsEApy_lib)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, nimscript__ikFi1e2HPvfe2o39aHsWPsg)(NimStringDesc* script, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* stdlib);
N_LIB_PRIVATE N_NIMCALL(tyObject_InterpretercolonObjectType___P52MELrsYCwBeooqRNfjVA*, createInterpreter__Vm5i60HMRDNohAhV79cksfg)(NimStringDesc* scriptName, NimStringDesc** searchPaths, NI searchPathsLen_0, tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A flags, tySequence__4eQHGndY6XBYpFOH09apV8Q* defines, NIM_BOOL registerOps);
N_LIB_PRIVATE N_NIMCALL(void, evalScript__4xNUzcz2JvcblqszY4dB2A)(tyObject_InterpretercolonObjectType___P52MELrsYCwBeooqRNfjVA* i, tyObject_TLLStream__a5oZYQ9aTktYME2449ayEi6g* scriptStream);
N_LIB_PRIVATE N_NIMCALL(void, destroyInterpreter__7l8n82kSsf9aZx1TpDojCzQ)(tyObject_InterpretercolonObjectType___P52MELrsYCwBeooqRNfjVA* i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(Exception*, getCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void*, pythonException__Zl8uxcjgHaQZB15tcqXlTA)(Exception* e);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_ioDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_posixDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_osDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_osInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_ropesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_ropesInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_tablesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_lineinfosDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_strtabsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_setsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_platformDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_prefixmatchesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_terminalDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_terminalInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_optionsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_identsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_astDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_intsetsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_incrementalDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_btreesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_md5DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_modulegraphsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_llstreamDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_nimlexbaseDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_lexerDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_parserDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_rendererDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_syntaxesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_reorderDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_typesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_streamsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_osprocDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_lexbaseDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_parsejsonDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_vmdefDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_semdataDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_semtypinstDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_sigmatchDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_guardsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_varpartitionsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_transfDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_vmDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_patternsDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_semDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, compiler_nimevalDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimpy_py_typesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimpy_py_libDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimpy_py_libInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimpy_nimpyDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);

/* section: NIM_merge_DATA */
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_3, "/Users/runner/work/nim4py/nim4py/src/nim4py.nim", 47);
extern TNimType NTI__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_5, "lib", 3);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_6, "arch", 4);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_7, "core", 4);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_8, "deprecated", 10);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_9, "experimental", 12);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_10, "impure", 6);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_11, "packages", 8);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_12, "posix", 5);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_13, "pure", 4);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_14, "std", 3);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_15, "system", 6);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_16, "windows", 7);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_17, "wrappers", 8);
extern TNimType NTI__gBC8z6Ez5xj3dXoP0ylCRA_;
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_19, "nim4py", 6);
static NIM_CONST tyArray__jieoU9cfWs1Krn17l9aYsDyg TM__bvyyApzoWMsTRz6tx00FGg_20 = {"script",
"stdlib"}
;
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_21, "nimscript", 9);
STRING_LITERAL(TM__bvyyApzoWMsTRz6tx00FGg_23, "true", 4);
static NIM_CONST struct {
  TGenericSeq Sup;
  tyTuple__UV3llMMYFckfui8YMBuUZA data[1];
} TM__bvyyApzoWMsTRz6tx00FGg_24 = {{1, 1 | NIM_STRLIT_FLAG}, {{((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_21),
((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_23)}
}};
static NIM_CONST tySequence__4eQHGndY6XBYpFOH09apV8Q* TM__bvyyApzoWMsTRz6tx00FGg_22 = ((tySequence__4eQHGndY6XBYpFOH09apV8Q*)&TM__bvyyApzoWMsTRz6tx00FGg_24);
extern TNimType NTI__XEycrCsme5C8CVWAYEcdBQ_;

/* section: NIM_merge_VARS */
N_LIB_PRIVATE NimStringDesc* folder__9agkzsOJLQ9by9a1Si63rIGRw;
extern NIM_BOOL nimInErrorMode__759bT87luu8XGcbkw13FUjA;
N_LIB_PRIVATE tySequence__sM4lkSb7zS6F7OVMvW9cffQ* stdlib__JPswUt09bffoeArF9cXUAF9ag;
N_LIB_PRIVATE tyObject_PyModuleDesc__gBC8z6Ez5xj3dXoP0ylCRA gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w;
extern NU pyObjectStartOffset__g20dGCi2MffsHqmxIpqX7Q;
extern tyObject_PyLibcolonObjectType___bTw708kK89b8Vj9cmSu9a4zig* pyLib__nxKBiAukGMNwnUq9bpn9adyw;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;
extern Exception* currException__9bVPeDJlYTi9bQApZpfH8wjg;

/* section: NIM_merge_PROCS */
static N_NIMCALL(void, TM__bvyyApzoWMsTRz6tx00FGg_2)(void) {
	nimGCvisit((void*)folder__9agkzsOJLQ9by9a1Si63rIGRw, 0);
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (NIM_BOOL*)0;
	result = (&nimInErrorMode__759bT87luu8XGcbkw13FUjA);
	return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_NIMCALL(void, TM__bvyyApzoWMsTRz6tx00FGg_4)(void) {
	nimGCvisit((void*)stdlib__JPswUt09bffoeArF9cXUAF9ag, 0);
}
static N_NIMCALL(void, TM__bvyyApzoWMsTRz6tx00FGg_18)(void) {
	nimGCvisit((void*)gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w.methods, 0);
	nimGCvisit((void*)gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w.types, 0);
	nimGCvisit((void*)gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w.iterators, 0);
}
N_LIB_EXPORT N_CDECL(void, initnim4py)(void) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	initModule2__QOPr6RYgxP9c8n2lZVbiDwA((&gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_EXPORT N_CDECL(void*, PyInit_nim4py)(void) {
	void* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (void*)0;
	result = initModule3__b5gVEAN0cbSksVFIpPmViA((&gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, updateStackBottom__FRn3WNsRdbdvfuL6O7x1BQnimpy)(void) {
	NI volatile a;
	a = (NI)0;
	nimGC_setStackBottom(((void*) (((NU) (ptrdiff_t) ((&a))))));
}
static N_INLINE(tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg*, to__4gaYCHYBaCTIs6wfSrqsEApy_lib)(void* p) {
	tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg* result;
	result = (tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg*)0;
	result = ((tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg*) ((NU)((NU64)(((NU) (ptrdiff_t) (p))) + (NU64)(pyObjectStartOffset__g20dGCi2MffsHqmxIpqX7Q))));
	return result;
}
static N_INLINE(void, incRef__CnqcscfOCAX2jCHv3dRPDwpy_utils)(void* p) {
	tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyObject_PyObjectObj__aD5pkFWInXrZXinZ42cDEg*)0;
	T1_ = to__4gaYCHYBaCTIs6wfSrqsEApy_lib(p);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*T1_).ob_refcnt += ((NI) 1);
	}BeforeRet_: ;
}
static N_INLINE(void*, newPyNone__6Tvzvi9bEckxJJClCQCOiEA_2nimpy)(void) {
	void* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (void*)0;
	incRef__CnqcscfOCAX2jCHv3dRPDwpy_utils((*pyLib__nxKBiAukGMNwnUq9bpn9adyw).Py_None);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (*pyLib__nxKBiAukGMNwnUq9bpn9adyw).Py_None;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void*, nimValueToPy__6Tvzvi9bEckxJJClCQCOiEAnimpy)(void) {
	void* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (void*)0;
	result = newPyNone__6Tvzvi9bEckxJJClCQCOiEA_2nimpy();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nimscript__ikFi1e2HPvfe2o39aHsWPsg)(NimStringDesc* script, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* stdlib) {
	tyObject_InterpretercolonObjectType___P52MELrsYCwBeooqRNfjVA* interpreter;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	interpreter = createInterpreter__Vm5i60HMRDNohAhV79cksfg(script, stdlib->data, (stdlib ? stdlib->Sup.len : 0), 0, TM__bvyyApzoWMsTRz6tx00FGg_22, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	evalScript__4xNUzcz2JvcblqszY4dB2A(interpreter, NIM_NIL);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	destroyInterpreter__7l8n82kSsf9aZx1TpDojCzQ(interpreter);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = (Exception*)0;
	result = currException__9bVPeDJlYTi9bQApZpfH8wjg;
	return result;
}
static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = (Exception*)0;
	result = currException__9bVPeDJlYTi9bQApZpfH8wjg;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	currException__9bVPeDJlYTi9bQApZpfH8wjg = (*currException__9bVPeDJlYTi9bQApZpfH8wjg).up;
}
N_LIB_PRIVATE N_NIMCALL(void*, noinline__N80vx60ClNyGM4nya6MU8g)(void* args, void* kwargs) {
	void* result;
	NimStringDesc* arg0script;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* arg1stdlib;
	void* T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (void*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = verifyArgs__8sVYJT4zfbIXMNXtJ2cTng(args, kwargs, ((NI) 2), ((NI) 1), TM__bvyyApzoWMsTRz6tx00FGg_20, 2, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_21));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T3_)) goto LA4_;
		result = ((void*) (NIM_NIL));
		goto BeforeRet_;
	}
	LA4_: ;
	arg0script = (NimStringDesc*)0;
	genericSeqAssign((&arg1stdlib), stdlib__JPswUt09bffoeArF9cXUAF9ag, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
	parseArg__icg9aGIbXA4DEIGHwq7rmAA(args, kwargs, ((NI) 0), "script", (&arg0script));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	parseArg__9b6ttEhK1WRqorza3JVW9cJw(args, kwargs, ((NI) 1), "stdlib", (&arg1stdlib));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nimscript__ikFi1e2HPvfe2o39aHsWPsg(arg0script, arg1stdlib);
	if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
	T7_ = (void*)0;
	T7_ = nimValueToPy__6Tvzvi9bEckxJJClCQCOiEAnimpy();
	if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
	result = T7_;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA6_:;
		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTI__XEycrCsme5C8CVWAYEcdBQ_))) {
			Exception* eX60gensym5_;
			void* T11_;
			*nimErr_ = NIM_FALSE;
			eX60gensym5_ = getCurrentException();
			T11_ = (void*)0;
			T11_ = pythonException__Zl8uxcjgHaQZB15tcqXlTA(eX60gensym5_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			result = T11_;
			popCurrentException();
			LA9_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_CDECL(void*, nimscriptPy_wrapper__9cipsVivQQltoMxeF52zNvw)(void* selfX60gensym5_, void* args, void* kwargs) {
	void* result;
	tyProc__iv6n7tcGawU401muvntJ9cA volatile pX60gensym5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (void*)0;
	updateStackBottom__FRn3WNsRdbdvfuL6O7x1BQnimpy();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	pX60gensym5_ = noinline__N80vx60ClNyGM4nya6MU8g;
	result = pX60gensym5_(args, kwargs);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
	nimGC_setStackBottom(locals);
}

N_LIB_PRIVATE void PreMainInner(void) {
	stdlib_timesInit000();
	stdlib_osInit000();
	compiler_ropesInit000();
	stdlib_terminalInit000();
	nimpy_py_libInit000();
}

N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
	void (*volatile inner)(void);
	inner = PreMainInner;
	stdlib_ioDatInit000();
	systemDatInit000();
	initStackBottomWith((void *)&inner);
	systemInit000();
	stdlib_posixDatInit000();
	stdlib_timesDatInit000();
	stdlib_osDatInit000();
	compiler_ropesDatInit000();
	stdlib_tablesDatInit000();
	compiler_lineinfosDatInit000();
	stdlib_strtabsDatInit000();
	stdlib_setsDatInit000();
	compiler_platformDatInit000();
	compiler_prefixmatchesDatInit000();
	stdlib_terminalDatInit000();
	compiler_optionsDatInit000();
	compiler_identsDatInit000();
	compiler_astDatInit000();
	stdlib_intsetsDatInit000();
	compiler_incrementalDatInit000();
	compiler_btreesDatInit000();
	stdlib_md5DatInit000();
	compiler_modulegraphsDatInit000();
	compiler_llstreamDatInit000();
	compiler_nimlexbaseDatInit000();
	compiler_lexerDatInit000();
	compiler_parserDatInit000();
	compiler_rendererDatInit000();
	compiler_syntaxesDatInit000();
	compiler_reorderDatInit000();
	compiler_typesDatInit000();
	stdlib_streamsDatInit000();
	stdlib_osprocDatInit000();
	stdlib_lexbaseDatInit000();
	stdlib_parsejsonDatInit000();
	compiler_vmdefDatInit000();
	compiler_semdataDatInit000();
	compiler_semtypinstDatInit000();
	compiler_sigmatchDatInit000();
	compiler_guardsDatInit000();
	compiler_varpartitionsDatInit000();
	compiler_transfDatInit000();
	compiler_vmDatInit000();
	compiler_patternsDatInit000();
	compiler_semDatInit000();
	compiler_nimevalDatInit000();
	nimpy_py_typesDatInit000();
	nimpy_py_libDatInit000();
	nimpy_nimpyDatInit000();
	(*inner)();
}

N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
	NimMainModule();
}

N_LIB_EXPORT N_CDECL(void, NimMain)(void) {
	void (*volatile inner)(void);
	PreMain();
	inner = NimMainInner;
	initStackBottomWith((void *)&inner);
	(*inner)();
}

N_LIB_PRIVATE void NIM_POSIX_INIT NimMainInit(void) {
	NimMain();
}

N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
	tyTuple__UV3llMMYFckfui8YMBuUZA T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	NimStringDesc* T5_;
	NimStringDesc* T6_;
	NimStringDesc* T7_;
	NimStringDesc* T8_;
	NimStringDesc* T9_;
	NimStringDesc* T10_;
	NimStringDesc* T11_;
	NimStringDesc* T12_;
	NimStringDesc* T13_;
	NimStringDesc* T14_;
	NimStringDesc* T15_;
	NimStringDesc* T16_;
	NimStringDesc* T17_;
	NimStringDesc* T18_;
	NimStringDesc* T19_;
	NimStringDesc* T20_;
	NimStringDesc* T21_;
	NimStringDesc* T22_;
	NimStringDesc* T23_;
	NimStringDesc* T24_;
	NimStringDesc* T25_;
	NimStringDesc* T26_;
NIM_BOOL* nimErr_;

	nimRegisterGlobalMarker(TM__bvyyApzoWMsTRz6tx00FGg_2);


	nimRegisterGlobalMarker(TM__bvyyApzoWMsTRz6tx00FGg_4);

nimErr_ = nimErrorFlag();

	nimRegisterGlobalMarker(TM__bvyyApzoWMsTRz6tx00FGg_18);

	nimZeroMem((void*)(&T1_), sizeof(tyTuple__UV3llMMYFckfui8YMBuUZA));
	nossplitPath(((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_3), (&T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	folder__9agkzsOJLQ9by9a1Si63rIGRw = copyString(T1_.Field0);
	stdlib__JPswUt09bffoeArF9cXUAF9ag = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI__sM4lkSb7zS6F7OVMvW9cffQ_), 13);
	T2_ = (NimStringDesc*)0;
	T2_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[0] = T2_;
	T3_ = (NimStringDesc*)0;
	T3_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T4_ = (NimStringDesc*)0;
	T4_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T3_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_6));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[1] = T4_;
	T5_ = (NimStringDesc*)0;
	T5_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = (NimStringDesc*)0;
	T6_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T5_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_7));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[2] = T6_;
	T7_ = (NimStringDesc*)0;
	T7_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T8_ = (NimStringDesc*)0;
	T8_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T7_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_8));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[3] = T8_;
	T9_ = (NimStringDesc*)0;
	T9_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T10_ = (NimStringDesc*)0;
	T10_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T9_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_9));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[4] = T10_;
	T11_ = (NimStringDesc*)0;
	T11_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T12_ = (NimStringDesc*)0;
	T12_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T11_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_10));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[5] = T12_;
	T13_ = (NimStringDesc*)0;
	T13_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T14_ = (NimStringDesc*)0;
	T14_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T13_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_11));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[6] = T14_;
	T15_ = (NimStringDesc*)0;
	T15_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T16_ = (NimStringDesc*)0;
	T16_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T15_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_12));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[7] = T16_;
	T17_ = (NimStringDesc*)0;
	T17_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T18_ = (NimStringDesc*)0;
	T18_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T17_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_13));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[8] = T18_;
	T19_ = (NimStringDesc*)0;
	T19_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T20_ = (NimStringDesc*)0;
	T20_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T19_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_14));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[9] = T20_;
	T21_ = (NimStringDesc*)0;
	T21_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T22_ = (NimStringDesc*)0;
	T22_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T21_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_15));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[10] = T22_;
	T23_ = (NimStringDesc*)0;
	T23_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T24_ = (NimStringDesc*)0;
	T24_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T23_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_16));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[11] = T24_;
	T25_ = (NimStringDesc*)0;
	T25_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(folder__9agkzsOJLQ9by9a1Si63rIGRw, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_5));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T26_ = (NimStringDesc*)0;
	T26_ = slash___gEyhbzZ1UcxyenWRLJRXNQ(T25_, ((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_17));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	stdlib__JPswUt09bffoeArF9cXUAF9ag->data[12] = T26_;
	initPythonModuleDesc__0f1AKGy9a6FMRjtYbL5nSQg((&gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w), "nim4py", "");
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	registerExportedModule__2aw5dpL5lVZZ9cjH0apWcXA(((NimStringDesc*) &TM__bvyyApzoWMsTRz6tx00FGg_19), ((void*) (initnim4py)), ((void*) (PyInit_nim4py)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	addMethod__TpUnmhxGlZgxTBTLPiE3nw((&gPythonLocalModuleDesc__U8f9bnkhs9ak9ca9c8BBya7n3w), "nimscript", "NimScript Interpreter for Python, see https://nim-lang.github.i"
"o/Nim/nims.html\012func nimscript(script: string; stdlib: openArray"
"[string]; verbose: bool = false)", nimscriptPy_wrapper__9cipsVivQQltoMxeF52zNvw);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	BeforeRet_: ;
	nimTestErrorFlag();
}
}

