/* Generated by Nim Compiler v0.16.0 */
/*   (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#undef linux
typedef struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ;
typedef struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q;
typedef struct TY_Kt26pfZ2dm3KOyU8Hxh6hQ TY_Kt26pfZ2dm3KOyU8Hxh6hQ;
typedef struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Tpasscontext_qNsm39cWb35W2r5AAd9ch87g;
typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw;
typedef struct Trodreader_16TURXdqtpMMssNVfU5WqQ Trodreader_16TURXdqtpMMssNVfU5WqQ;
typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct TNimObject TNimObject;
typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw;
typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA;
typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg;
typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ;
typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw;
typedef struct Table_tfmlwa8ktiw8woWAs5vhtQ Table_tfmlwa8ktiw8woWAs5vhtQ;
typedef struct TY_kxu4GK0onha2t9bo86mdVAg TY_kxu4GK0onha2t9bo86mdVAg;
typedef struct TY_48JTohSgTy339bRxHzUD8KA TY_48JTohSgTy339bRxHzUD8KA;
typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA;
typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw;
typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g;
typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw;
typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ;
typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA;
typedef struct Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q;
typedef struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw;
typedef struct TY_4eQHGndY6XBYpFOH09apV8Q TY_4eQHGndY6XBYpFOH09apV8Q;
typedef struct TY_UV3llMMYFckfui8YMBuUZA TY_UV3llMMYFckfui8YMBuUZA;
typedef struct Orderedtable_AF39bJ7XDr6gpANuGpxkHrw Orderedtable_AF39bJ7XDr6gpANuGpxkHrw;
typedef struct TY_MlAD6nAPq9bHKla9cWiIZP0g TY_MlAD6nAPq9bHKla9cWiIZP0g;
typedef struct TY_oLpBKXzW3hF9aCVMo5EymfQ TY_oLpBKXzW3hF9aCVMo5EymfQ;
typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w;
typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA;
typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg;
typedef struct Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q;
typedef struct TY_jq7X5k7hWG0tdTZTDkiyGQ TY_jq7X5k7hWG0tdTZTDkiyGQ;
typedef struct Tllstream_IHsOGFu33dIY69a9bLlFHlHw Tllstream_IHsOGFu33dIY69a9bLlFHlHw;
typedef struct Tlexer_IOWqYAjEw106AHiXcZcUGg Tlexer_IOWqYAjEw106AHiXcZcUGg;
typedef struct Tbaselexer_z9a7O76kH1tJ9aXJ3h2MdEzA Tbaselexer_z9a7O76kH1tJ9aXJ3h2MdEzA;
typedef struct Ttoken_kLaEEPwLj8cag79cbYQIkHQ Ttoken_kLaEEPwLj8cag79cbYQIkHQ;
typedef struct TY_sM4lkSb7zS6F7OVMvW9cffQ TY_sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct Tindex_hUZsEw7f9bvoVPQYLWHrTDQ Tindex_hUZsEw7f9bvoVPQYLWHrTDQ;
typedef struct Tiitable_2ud26DHRGdy6LEqDPifSOA Tiitable_2ud26DHRGdy6LEqDPifSOA;
typedef struct TY_h0IAOvrRzVzO3NpUxaxxvQ TY_h0IAOvrRzVzO3NpUxaxxvQ;
typedef struct Table_DYt7wxxRVZ9c5PDjh5cfgPA Table_DYt7wxxRVZ9c5PDjh5cfgPA;
typedef struct TY_eBSwX9aa9c1W8S1FJPmehz9aQ TY_eBSwX9aa9c1W8S1FJPmehz9aQ;
typedef struct Memfile_j4SnXNrJDFBxAz4BlbM9aIQ Memfile_j4SnXNrJDFBxAz4BlbM9aIQ;
typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct TY_xDU9bZmv1ZbZkJDaATBekIQ TY_xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA;
typedef struct TY_awOivLjlO76sGdHY7nQUjQ TY_awOivLjlO76sGdHY7nQUjQ;
typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w;
typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ;
typedef struct Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA;
typedef struct TY_XUtHSCESHcg7KVfuMIqQmw TY_XUtHSCESHcg7KVfuMIqQmw;
typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct  Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw  {
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail;
NI counter;
};
typedef NU8 Tcommands_VH3ghgQVwLSg3krOAoXigw;
typedef N_NIMCALL_PTR(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, TY_qVE6tETc7u8Eau18WewpGg) (ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
typedef N_NIMCALL_PTR(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, TY_LgVKr1aC1gK0O29b6lFYYWg) (ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, Trodreader_16TURXdqtpMMssNVfU5WqQ* rd0);
typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_SxgxTlU9aOWVQBRe56a9btKw) (Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* toplevelstmt0);
struct TY_Kt26pfZ2dm3KOyU8Hxh6hQ {
TY_qVE6tETc7u8Eau18WewpGg Field0;
TY_LgVKr1aC1gK0O29b6lFYYWg Field1;
TY_SxgxTlU9aOWVQBRe56a9btKw Field2;
TY_SxgxTlU9aOWVQBRe56a9btKw Field3;
};
typedef NU64 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set;
typedef NU8 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw;
struct  Tstrtable_f07aOS3dr28kGa5wcE29aFA  {
NI counter;
TY_sksVpmPRIkNR9axiwtD1Guw* data;
};
struct  Intset_PQrmFm4BXFkFSVOUl1ojSg  {
NI counter;
NI max;
Trunk_ul49aWfv9aes8cutmeltT3gQ* head;
TY_9brg1xNurxcus33lU4IE1Dw* data;
};
struct  Table_tfmlwa8ktiw8woWAs5vhtQ  {
TY_kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
struct  ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ  {
TY_sksVpmPRIkNR9axiwtD1Guw* modules;
Tstrtable_f07aOS3dr28kGa5wcE29aFA packagesyms;
Intset_PQrmFm4BXFkFSVOUl1ojSg deps;
NIM_BOOL suggestmode;
NIM_BOOL invalidtransitiveclosure;
Table_tfmlwa8ktiw8woWAs5vhtQ incltomod;
TY_48JTohSgTy339bRxHzUD8KA* importstack;
TNimObject* backend;
};
typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw;
typedef NU8 Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ;
typedef NU8 Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 Filemode_fVUBHvW79bXUw1j55Oo9avSQ;
typedef NimStringDesc* TY_nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set;
typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0);
typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0);
struct  TNimType  {
NI size;
Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind;
Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY_ojoeKfW4VYIm36I9cpDTQIg marker;
TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  Tidobj_raN9cHVgzmvaXisezY9aGg9cg  {
  TNimObject Sup;
NI id;
};
typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw;
typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg;
struct  Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw  {
NI16 line;
NI16 col;
NI32 fileindex;
};
typedef NU32 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set;
typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_Set;
typedef NU8 Tlockind_O7PRFZKuiBBWbku09cayVBg;
typedef NU8 Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set;
struct  Tloc_EtHNvCB0bgfu9bFjzx9cb6aA  {
Tlockind_O7PRFZKuiBBWbku09cayVBg k;
Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw s;
Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set flags;
Ttype_LTUWCZolpovw9cWE3JBWSUw* t;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* r;
};
struct  Tsym_AXG7xcvKqaxY6koRX1xkCw  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
Tsymkind_cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {TY_zuqP4Riz26Oi5fWgPYVEgA* typeinstcache;
} S1;
struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* procinstcache;
Tsym_AXG7xcvKqaxY6koRX1xkCw* gcunsafetyreason;
} S2;
struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* usedgenerics;
Tstrtable_f07aOS3dr28kGa5wcE29aFA tab;
} S3;
struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* guard;
NI bitsize;
} S4;
} kindU;
Tmagic_shZhZOdbVC5nnFvcXQAImg magic;
Ttype_LTUWCZolpovw9cWE3JBWSUw* typ;
Tident_4umxGerWTHGPwUms7Yqu3g* name;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info;
Tsym_AXG7xcvKqaxY6koRX1xkCw* owner;
Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set flags;
Tnode_bROa11lyF5vxEN9aYNbHmhw* ast;
Toption_WspMeQySXNP2XoTWR5MTgg_Set options;
NI position;
NI offset;
Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
Tlib_4f9aBgmqEuj7uWJdBBGcRgA* annex;
Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint;
};
typedef NU8 Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ;
struct  Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw  {
  TNimObject Sup;
NI counter;
TY_4eQHGndY6XBYpFOH09apV8Q* data;
Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ mode;
};
struct TY_UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
typedef NU8 Jsonnodekind_RUngo7nCHe6O8aBGIcrhtg;
struct  Orderedtable_AF39bJ7XDr6gpANuGpxkHrw  {
TY_MlAD6nAPq9bHKla9cWiIZP0g* data;
NI counter;
NI first;
NI last;
};
struct  Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q  {
Jsonnodekind_RUngo7nCHe6O8aBGIcrhtg kind;
union{
struct {NimStringDesc* str;
} S1;
struct {NI64 num;
} S2;
struct {NF fnum;
} S3;
struct {NIM_BOOL bval;
} S4;
struct {Orderedtable_AF39bJ7XDr6gpANuGpxkHrw fields;
} S6;
struct {TY_oLpBKXzW3hF9aCVMo5EymfQ* elems;
} S7;
} kindU;
};
struct  Cell_1zcF9cV8XIAtbN8h5HRUB8g  {
NI refcount;
TNimType* typ;
};
struct  Cellseq_Axo1XVm9aaQueTOldv8le5w  {
NI len;
NI cap;
Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256];
struct  Intset_EZObFrE3NC9bIb3YMkY9crZA  {
TY_lh2A89ahMmYg9bCmpVaplLbA data;
};
struct  Memregion_x81NhDv59b8ercDZ9bi85jyg  {
NI minlargeobj;
NI maxlargeobj;
TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks;
Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist;
Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last;
Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes;
NIM_BOOL locked;
NIM_BOOL blockchunksizeincrease;
NI nextchunksize;
};
struct  Gcstat_0RwLoVBHZPfUAcLczmfQAg  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Cellset_jG87P0AI9aZtss9ccTYBIISQ  {
NI counter;
NI max;
Pagedesc_fublkgIY4LG3mT51LU2WHg* head;
Pagedesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct  Gcheap_1TRH1TZMaVZTnLNcIHuNFQ  {
Gcstack_7fytPA5bBsob6See21YMRA* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq_Axo1XVm9aaQueTOldv8le5w zct;
Cellseq_Axo1XVm9aaQueTOldv8le5w decstack;
Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack;
NI recgclock;
Memregion_x81NhDv59b8ercDZ9bi85jyg region;
Gcstat_0RwLoVBHZPfUAcLczmfQAg stat;
Cellset_jG87P0AI9aZtss9ccTYBIISQ marked;
Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots;
};
struct  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q  {
  TNimObject Sup;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev;
Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next;
};
struct  Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q  {
  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup;
NimStringDesc* data;
};
struct TY_jq7X5k7hWG0tdTZTDkiyGQ {
NimStringDesc* Field0;
Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* Field1;
};
typedef TY_jq7X5k7hWG0tdTZTDkiyGQ TY_rhtWm6uYOU6da9bZDT6ryDA[4];
typedef NU8 Msgflag_BzRTaQ6LrPDZKEKt9bswkOQ_Set;
struct  Tbaselexer_z9a7O76kH1tJ9aXJ3h2MdEzA  {
  TNimObject Sup;
NI bufpos;
NCSTRING buf;
NI buflen;
Tllstream_IHsOGFu33dIY69a9bLlFHlHw* stream;
NI linenumber;
NI sentinel;
NI linestart;
};
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0, void* ClEnv);
void* ClEnv;
} TY_l9buWVPY1qenw5uCj2k2Uqg;
struct  Tlexer_IOWqYAjEw106AHiXcZcUGg  {
  Tbaselexer_z9a7O76kH1tJ9aXJ3h2MdEzA Sup;
NI32 fileidx;
NI indentahead;
NI currlineindent;
NIM_BOOL strongspaces;
NIM_BOOL allowtabs;
TY_l9buWVPY1qenw5uCj2k2Uqg errorhandler;
IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache;
};
typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ;
struct  TNimNode  {
Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 Ttoktype_vw8YkgaVtNadqP8v5OpXKA;
typedef NU8 Tnumericalbase_9cbxR9czWgoXwHHSzHtd9aV7Q;
struct  Ttoken_kLaEEPwLj8cag79cbYQIkHQ  {
Ttoktype_vw8YkgaVtNadqP8v5OpXKA toktype;
NI indent;
Tident_4umxGerWTHGPwUms7Yqu3g* ident;
NI64 inumber;
NF fnumber;
Tnumericalbase_9cbxR9czWgoXwHHSzHtd9aV7Q base;
NI8 strongspacea;
NI8 strongspaceb;
NimStringDesc* literal;
NI line;
NI col;
};
typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef TY_Kt26pfZ2dm3KOyU8Hxh6hQ TY_uUP5aGdGiu9beAqNk4wGmtw[3];
typedef NimStringDesc* TY_sMpvt1sOxOJ3LFGulnbeMQ[4];
typedef NU8 Floatformatmode_pNvEoaqwoxKyoASD11vSgQ;
typedef NU8 Binaryprefixmode_nDtrM19b3byM8T9ab2m7BwvA;
typedef Tident_4umxGerWTHGPwUms7Yqu3g* TY_CBfZt49asUfAsBVM7a3Rc9cw[8192];
struct  IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw  {
TY_CBfZt49asUfAsBVM7a3Rc9cw buckets;
NI wordcounter;
Tident_4umxGerWTHGPwUms7Yqu3g* idanon;
Tident_4umxGerWTHGPwUms7Yqu3g* iddelegator;
Tident_4umxGerWTHGPwUms7Yqu3g* emptyident;
};
struct  Tpasscontext_qNsm39cWb35W2r5AAd9ch87g  {
  TNimObject Sup;
NIM_BOOL fromcache;
};
typedef NU8 Treasonforrecompile_CESX1DWEXOC2bslyDO2n5A;
struct  Tiitable_2ud26DHRGdy6LEqDPifSOA  {
NI counter;
TY_h0IAOvrRzVzO3NpUxaxxvQ* data;
};
struct  Tindex_hUZsEw7f9bvoVPQYLWHrTDQ  {
NI lastidxkey;
NI lastidxval;
Tiitable_2ud26DHRGdy6LEqDPifSOA tab;
NimStringDesc* r;
NI offset;
};
struct  Table_DYt7wxxRVZ9c5PDjh5cfgPA  {
TY_eBSwX9aa9c1W8S1FJPmehz9aQ* data;
NI counter;
};
struct  Memfile_j4SnXNrJDFBxAz4BlbM9aIQ  {
void* mem;
NI size;
NI fhandle;
NI maphandle;
NIM_BOOL wasopened;
};
struct  Trodreader_16TURXdqtpMMssNVfU5WqQ  {
  TNimObject Sup;
NI pos;
NCSTRING s;
Toption_WspMeQySXNP2XoTWR5MTgg_Set options;
Treasonforrecompile_CESX1DWEXOC2bslyDO2n5A reason;
TY_48JTohSgTy339bRxHzUD8KA* moddeps;
TY_48JTohSgTy339bRxHzUD8KA* files;
NI dataidx;
NI convertersidx;
NI initidx;
NI interfidx;
NI compilerprocsidx;
NI methodsidx;
NimStringDesc* filename;
Tindex_hUZsEw7f9bvoVPQYLWHrTDQ index;
Tindex_hUZsEw7f9bvoVPQYLWHrTDQ imports;
NI readerindex;
NI line;
NI moduleid;
Table_DYt7wxxRVZ9c5PDjh5cfgPA syms;
Memfile_j4SnXNrJDFBxAz4BlbM9aIQ memfile;
TY_sksVpmPRIkNR9axiwtD1Guw* methods;
NimStringDesc* origfile;
NIM_BOOL inviewmode;
IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache;
};
typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set;
typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw;
struct  Tnode_bROa11lyF5vxEN9aYNbHmhw  {
Ttype_LTUWCZolpovw9cWE3JBWSUw* typ;
Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info;
Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set flags;
Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intval;
} S1;
struct {NF floatval;
} S2;
struct {NimStringDesc* strval;
} S3;
struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
} S4;
struct {Tident_4umxGerWTHGPwUms7Yqu3g* ident;
} S5;
struct {TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} S6;
} kindU;
NimStringDesc* comment;
};
typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16];
struct  Trunk_ul49aWfv9aes8cutmeltT3gQ  {
Trunk_ul49aWfv9aes8cutmeltT3gQ* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
struct TY_xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU32 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set;
struct  Ttype_LTUWCZolpovw9cWE3JBWSUw  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind;
Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA callconv;
Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set flags;
TY_zuqP4Riz26Oi5fWgPYVEgA* sons;
Tnode_bROa11lyF5vxEN9aYNbHmhw* n;
Tsym_AXG7xcvKqaxY6koRX1xkCw* owner;
Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
Tsym_AXG7xcvKqaxY6koRX1xkCw* destructor;
Tsym_AXG7xcvKqaxY6koRX1xkCw* deepcopy;
Tsym_AXG7xcvKqaxY6koRX1xkCw* assignment;
TY_iGkpo9aKQdr3NWelKC4cnJA* methods;
NI64 size;
NI16 align;
NI16 locklevel;
Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
Ttype_LTUWCZolpovw9cWE3JBWSUw* typeinst;
};
struct  Tident_4umxGerWTHGPwUms7Yqu3g  {
  Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup;
NimStringDesc* s;
Tident_4umxGerWTHGPwUms7Yqu3g* next;
NI h;
};
struct  Ropeobj_HF4qJnb6xiOddgPmsxodtQ  {
  TNimObject Sup;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right;
NI length;
NimStringDesc* data;
};
typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ;
struct  Tlib_4f9aBgmqEuj7uWJdBBGcRgA  {
  Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup;
Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind;
NIM_BOOL generated;
NIM_BOOL isoverriden;
Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name;
Tnode_bROa11lyF5vxEN9aYNbHmhw* path;
};
struct TY_awOivLjlO76sGdHY7nQUjQ {
NI Field0;
NI Field1;
NimStringDesc* Field2;
Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* Field3;
};
struct  Gcstack_7fytPA5bBsob6See21YMRA  {
Gcstack_7fytPA5bBsob6See21YMRA* prev;
Gcstack_7fytPA5bBsob6See21YMRA* next;
void* starts;
void* pos;
NI maxstacksize;
};
struct  Basechunk_Sdq7WpT6qAH858F5ZEdG3w  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk_tXn60W2f8h3jgAYdEmy5NQ  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next;
Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev;
Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk_XsENErzHIZV9bhvyJx56wGw  {
NI size;
NI acc;
Llchunk_XsENErzHIZV9bhvyJx56wGw* next;
};
struct  Bigchunk_Rv9c70Uhp2TytkX7eH78qEg  {
  Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next;
Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev;
NI align;
NF data;
};
struct  Trunk_W0r8S0Y3UGke6T9bIUWnnuw  {
Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2];
struct  Avlnode_IaqjtwKhxLEpvDS9bct9blEw  {
TY_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperbound;
NI level;
};
struct  Pagedesc_fublkgIY4LG3mT51LU2WHg  {
Pagedesc_fublkgIY4LG3mT51LU2WHg* next;
NI key;
TY_9agrCtWKhCnWWMJpKKugJag bits;
};
typedef NU8 Tllstreamkind_jVcKY16LbOamXE9bxXUD6pQ;
struct  Tllstream_IHsOGFu33dIY69a9bLlFHlHw  {
  TNimObject Sup;
Tllstreamkind_jVcKY16LbOamXE9bxXUD6pQ kind;
FILE* f;
NimStringDesc* s;
NI rd;
NI wr;
NI lineoffset;
};
struct  Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA  {
NI key;
NI val;
};
struct TY_XUtHSCESHcg7KVfuMIqQmw {
NI Field0;
NI Field1;
Tsym_AXG7xcvKqaxY6koRX1xkCw* Field2;
};
struct  Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA  {
Tsym_AXG7xcvKqaxY6koRX1xkCw* sym;
TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes;
NI compilesid;
};
struct TY_a09bGTAl9ceOKTAytYdkbyKg {
NI Field0;
Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1;
};
struct  Freecell_u6M5LHprqzkn9axr04yg9bGQ  {
Freecell_u6M5LHprqzkn9axr04yg9bGQ* next;
NI zerofield;
};
struct TY_sksVpmPRIkNR9axiwtD1Guw {
  TGenericSeq Sup;
  Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE];
};
struct TY_oLpBKXzW3hF9aCVMo5EymfQ {
  TGenericSeq Sup;
  Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
};
struct TY_sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct TY_9brg1xNurxcus33lU4IE1Dw {
  TGenericSeq Sup;
  Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE];
};
struct TY_kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  TY_xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct TY_48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct TY_zuqP4Riz26Oi5fWgPYVEgA {
  TGenericSeq Sup;
  Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE];
};
struct TY_DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct TY_4eQHGndY6XBYpFOH09apV8Q {
  TGenericSeq Sup;
  TY_UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE];
};
struct TY_MlAD6nAPq9bHKla9cWiIZP0g {
  TGenericSeq Sup;
  TY_awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
};
struct TY_h0IAOvrRzVzO3NpUxaxxvQ {
  TGenericSeq Sup;
  Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA data[SEQ_DECL_SIZE];
};
struct TY_eBSwX9aa9c1W8S1FJPmehz9aQ {
  TGenericSeq Sup;
  TY_XUtHSCESHcg7KVfuMIqQmw data[SEQ_DECL_SIZE];
};
struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct TY_iGkpo9aKQdr3NWelKC4cnJA {
  TGenericSeq Sup;
  TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, clearpasses_nNiiyBQuG1SL5U9cuRPvnNQ)(void);
N_NIMCALL(NF, ntepochTime)(void);
N_NIMCALL(void, appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0);
static N_INLINE(void, setid_iA4w0aRcMn9ciJCCkQe5Uiwrodread)(NI id0);
N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0);
static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0);
N_NIMCALL(NI, hashString)(NimStringDesc* s0);
N_NIMCALL(void, commandcompiletoc_9ckTkd2AM27sYCvHGluAXLg_2)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, initvars_7np5TkPW87gkvRFZHLx9aYg)(void);
N_NIMCALL(void, semanticpasses_BDSM1B9cEVcH4OaR09cYBhwg)(void);
N_NIMCALL(void, registerpass_pxMoPBbqGoxVUqcG9bZhXQw)(TY_Kt26pfZ2dm3KOyU8Hxh6hQ p0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, verboseopen_9cFiRqzMjYM822Jl0iQa30Q)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, verboseprocess_6fhNRoymw43U9bx1kqA2xCw)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* context0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_nghaS9a3K4tKKg9bBWPvZ9a7w)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopencached_hDZPqT3s0HjFkuOkRAdt9cQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, Trodreader_16TURXdqtpMMssNVfU5WqQ* rd0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myprocess_9aYtClTzGl7gCIMK0iQSuhQ)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* context0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myclose_9aYtClTzGl7gCIMK0iQSuhQ_2)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* context0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_PhPayqNNCR49aLQM6rX9cfwg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopencached_xEigLct5K9bPGsk5vpca4AQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, Trodreader_16TURXdqtpMMssNVfU5WqQ* rd0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myprocess_jWOLUlpMypldT7AYE4Hh9bg)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* b0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myclose_jWOLUlpMypldT7AYE4Hh9bg_2)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* b0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, rodpass_BDSM1B9cEVcH4OaR09cYBhwg_2)(void);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_O14WTD9cUlsXmBPz69cxl7oQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, process_6Mbweriw66u2Xqkg3oFBPw)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myclose_6Mbweriw66u2Xqkg3oFBPw_2)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, compileproject_9aLjcEMW43J17TVjXtx6HQg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, NI32 projectfileidx0);
N_NIMCALL(void, cgenwritemodules_Lhl7quniIURWcCxYK0QqLw)(TNimObject* backend0);
N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename0, NimStringDesc* ext0);
N_NIMCALL(void, callccompiler_FNFIsWVCNYRMyc5FzqPYbw)(NimStringDesc* projectfile0);
N_NIMCALL(void, writejsonbuildinstructions_FNFIsWVCNYRMyc5FzqPYbw_2)(NimStringDesc* projectfile0);
N_NIMCALL(void, definesymbol_9aZwRQ421PtIIOO9cHOBczPA)(NimStringDesc* symbol0, NimStringDesc* value0);
N_NIMCALL(void, rawmessage_tBJ8mvo7MzzirsGkrHVc9cw)(Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0);
N_NIMCALL(void, commandcompiletojs_9ckTkd2AM27sYCvHGluAXLg_3)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, settarget_VrZPDGVfj7q09clDXxZtPNw)(Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ o0, Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag c0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_CX2qpLaB9bMI4sRXaM8C2tA)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopencached_jDcIRKMcJ39aTQ9aALYNAj8w)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Trodreader_16TURXdqtpMMssNVfU5WqQ* rd0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myprocess_geGNuM5ldszSBl31TizwAA)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* b0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myclose_geGNuM5ldszSBl31TizwAA_2)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* b0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, wantmainmodule_PaLBcYS9amHGl2vf0V7P07w)(void);
N_NIMCALL(void, loadconfigs_FECraGk0JdQ9bewar6pXUkA)(NimStringDesc* cfg0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, commanddoc_4QrwgxFwsKDewNcEEDXnYQ)(void);
N_NIMCALL(void, commanddoc2_JvqHCTUndTDTIyYvEmORKQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, NIM_BOOL json0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_rpfo9abXCMEv9a9bRFmJZFMRw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, processnodejson_LQRyeStN9aRWJcDweUXsVpg)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, closejson_u9cSAp7a1p5L9ciLEY2aRu3Q)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, processnode_LQRyeStN9aRWJcDweUXsVpg_2)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, close_u9cSAp7a1p5L9ciLEY2aRu3Q_2)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, finishdoc2pass_pE3h5lr2g9bTHoEs1gBt2xg)(NimStringDesc* project0);
N_NIMCALL(void, commandrst2html_4QrwgxFwsKDewNcEEDXnYQ_2)(void);
N_NIMCALL(void, commandrst2tex_4QrwgxFwsKDewNcEEDXnYQ_3)(void);
N_NIMCALL(void, commandjson_4QrwgxFwsKDewNcEEDXnYQ_4)(void);
N_NIMCALL(void, commandbuildindex_4QrwgxFwsKDewNcEEDXnYQ_5)(void);
N_NIMCALL(void, commandgendepend_9ckTkd2AM27sYCvHGluAXLg_4)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_kpDwl4lhaVgao59a3ssZcBg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, adddotdependency_iGI5SK0R9aq9cfwn69b9clGHCA)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, writedepsfile_89bizG5JAjNqoSUpDLaHUaw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NimStringDesc* project0);
N_NIMCALL(FILE*, open_hqzpWQbdA2B8l9a6wwNoP4g)(NimStringDesc* filename0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0, NI bufsize0);
static N_INLINE(void, writeline_rBQVO3cm3BhnA9aEFD7PG6Qmsgs)(FILE* f0, NimStringDesc** x0, NI x0Len0);
N_NIMCALL(void, write_c4mGyJBvK73pdM22jiweKQ)(FILE* f0, NimStringDesc* s0);
N_NIMCALL(NimStringDesc*, tofullpath_7s19cb7WBgztz9aqEBzwwuqA)(NI32 fileidx0);
N_NIMCALL(void, close_BWnr8V7RERYno9bIdPmw8Hw_2)(FILE* f0);
N_NIMCALL(void, generatedot_8PSSrN4hlKalCdmaGEcMpg)(NimStringDesc* project0);
N_NIMCALL(void, execexternalprogram_Pv5NVuLJkhqF9a3uo9aKpTxw)(NimStringDesc* cmd0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0);
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0);
static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
N_NIMCALL(NimStringDesc*, getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg)(NimStringDesc* key0);
N_NIMCALL(Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q*, newjarray_phgxr9cKlc0dmrJpCth52pw)(void);
N_NIMCALL(Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q*, HEX25_8iXO9aRAijCPe58pujCBbuQ)(NimStringDesc* s0);
N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0);
static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0);
static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0);
static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0);
N_NIMCALL(Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q*, HEX25_9bR9b9aepApwIZEZZtX9cb7RFA)(TY_jq7X5k7hWG0tdTZTDkiyGQ* keyvals0, NI keyvals0Len0);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
N_NIMCALL(void, msgwriteln_mpdiFCyqIWmTQYjT6Mj9c6A)(NimStringDesc* s0, Msgflag_BzRTaQ6LrPDZKEKt9bswkOQ_Set flags0);
N_NIMCALL(NimStringDesc*, HEX24_f9cKpuwjrLNwYtym1kuFzjQ)(Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* node0);
N_NIMCALL(void, commandcheck_9ckTkd2AM27sYCvHGluAXLg_5)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, parsefile_9cEZ7X5V9c6ooHZhVrYd0X7Q)(NI32 fileidx0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, commandscan_LueE69bKXlwFAqDoLZjwjOQ)(IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(NimStringDesc*, nosaddFileExt)(NimStringDesc* filename0, NimStringDesc* ext0);
N_NIMCALL(NimStringDesc*, maincommandarg_rMpbw4SUmKCJTTifDPvxAg_3)(void);
N_NIMCALL(Tllstream_IHsOGFu33dIY69a9bLlFHlHw*, llstreamopen_TMcHzC3C639c0ccC0wtKA2w)(NimStringDesc* filename0, Filemode_fVUBHvW79bXUw1j55Oo9avSQ mode0);
N_NIMCALL(void, inittoken_FTh5b29clR9cRU4ec2Lu61rA)(Ttoken_kLaEEPwLj8cag79cbYQIkHQ* L0);
N_NIMCALL(void, openlexer_eKdW81U1nNo7kyJQODmbcA)(Tlexer_IOWqYAjEw106AHiXcZcUGg* lex0, NimStringDesc* filename0, Tllstream_IHsOGFu33dIY69a9bLlFHlHw* inputstream0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, rawgettok_HUKK9cILkwTBvMCbGFTZPSA)(Tlexer_IOWqYAjEw106AHiXcZcUGg* L0, Ttoken_kLaEEPwLj8cag79cbYQIkHQ* tok0);
N_NIMCALL(void, printtok_0kBpReLFJ1GbjHiPO55NKg)(Ttoken_kLaEEPwLj8cag79cbYQIkHQ* tok0);
N_NIMCALL(void, closelexer_Tac6pvXa9aGE9cnWPr5MhtBw)(Tlexer_IOWqYAjEw106AHiXcZcUGg* lex0);
N_NIMCALL(void, commandinteractive_9ckTkd2AM27sYCvHGluAXLg_6)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, interactivepasses_ZMEXztMW29c2yswI0RIJvXw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, initdefines_cpH2nhcvqZlKU3W1Gx7n5Q)(void);
N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_Hhuh8L4vBSVzP23mY5SAyg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myprocess_H5A4DHy079bfw9ckqMueutXg)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0);
N_NIMCALL(void, compilesystemmodule_xhh9aF6yqEx9bJF3Ncp7tcpw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, compilemodule_4whAi4Q0NnMZgd9cwfvXbVg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, NI32 fileidx0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set flags0);
N_NIMCALL(NI32, fileinfoidx_RXxXBoV2drjjVnQa9abo19cQ)(NimStringDesc* filename0);
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, makestdinmodule_RdnhQ7RPFZ4bkbs3PJMn5g)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0);
N_NIMCALL(NIM_BOOL, processmodule_pyM9ad0hA9cMjwxiROot9a9cSw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, Tllstream_IHsOGFu33dIY69a9bLlFHlHw* stream0, Trodreader_16TURXdqtpMMssNVfU5WqQ* rd0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(Tllstream_IHsOGFu33dIY69a9bLlFHlHw*, llstreamopenstdin_SrHwYi0hR04lgsK58IEpNA)(void);
N_NIMCALL(void, commandeval_zkNySZij9bHdV722Kdlv7GA)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, NimStringDesc* exp0);
N_NIMCALL(void, evalnim_r9a6dpcdq7gX7zNqGYxZ5pw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tnode_bROa11lyF5vxEN9aYNbHmhw* nodes0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0);
N_NIMCALL(void, carrypasses_757V9aTw34BP8CCeWGqYrYg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, Tnode_bROa11lyF5vxEN9aYNbHmhw* nodes0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, TY_Kt26pfZ2dm3KOyU8Hxh6hQ* passes0, NI passes0Len0);
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, parsestring_xpUHC5HDxJVeeqNmw2VgRg)(NimStringDesc* s0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, NimStringDesc* filename0, NI line0, TY_l9buWVPY1qenw5uCj2k2Uqg errorhandler0);
N_NIMCALL(void, rawmessage_wSQLHRsYvHJ4DSWgdFrFaA)(Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc** args0, NI args0Len0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
N_NIMCALL(NimStringDesc*, nsuformatFloat)(NF f0, Floatformatmode_pNvEoaqwoxKyoASD11vSgQ format0, NI precision0, NIM_CHAR decimalsep0);
N_NIMCALL(NimStringDesc*, formatsize_8aoLAblb8HIhlUjVE2aAnA)(NI64 bytes0, NIM_CHAR decimalsep0, Binaryprefixmode_nDtrM19b3byM8T9ab2m7BwvA prefix0, NIM_BOOL includespace0);
N_NIMCALL(NI, gettotalmem_9bFvoxSITMVCg7RY8KIar1Q_2)(void);
N_NIMCALL(NIM_BOOL, isdefined_BNPf2mtM9a7JF7UKiCAngvg)(NimStringDesc* symbol0);
N_NIMCALL(void, resetattributes_9cwrSkrYt5eNT6K5K9aC6owQ)(void);
extern NF glastcmdtime_4DoNtTiILjsDdutRP4YBsg;
extern Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw searchpaths_XRBeXIYowTeRSkTUFC0m2w;
extern NimStringDesc* libpath_sniQ2ei4mGD9av6vrH9bfUgg;
extern NI gfrontendid_gyRrMPnY7JyC6tAu9bCfGng;
extern NimStringDesc* command_zo83h8QWwtDIGDuqkGhjqg;
extern Tcommands_VH3ghgQVwLSg3krOAoXigw gcmd_0oKScFtMiSKnjiHF9cU9c5GQ;
extern Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set gglobaloptions_j042VVDC9cT5ENYoXnmhhVg;
extern NimStringDesc* gprojectfull_V1rcVHDANDR4ly2ul00asg;
extern NI gerrormax_3SQ5c6N518fjbsvI7YHFOA;
extern NimStringDesc* gprojectname_QOoHniL6MYtzlAjpv8zzdA;
extern Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* gsymbols_tS4f2TwBfIz6zIuFAktH6g;
extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
extern NI32 gprojectmainidx_s51E9a7f5CnUiA9bhp5yxOJQ;
extern TNimType NTI_IOWqYAjEw106AHiXcZcUGg;
extern TY_sM4lkSb7zS6F7OVMvW9cffQ* commandargs_ZhyagKlrfRLcCwi84z1S3w;
extern Tsym_AXG7xcvKqaxY6koRX1xkCw* systemmodule_zVRpbHNEGZHBIbdtvq2fVg;
extern NI gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ;
extern NI glinescompiled_A4hYMRw7F9b9aSLprP9aiou6Q;
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_2, "c", 1);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_3, "cc", 2);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_4, "compile", 7);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_5, "compiletoc", 10);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_6, "cpp", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_7, "compiletocpp", 12);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_8, "objc", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_9, "compiletooc", 11);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_10, "run", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_11, "js", 2);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_12, "compiletojs", 11);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_13, "php", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_14, "doc", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_15, "doc2", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_16, "rst2html", 8);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_17, "rst2tex", 7);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_18, "jsondoc", 7);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_19, "jsondoc2", 8);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_20, "buildindex", 10);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_21, "gendepend", 9);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_22, "dump", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_23, "check", 5);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_24, "parse", 5);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_25, "scan", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_26, "secret", 6);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_27, "e", 1);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_28, "nop", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_29, "help", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_30, "", 0);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_31, "true", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_32, "nimrod", 6);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_33, "ecmascript", 10);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_34, "nimphp", 6);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_35, "nimdoc.cfg", 10);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_36, "nimdoc", 6);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_37, "nimdoc.tex.cfg", 14);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_38, "deps", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_39, "\015\012", 2);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_40, "dot -Tpng -o", 12);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_41, "png", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_42, "dot", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_43, "dump.format", 11);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_44, "json", 4);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_45, "false", 5);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_46, "version", 7);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_47, "0.16.0", 6);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_48, "project_path", 12);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_49, "defined_symbols", 15);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_50, "lib_paths", 9);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_51, "-- list of currently defined symbols --", 39);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_52, "-- end of list --", 17);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_53, "nimcheck", 8);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_54, "nim", 3);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_55, "Beware: Indentation tokens depend on the parser\'s state!", 56);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_56, "nimscript", 9);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_57, "echo \"eval\\t\", repr(", 20);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_58, ")", 1);
static NIM_CONST TY_l9buWVPY1qenw5uCj2k2Uqg T_LO85BC9bl7tvXIPU7J9cRbtA_59 = {NIM_NIL,NIM_NIL};
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_60, "release", 7);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_61, "Release Build", 13);
STRING_LITERAL(T_LO85BC9bl7tvXIPU7J9cRbtA_62, "Debug Build", 11);

static N_INLINE(void, setid_iA4w0aRcMn9ciJCCkQe5Uiwrodread)(NI id0) {
	gfrontendid_gyRrMPnY7JyC6tAu9bCfGng = ((gfrontendid_gyRrMPnY7JyC6tAu9bCfGng >= (NI)(id0 + ((NI) 1))) ? gfrontendid_gyRrMPnY7JyC6tAu9bCfGng : (NI)(id0 + ((NI) 1)));
}

static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0) {
	NIM_BOOL result0;
	int LOC1;
	result0 = (NIM_BOOL)0;
	LOC1 = (int)0;
	LOC1 = memcmp(a0, b0, ((size_t) (size0)));
	result0 = (LOC1 == ((NI32) 0));
	return result0;
}

static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) {
	NIM_BOOL result0;
	NIM_BOOL LOC11;
{	result0 = (NIM_BOOL)0;
	{
		if (!(a0 == b0)) goto LA3;
		result0 = NIM_TRUE;
		goto BeforeRet;
	}
	LA3: ;
	{
		NIM_BOOL LOC7;
		LOC7 = (NIM_BOOL)0;
		LOC7 = (a0 == NIM_NIL);
		if (LOC7) goto LA8;
		LOC7 = (b0 == NIM_NIL);
		LA8: ;
		if (!LOC7) goto LA9;
		result0 = NIM_FALSE;
		goto BeforeRet;
	}
	LA9: ;
	LOC11 = (NIM_BOOL)0;
	LOC11 = ((*a0).Sup.len == (*b0).Sup.len);
	if (!(LOC11)) goto LA12;
	LOC11 = equalmem_DCrUjdaMvFDHaR1hs7sQGwropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len)));
	LA12: ;
	result0 = LOC11;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, semanticpasses_BDSM1B9cEVcH4OaR09cYBhwg)(void) {
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC1;
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC2;
	LOC1.Field0 = verboseopen_9cFiRqzMjYM822Jl0iQa30Q;
	LOC1.Field1 = NIM_NIL;
	LOC1.Field2 = verboseprocess_6fhNRoymw43U9bx1kqA2xCw;
	LOC1.Field3 = NIM_NIL;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC1);
	LOC2.Field0 = myopen_nghaS9a3K4tKKg9bBWPvZ9a7w;
	LOC2.Field1 = myopencached_hDZPqT3s0HjFkuOkRAdt9cQ;
	LOC2.Field2 = myprocess_9aYtClTzGl7gCIMK0iQSuhQ;
	LOC2.Field3 = myclose_9aYtClTzGl7gCIMK0iQSuhQ_2;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC2);
}

N_NIMCALL(void, rodpass_BDSM1B9cEVcH4OaR09cYBhwg_2)(void) {
	{
		TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC5;
		if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 14))&63U)))!=0)) goto LA3;
		LOC5.Field0 = myopen_O14WTD9cUlsXmBPz69cxl7oQ;
		LOC5.Field1 = NIM_NIL;
		LOC5.Field2 = process_6Mbweriw66u2Xqkg3oFBPw;
		LOC5.Field3 = myclose_6Mbweriw66u2Xqkg3oFBPw_2;
		registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC5);
	}
	LA3: ;
}

N_NIMCALL(void, commandcompiletoc_9ckTkd2AM27sYCvHGluAXLg_2)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC1;
	initvars_7np5TkPW87gkvRFZHLx9aYg();
	semanticpasses_BDSM1B9cEVcH4OaR09cYBhwg();
	LOC1.Field0 = myopen_PhPayqNNCR49aLQM6rX9cfwg;
	LOC1.Field1 = myopencached_xEigLct5K9bPGsk5vpca4AQ;
	LOC1.Field2 = myprocess_jWOLUlpMypldT7AYE4Hh9bg;
	LOC1.Field3 = myclose_jWOLUlpMypldT7AYE4Hh9bg_2;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC1);
	rodpass_BDSM1B9cEVcH4OaR09cYBhwg_2();
	compileproject_9aLjcEMW43J17TVjXtx6HQg(graph0, cache0, ((NI32) -1));
	cgenwritemodules_Lhl7quniIURWcCxYK0QqLw((*graph0).backend);
	{
		NimStringDesc* proj0;
		if (!!((gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 20)))) goto LA4;
		proj0 = noschangeFileExt(gprojectfull_V1rcVHDANDR4ly2ul00asg, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_30));
		callccompiler_FNFIsWVCNYRMyc5FzqPYbw(proj0);
		writejsonbuildinstructions_FNFIsWVCNYRMyc5FzqPYbw_2(proj0);
	}
	LA4: ;
}

N_NIMCALL(void, commandcompiletojs_9ckTkd2AM27sYCvHGluAXLg_3)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC5;
	settarget_VrZPDGVfj7q09clDXxZtPNw(((Tsystemos_s7Mlr1t66SUqP6BKJMXLaQ) 22), ((Tsystemcpu_XYDt7D1G3qcClFyZy1Ky9ag) 15));
	definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_32), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
	definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_33), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
	definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_11), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
	{
		if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 5))) goto LA3;
		definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_34), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
	}
	LA3: ;
	semanticpasses_BDSM1B9cEVcH4OaR09cYBhwg();
	LOC5.Field0 = myopen_CX2qpLaB9bMI4sRXaM8C2tA;
	LOC5.Field1 = myopencached_jDcIRKMcJ39aTQ9aALYNAj8w;
	LOC5.Field2 = myprocess_geGNuM5ldszSBl31TizwAA;
	LOC5.Field3 = myclose_geGNuM5ldszSBl31TizwAA_2;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC5);
	compileproject_9aLjcEMW43J17TVjXtx6HQg(graph0, cache0, ((NI32) -1));
}

N_NIMCALL(void, commanddoc2_JvqHCTUndTDTIyYvEmORKQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, NIM_BOOL json0) {
	gerrormax_3SQ5c6N518fjbsvI7YHFOA = ((NI) 2147483647);
	semanticpasses_BDSM1B9cEVcH4OaR09cYBhwg();
	{
		TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC5;
		if (!json0) goto LA3;
		LOC5.Field0 = myopen_rpfo9abXCMEv9a9bRFmJZFMRw;
		LOC5.Field1 = NIM_NIL;
		LOC5.Field2 = processnodejson_LQRyeStN9aRWJcDweUXsVpg;
		LOC5.Field3 = closejson_u9cSAp7a1p5L9ciLEY2aRu3Q;
		registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC5);
	}
	goto LA1;
	LA3: ;
	{
		TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC7;
		LOC7.Field0 = myopen_rpfo9abXCMEv9a9bRFmJZFMRw;
		LOC7.Field1 = NIM_NIL;
		LOC7.Field2 = processnode_LQRyeStN9aRWJcDweUXsVpg_2;
		LOC7.Field3 = close_u9cSAp7a1p5L9ciLEY2aRu3Q_2;
		registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC7);
	}
	LA1: ;
	compileproject_9aLjcEMW43J17TVjXtx6HQg(graph0, cache0, ((NI32) -1));
	finishdoc2pass_pE3h5lr2g9bTHoEs1gBt2xg(gprojectname_QOoHniL6MYtzlAjpv8zzdA);
}

static N_INLINE(void, writeline_rBQVO3cm3BhnA9aEFD7PG6Qmsgs)(FILE* f0, NimStringDesc** x0, NI x0Len0) {
	{
		NimStringDesc* i_kSboRGYz9bWc0rf2v8AlLGQ;
		NI i_kSboRGYz9bWc0rf2v8AlLGQ_2;
		i_kSboRGYz9bWc0rf2v8AlLGQ = (NimStringDesc*)0;
		i_kSboRGYz9bWc0rf2v8AlLGQ_2 = ((NI) 0);
		{
			while (1) {
				if (!(i_kSboRGYz9bWc0rf2v8AlLGQ_2 < x0Len0)) goto LA3;
				i_kSboRGYz9bWc0rf2v8AlLGQ = x0[i_kSboRGYz9bWc0rf2v8AlLGQ_2];
				write_c4mGyJBvK73pdM22jiweKQ(f0, i_kSboRGYz9bWc0rf2v8AlLGQ);
				i_kSboRGYz9bWc0rf2v8AlLGQ_2 += ((NI) 1);
			} LA3: ;
		}
	}
	write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_39));
}

N_NIMCALL(void, writedepsfile_89bizG5JAjNqoSUpDLaHUaw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NimStringDesc* project0) {
	FILE* f0;
	NimStringDesc* LOC1;
	LOC1 = (NimStringDesc*)0;
	LOC1 = noschangeFileExt(project0, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_38));
	f0 = open_hqzpWQbdA2B8l9a6wwNoP4g(LOC1, ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 1), ((NI) -1));
	{
		Tsym_AXG7xcvKqaxY6koRX1xkCw* m_9bKxeUcNDkUBwWqFQEW3u1Q;
		TY_sksVpmPRIkNR9axiwtD1Guw* HEX3Atmp_rtsa8A3CESp9bcmkXnuOgLQ;
		NI i_YeRviKU0a7OZzZaYjY9bjyA;
		NI L_zuJoN5Payo5u9aHjLNrDJeA;
		m_9bKxeUcNDkUBwWqFQEW3u1Q = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0;
		HEX3Atmp_rtsa8A3CESp9bcmkXnuOgLQ = (TY_sksVpmPRIkNR9axiwtD1Guw*)0;
		HEX3Atmp_rtsa8A3CESp9bcmkXnuOgLQ = (*g0).modules;
		i_YeRviKU0a7OZzZaYjY9bjyA = ((NI) 0);
		L_zuJoN5Payo5u9aHjLNrDJeA = (HEX3Atmp_rtsa8A3CESp9bcmkXnuOgLQ ? HEX3Atmp_rtsa8A3CESp9bcmkXnuOgLQ->Sup.len : 0);
		{
			while (1) {
				if (!(i_YeRviKU0a7OZzZaYjY9bjyA < L_zuJoN5Payo5u9aHjLNrDJeA)) goto LA4;
				m_9bKxeUcNDkUBwWqFQEW3u1Q = HEX3Atmp_rtsa8A3CESp9bcmkXnuOgLQ->data[i_YeRviKU0a7OZzZaYjY9bjyA];
				{
					TY_nHXaesL0DJZHyVS07ARPRA LOC9;
					if (!!((m_9bKxeUcNDkUBwWqFQEW3u1Q == NIM_NIL))) goto LA7;
					memset((void*)LOC9, 0, sizeof(LOC9));
					LOC9[0] = tofullpath_7s19cb7WBgztz9aqEBzwwuqA(((NI32) ((*m_9bKxeUcNDkUBwWqFQEW3u1Q).position)));
					writeline_rBQVO3cm3BhnA9aEFD7PG6Qmsgs(f0, LOC9, 1);
				}
				LA7: ;
				i_YeRviKU0a7OZzZaYjY9bjyA += ((NI) 1);
			} LA4: ;
		}
	}
	close_BWnr8V7RERYno9bIdPmw8Hw_2(f0);
}

static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0) {
	void* LOC1;
	LOC1 = (void*)0;
	LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
}

static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) {
	copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1)))));
	(*dest0).Sup.len += (*src0).Sup.len;
}

static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) {
	(*dest0).data[((*dest0).Sup.len)- 0] = c0;
	(*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0;
	(*dest0).Sup.len += ((NI) 1);
}

N_NIMCALL(void, commandgendepend_9ckTkd2AM27sYCvHGluAXLg_4)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC1;
	NimStringDesc* LOC2;
	NimStringDesc* LOC3;
	NimStringDesc* LOC4;
	semanticpasses_BDSM1B9cEVcH4OaR09cYBhwg();
	LOC1.Field0 = myopen_kpDwl4lhaVgao59a3ssZcBg;
	LOC1.Field1 = NIM_NIL;
	LOC1.Field2 = adddotdependency_iGI5SK0R9aq9cfwn69b9clGHCA;
	LOC1.Field3 = NIM_NIL;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC1);
	compileproject_9aLjcEMW43J17TVjXtx6HQg(graph0, cache0, ((NI32) -1));
	writedepsfile_89bizG5JAjNqoSUpDLaHUaw(graph0, gprojectfull_V1rcVHDANDR4ly2ul00asg);
	generatedot_8PSSrN4hlKalCdmaGEcMpg(gprojectfull_V1rcVHDANDR4ly2ul00asg);
	LOC2 = (NimStringDesc*)0;
	LOC3 = (NimStringDesc*)0;
	LOC3 = noschangeFileExt(gprojectfull_V1rcVHDANDR4ly2ul00asg, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_41));
	LOC4 = (NimStringDesc*)0;
	LOC4 = noschangeFileExt(gprojectfull_V1rcVHDANDR4ly2ul00asg, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_42));
	LOC2 = rawNewString(LOC3->Sup.len + LOC4->Sup.len + 13);
appendString(LOC2, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_40));
appendString(LOC2, LOC3);
appendChar(LOC2, 32);
appendString(LOC2, LOC4);
	execexternalprogram_Pv5NVuLJkhqF9a3uo9aKpTxw(LOC2, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 283));
}

static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) {
	Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0;
	result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
	return result0;
}

static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) {
	addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0);
}

static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) {
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!((src0 == NIM_NIL))) goto LA3;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0);
		(*c0).refcount += ((NI) 8);
	}
	LA3: ;
	{
		Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0;
		if (!!(((*dest0) == NIM_NIL))) goto LA7;
		c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0));
		{
			(*c0).refcount -= ((NI) 8);
			if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11;
			rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0);
		}
		LA11: ;
	}
	LA7: ;
	(*dest0) = src0;
}

N_NIMCALL(void, commandcheck_9ckTkd2AM27sYCvHGluAXLg_5)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	gerrormax_3SQ5c6N518fjbsvI7YHFOA = ((NI) 2147483647);
	definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_53), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
	semanticpasses_BDSM1B9cEVcH4OaR09cYBhwg();
	rodpass_BDSM1B9cEVcH4OaR09cYBhwg_2();
	compileproject_9aLjcEMW43J17TVjXtx6HQg(graph0, cache0, ((NI32) -1));
}

N_NIMCALL(void, commandscan_LueE69bKXlwFAqDoLZjwjOQ)(IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	NimStringDesc* f0;
	NimStringDesc* LOC1;
	Tllstream_IHsOGFu33dIY69a9bLlFHlHw* stream0;
	LOC1 = (NimStringDesc*)0;
	LOC1 = maincommandarg_rMpbw4SUmKCJTTifDPvxAg_3();
	f0 = nosaddFileExt(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_54));
	stream0 = llstreamopen_TMcHzC3C639c0ccC0wtKA2w(f0, ((Filemode_fVUBHvW79bXUw1j55Oo9avSQ) 0));
	{
		Tlexer_IOWqYAjEw106AHiXcZcUGg L0;
		Ttoken_kLaEEPwLj8cag79cbYQIkHQ tok0;
		if (!!((stream0 == NIM_NIL))) goto LA4;
		memset((void*)(&L0), 0, sizeof(L0));
		L0.Sup.Sup.m_type = (&NTI_IOWqYAjEw106AHiXcZcUGg);
		memset((void*)(&tok0), 0, sizeof(tok0));
		inittoken_FTh5b29clR9cRU4ec2Lu61rA((&tok0));
		openlexer_eKdW81U1nNo7kyJQODmbcA((&L0), f0, stream0, cache0);
		{
			while (1) {
				rawgettok_HUKK9cILkwTBvMCbGFTZPSA((&L0), (&tok0));
				printtok_0kBpReLFJ1GbjHiPO55NKg((&tok0));
				{
					if (!(tok0.toktype == ((Ttoktype_vw8YkgaVtNadqP8v5OpXKA) 1))) goto LA10;
					goto LA6;
				}
				LA10: ;
			}
		} LA6: ;
		closelexer_Tac6pvXa9aGE9cnWPr5MhtBw((&L0));
	}
	goto LA2;
	LA4: ;
	{
		rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 3), f0);
	}
	LA2: ;
}

N_NIMCALL(void, interactivepasses_ZMEXztMW29c2yswI0RIJvXw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC1;
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC2;
	TY_Kt26pfZ2dm3KOyU8Hxh6hQ LOC3;
	initdefines_cpH2nhcvqZlKU3W1Gx7n5Q();
	definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_56), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
	LOC1.Field0 = verboseopen_9cFiRqzMjYM822Jl0iQa30Q;
	LOC1.Field1 = NIM_NIL;
	LOC1.Field2 = verboseprocess_6fhNRoymw43U9bx1kqA2xCw;
	LOC1.Field3 = NIM_NIL;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC1);
	LOC2.Field0 = myopen_nghaS9a3K4tKKg9bBWPvZ9a7w;
	LOC2.Field1 = myopencached_hDZPqT3s0HjFkuOkRAdt9cQ;
	LOC2.Field2 = myprocess_9aYtClTzGl7gCIMK0iQSuhQ;
	LOC2.Field3 = myclose_9aYtClTzGl7gCIMK0iQSuhQ_2;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC2);
	LOC3.Field0 = myopen_Hhuh8L4vBSVzP23mY5SAyg;
	LOC3.Field1 = NIM_NIL;
	LOC3.Field2 = myprocess_H5A4DHy079bfw9ckqMueutXg;
	LOC3.Field3 = myprocess_H5A4DHy079bfw9ckqMueutXg;
	registerpass_pxMoPBbqGoxVUqcG9bZhXQw(LOC3);
}

N_NIMCALL(void, commandinteractive_9ckTkd2AM27sYCvHGluAXLg_6)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	gerrormax_3SQ5c6N518fjbsvI7YHFOA = ((NI) 2147483647);
	interactivepasses_ZMEXztMW29c2yswI0RIJvXw(graph0, cache0);
	compilesystemmodule_xhh9aF6yqEx9bJF3Ncp7tcpw(graph0, cache0);
	{
		NI32 LOC5;
		Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC6;
		if (!(((NI) 0) < (commandargs_ZhyagKlrfRLcCwi84z1S3w ? commandargs_ZhyagKlrfRLcCwi84z1S3w->Sup.len : 0))) goto LA3;
		LOC5 = (NI32)0;
		LOC5 = fileinfoidx_RXxXBoV2drjjVnQa9abo19cQ(gprojectfull_V1rcVHDANDR4ly2ul00asg);
		LOC6 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0;
		LOC6 = compilemodule_4whAi4Q0NnMZgd9cwfvXbVg(graph0, LOC5, cache0, 0);
	}
	goto LA1;
	LA3: ;
	{
		Tsym_AXG7xcvKqaxY6koRX1xkCw* m0;
		Tllstream_IHsOGFu33dIY69a9bLlFHlHw* LOC8;
		NIM_BOOL LOC9;
		m0 = makestdinmodule_RdnhQ7RPFZ4bkbs3PJMn5g(graph0);
		(*m0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 12))%(sizeof(NU32)*8));
		LOC8 = (Tllstream_IHsOGFu33dIY69a9bLlFHlHw*)0;
		LOC8 = llstreamopenstdin_SrHwYi0hR04lgsK58IEpNA();
		LOC9 = (NIM_BOOL)0;
		LOC9 = processmodule_pyM9ad0hA9cMjwxiROot9a9cSw(graph0, m0, LOC8, NIM_NIL, cache0);
	}
	LA1: ;
}

N_NIMCALL(void, evalnim_r9a6dpcdq7gX7zNqGYxZ5pw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tnode_bROa11lyF5vxEN9aYNbHmhw* nodes0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	TY_uUP5aGdGiu9beAqNk4wGmtw LOC1;
	LOC1[0].Field0 = verboseopen_9cFiRqzMjYM822Jl0iQa30Q;
	LOC1[0].Field1 = NIM_NIL;
	LOC1[0].Field2 = verboseprocess_6fhNRoymw43U9bx1kqA2xCw;
	LOC1[0].Field3 = NIM_NIL;
	LOC1[1].Field0 = myopen_nghaS9a3K4tKKg9bBWPvZ9a7w;
	LOC1[1].Field1 = myopencached_hDZPqT3s0HjFkuOkRAdt9cQ;
	LOC1[1].Field2 = myprocess_9aYtClTzGl7gCIMK0iQSuhQ;
	LOC1[1].Field3 = myclose_9aYtClTzGl7gCIMK0iQSuhQ_2;
	LOC1[2].Field0 = myopen_Hhuh8L4vBSVzP23mY5SAyg;
	LOC1[2].Field1 = NIM_NIL;
	LOC1[2].Field2 = myprocess_H5A4DHy079bfw9ckqMueutXg;
	LOC1[2].Field3 = myprocess_H5A4DHy079bfw9ckqMueutXg;
	carrypasses_757V9aTw34BP8CCeWGqYrYg(graph0, nodes0, module0, cache0, LOC1, 3);
}

N_NIMCALL(void, commandeval_zkNySZij9bHdV722Kdlv7GA)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, NimStringDesc* exp0) {
	NimStringDesc* echoexp0;
	NimStringDesc* LOC5;
	Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6;
	Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC7;
	{
		if (!(systemmodule_zVRpbHNEGZHBIbdtvq2fVg == NIM_NIL)) goto LA3;
		interactivepasses_ZMEXztMW29c2yswI0RIJvXw(graph0, cache0);
		compilesystemmodule_xhh9aF6yqEx9bJF3Ncp7tcpw(graph0, cache0);
	}
	LA3: ;
	LOC5 = (NimStringDesc*)0;
	LOC5 = rawNewString(exp0->Sup.len + 21);
appendString(LOC5, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_57));
appendString(LOC5, exp0);
appendString(LOC5, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_58));
	echoexp0 = LOC5;
	LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	LOC6 = parsestring_xpUHC5HDxJVeeqNmw2VgRg(echoexp0, cache0, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_30), ((NI) 0), T_LO85BC9bl7tvXIPU7J9cRbtA_59);
	LOC7 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0;
	LOC7 = makestdinmodule_RdnhQ7RPFZ4bkbs3PJMn5g(graph0);
	evalnim_r9a6dpcdq7gX7zNqGYxZ5pw(graph0, LOC6, LOC7, cache0);
}

N_NIMCALL(void, maincommand_9ckTkd2AM27sYCvHGluAXLg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) {
	NimStringDesc* LOC1;
	clearpasses_nNiiyBQuG1SL5U9cuRPvnNQ();
	glastcmdtime_4DoNtTiILjsDdutRP4YBsg = ntepochTime();
	appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3((&searchpaths_XRBeXIYowTeRSkTUFC0m2w), libpath_sniQ2ei4mGD9av6vrH9bfUgg);
	setid_iA4w0aRcMn9ciJCCkQe5Uiwrodread(((NI) 100));
	LOC1 = (NimStringDesc*)0;
	LOC1 = nsuNormalize(command_zo83h8QWwtDIGDuqkGhjqg);
	switch (hashString(LOC1) & 31) {
	case 0: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_4))) goto LA2;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_9))) goto LA4;
break;
	case 2: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_22))) goto LA16;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_28))) goto LA22;
break;
	case 4: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_24))) goto LA18;
break;
	case 7: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_16))) goto LA10;
break;
	case 8: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_13))) goto LA7;
break;
	case 9: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_10))) goto LA5;
break;
	case 10: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_3))) goto LA2;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_12))) goto LA6;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_23))) goto LA17;
break;
	case 11: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_21))) goto LA15;
break;
	case 12: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_29))) goto LA22;
break;
	case 13: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_14))) goto LA8;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_17))) goto LA11;
break;
	case 14: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_18))) goto LA12;
break;
	case 16: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_5))) goto LA2;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_27))) goto LA21;
break;
	case 19: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_7))) goto LA3;
break;
	case 20: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_19))) goto LA13;
break;
	case 21: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_26))) goto LA20;
break;
	case 25: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_2))) goto LA2;
break;
	case 26: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_25))) goto LA19;
break;
	case 27: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_6))) goto LA3;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_11))) goto LA6;
break;
	case 29: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_20))) goto LA14;
break;
	case 31: 
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_8))) goto LA4;
if (eqStrings(LOC1, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_15))) goto LA9;
break;
	}
	goto LA23;
	LA2: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 1);
		commandcompiletoc_9ckTkd2AM27sYCvHGluAXLg_2(graph0, cache0);
	}
	goto LA24;
	LA3: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 2);
		definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_6), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
		commandcompiletoc_9ckTkd2AM27sYCvHGluAXLg_2(graph0, cache0);
	}
	goto LA24;
	LA4: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 3);
		definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_8), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
		commandcompiletoc_9ckTkd2AM27sYCvHGluAXLg_2(graph0, cache0);
	}
	goto LA24;
	LA5: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 20);
		rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 184), command_zo83h8QWwtDIGDuqkGhjqg);
	}
	goto LA24;
	LA6: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 4);
		commandcompiletojs_9ckTkd2AM27sYCvHGluAXLg_3(graph0, cache0);
	}
	goto LA24;
	LA7: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 5);
		commandcompiletojs_9ckTkd2AM27sYCvHGluAXLg_3(graph0, cache0);
	}
	goto LA24;
	LA8: ;
	{
		wantmainmodule_PaLBcYS9amHGl2vf0V7P07w();
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 9);
		loadconfigs_FECraGk0JdQ9bewar6pXUkA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_35), cache0);
		commanddoc_4QrwgxFwsKDewNcEEDXnYQ();
	}
	goto LA24;
	LA9: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 9);
		loadconfigs_FECraGk0JdQ9bewar6pXUkA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_35), cache0);
		definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_36), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
		commanddoc2_JvqHCTUndTDTIyYvEmORKQ(graph0, cache0, NIM_FALSE);
	}
	goto LA24;
	LA10: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 17);
		loadconfigs_FECraGk0JdQ9bewar6pXUkA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_35), cache0);
		commandrst2html_4QrwgxFwsKDewNcEEDXnYQ_2();
	}
	goto LA24;
	LA11: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 18);
		loadconfigs_FECraGk0JdQ9bewar6pXUkA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_37), cache0);
		commandrst2tex_4QrwgxFwsKDewNcEEDXnYQ_3();
	}
	goto LA24;
	LA12: ;
	{
		wantmainmodule_PaLBcYS9amHGl2vf0V7P07w();
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 9);
		loadconfigs_FECraGk0JdQ9bewar6pXUkA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_35), cache0);
		wantmainmodule_PaLBcYS9amHGl2vf0V7P07w();
		definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_36), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
		commandjson_4QrwgxFwsKDewNcEEDXnYQ_4();
	}
	goto LA24;
	LA13: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 9);
		loadconfigs_FECraGk0JdQ9bewar6pXUkA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_35), cache0);
		wantmainmodule_PaLBcYS9amHGl2vf0V7P07w();
		definesymbol_9aZwRQ421PtIIOO9cHOBczPA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_36), ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_31));
		commanddoc2_JvqHCTUndTDTIyYvEmORKQ(graph0, cache0, NIM_TRUE);
	}
	goto LA24;
	LA14: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 9);
		loadconfigs_FECraGk0JdQ9bewar6pXUkA(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_35), cache0);
		commandbuildindex_4QrwgxFwsKDewNcEEDXnYQ_5();
	}
	goto LA24;
	LA15: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 10);
		commandgendepend_9ckTkd2AM27sYCvHGluAXLg_4(graph0, cache0);
	}
	goto LA24;
	LA16: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 11);
		{
			NimStringDesc* LOC42;
			Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* definedsymbols0;
			Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* libpaths0;
			Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* dumpdata0;
			TY_rhtWm6uYOU6da9bZDT6ryDA LOC63;
			NimStringDesc* LOC64;
			LOC42 = (NimStringDesc*)0;
			LOC42 = getconfigvar_c1Z9aQemFPi6wJsh9c9c8V9bdg(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_43));
			if (!eqStrings(LOC42, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_44))) goto LA43;
			wantmainmodule_PaLBcYS9amHGl2vf0V7P07w();
			definedsymbols0 = newjarray_phgxr9cKlc0dmrJpCth52pw();
			{
				NimStringDesc* s_Kj7hWWqNAAcLx8USf4CFqw;
				s_Kj7hWWqNAAcLx8USf4CFqw = (NimStringDesc*)0;
				{
					NimStringDesc* key_P0LyD9bsTlwUgkwX9aSSDiew;
					NimStringDesc* val_yo9bOllDUiEDtGlfv8SNj9cA;
					key_P0LyD9bsTlwUgkwX9aSSDiew = (NimStringDesc*)0;
					val_yo9bOllDUiEDtGlfv8SNj9cA = (NimStringDesc*)0;
					{
						NI h_EnQ9aoaOlDJjtl42esliaVQ;
						NI HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg;
						NI res_njhJPDtfEelQ3Bmo189boZw;
						h_EnQ9aoaOlDJjtl42esliaVQ = (NI)0;
						HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg = (NI)0;
						HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg = ((*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data ? ((*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->Sup.len-1) : -1);
						res_njhJPDtfEelQ3Bmo189boZw = ((NI) 0);
						{
							while (1) {
								if (!(res_njhJPDtfEelQ3Bmo189boZw <= HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg)) goto LA49;
								h_EnQ9aoaOlDJjtl42esliaVQ = res_njhJPDtfEelQ3Bmo189boZw;
								{
									if (!!(((*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->data[h_EnQ9aoaOlDJjtl42esliaVQ].Field0 == 0))) goto LA52;
									key_P0LyD9bsTlwUgkwX9aSSDiew = (*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->data[h_EnQ9aoaOlDJjtl42esliaVQ].Field0;
									val_yo9bOllDUiEDtGlfv8SNj9cA = (*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->data[h_EnQ9aoaOlDJjtl42esliaVQ].Field1;
									{
										Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* LOC58;
										if (!!(eqStrings(val_yo9bOllDUiEDtGlfv8SNj9cA, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_45)))) goto LA56;
										s_Kj7hWWqNAAcLx8USf4CFqw = key_P0LyD9bsTlwUgkwX9aSSDiew;
										LOC58 = (Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q*)0;
										LOC58 = HEX25_8iXO9aRAijCPe58pujCBbuQ(s_Kj7hWWqNAAcLx8USf4CFqw);
										(*definedsymbols0).kindU.S7.elems = (TY_oLpBKXzW3hF9aCVMo5EymfQ*) incrSeqV2(&((*definedsymbols0).kindU.S7.elems)->Sup, sizeof(Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q*));
										asgnRefNoCycle((void**) (&(*definedsymbols0).kindU.S7.elems->data[(*definedsymbols0).kindU.S7.elems->Sup.len]), LOC58);
										++(*definedsymbols0).kindU.S7.elems->Sup.len;
									}
									LA56: ;
								}
								LA52: ;
								res_njhJPDtfEelQ3Bmo189boZw += ((NI) 1);
							} LA49: ;
						}
					}
				}
			}
			libpaths0 = newjarray_phgxr9cKlc0dmrJpCth52pw();
			{
				NimStringDesc* dir_kuvjTEFflhF5z7UAtIy5Dw;
				Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* it_sr9cK219cQlFC22uY0kSBThA;
				dir_kuvjTEFflhF5z7UAtIy5Dw = (NimStringDesc*)0;
				it_sr9cK219cQlFC22uY0kSBThA = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (searchpaths_XRBeXIYowTeRSkTUFC0m2w.head));
				{
					while (1) {
						Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* LOC62;
						if (!!((it_sr9cK219cQlFC22uY0kSBThA == NIM_NIL))) goto LA61;
						dir_kuvjTEFflhF5z7UAtIy5Dw = (*it_sr9cK219cQlFC22uY0kSBThA).data;
						LOC62 = (Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q*)0;
						LOC62 = HEX25_8iXO9aRAijCPe58pujCBbuQ(dir_kuvjTEFflhF5z7UAtIy5Dw);
						(*libpaths0).kindU.S7.elems = (TY_oLpBKXzW3hF9aCVMo5EymfQ*) incrSeqV2(&((*libpaths0).kindU.S7.elems)->Sup, sizeof(Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q*));
						asgnRefNoCycle((void**) (&(*libpaths0).kindU.S7.elems->data[(*libpaths0).kindU.S7.elems->Sup.len]), LOC62);
						++(*libpaths0).kindU.S7.elems->Sup.len;
						it_sr9cK219cQlFC22uY0kSBThA = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) ((*it_sr9cK219cQlFC22uY0kSBThA).Sup.next));
					} LA61: ;
				}
			}
			memset((void*)LOC63, 0, sizeof(LOC63));
			LOC63[0].Field0 = copyString(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_46));
			LOC63[0].Field1 = HEX25_8iXO9aRAijCPe58pujCBbuQ(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_47));
			LOC63[1].Field0 = copyString(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_48));
			LOC63[1].Field1 = HEX25_8iXO9aRAijCPe58pujCBbuQ(gprojectfull_V1rcVHDANDR4ly2ul00asg);
			LOC63[2].Field0 = copyString(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_49));
			LOC63[2].Field1 = definedsymbols0;
			LOC63[3].Field0 = copyString(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_50));
			LOC63[3].Field1 = libpaths0;
			dumpdata0 = HEX25_9bR9b9aepApwIZEZZtX9cb7RFA(LOC63, 4);
			LOC64 = (NimStringDesc*)0;
			LOC64 = HEX24_f9cKpuwjrLNwYtym1kuFzjQ(dumpdata0);
			msgwriteln_mpdiFCyqIWmTQYjT6Mj9c6A(LOC64, 3);
		}
		goto LA40;
		LA43: ;
		{
			msgwriteln_mpdiFCyqIWmTQYjT6Mj9c6A(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_51), 3);
			{
				NimStringDesc* s_Kj7hWWqNAAcLx8USf4CFqw_2;
				s_Kj7hWWqNAAcLx8USf4CFqw_2 = (NimStringDesc*)0;
				{
					NimStringDesc* key_P0LyD9bsTlwUgkwX9aSSDiew_2;
					NimStringDesc* val_yo9bOllDUiEDtGlfv8SNj9cA_2;
					key_P0LyD9bsTlwUgkwX9aSSDiew_2 = (NimStringDesc*)0;
					val_yo9bOllDUiEDtGlfv8SNj9cA_2 = (NimStringDesc*)0;
					{
						NI h_EnQ9aoaOlDJjtl42esliaVQ_2;
						NI HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg_2;
						NI res_njhJPDtfEelQ3Bmo189boZw_2;
						h_EnQ9aoaOlDJjtl42esliaVQ_2 = (NI)0;
						HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg_2 = (NI)0;
						HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg_2 = ((*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data ? ((*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->Sup.len-1) : -1);
						res_njhJPDtfEelQ3Bmo189boZw_2 = ((NI) 0);
						{
							while (1) {
								if (!(res_njhJPDtfEelQ3Bmo189boZw_2 <= HEX3Atmp_f4rbs3MvS5Tb3vixJKiWZg_2)) goto LA70;
								h_EnQ9aoaOlDJjtl42esliaVQ_2 = res_njhJPDtfEelQ3Bmo189boZw_2;
								{
									if (!!(((*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->data[h_EnQ9aoaOlDJjtl42esliaVQ_2].Field0 == 0))) goto LA73;
									key_P0LyD9bsTlwUgkwX9aSSDiew_2 = (*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->data[h_EnQ9aoaOlDJjtl42esliaVQ_2].Field0;
									val_yo9bOllDUiEDtGlfv8SNj9cA_2 = (*gsymbols_tS4f2TwBfIz6zIuFAktH6g).data->data[h_EnQ9aoaOlDJjtl42esliaVQ_2].Field1;
									{
										if (!!(eqStrings(val_yo9bOllDUiEDtGlfv8SNj9cA_2, ((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_45)))) goto LA77;
										s_Kj7hWWqNAAcLx8USf4CFqw_2 = key_P0LyD9bsTlwUgkwX9aSSDiew_2;
										msgwriteln_mpdiFCyqIWmTQYjT6Mj9c6A(s_Kj7hWWqNAAcLx8USf4CFqw_2, 3);
									}
									LA77: ;
								}
								LA73: ;
								res_njhJPDtfEelQ3Bmo189boZw_2 += ((NI) 1);
							} LA70: ;
						}
					}
				}
			}
			msgwriteln_mpdiFCyqIWmTQYjT6Mj9c6A(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_52), 3);
			{
				NimStringDesc* it_sr9cK219cQlFC22uY0kSBThA_2;
				Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* it_sr9cK219cQlFC22uY0kSBThA_3;
				it_sr9cK219cQlFC22uY0kSBThA_2 = (NimStringDesc*)0;
				it_sr9cK219cQlFC22uY0kSBThA_3 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (searchpaths_XRBeXIYowTeRSkTUFC0m2w.head));
				{
					while (1) {
						if (!!((it_sr9cK219cQlFC22uY0kSBThA_3 == NIM_NIL))) goto LA81;
						it_sr9cK219cQlFC22uY0kSBThA_2 = (*it_sr9cK219cQlFC22uY0kSBThA_3).data;
						msgwriteln_mpdiFCyqIWmTQYjT6Mj9c6A(it_sr9cK219cQlFC22uY0kSBThA_2, 0);
						it_sr9cK219cQlFC22uY0kSBThA_3 = ((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) ((*it_sr9cK219cQlFC22uY0kSBThA_3).Sup.next));
					} LA81: ;
				}
			}
		}
		LA40: ;
	}
	goto LA24;
	LA17: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 12);
		commandcheck_9ckTkd2AM27sYCvHGluAXLg_5(graph0, cache0);
	}
	goto LA24;
	LA18: ;
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC84;
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 13);
		wantmainmodule_PaLBcYS9amHGl2vf0V7P07w();
		LOC84 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC84 = parsefile_9cEZ7X5V9c6ooHZhVrYd0X7Q(gprojectmainidx_s51E9a7f5CnUiA9bhp5yxOJQ, cache0);
	}
	goto LA24;
	LA19: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 14);
		wantmainmodule_PaLBcYS9amHGl2vf0V7P07w();
		commandscan_LueE69bKXlwFAqDoLZjwjOQ(cache0);
		msgwriteln_mpdiFCyqIWmTQYjT6Mj9c6A(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_55), 0);
	}
	goto LA24;
	LA20: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 19);
		commandinteractive_9ckTkd2AM27sYCvHGluAXLg_6(graph0, cache0);
	}
	goto LA24;
	LA21: ;
	{
		NimStringDesc* LOC88;
		LOC88 = (NimStringDesc*)0;
		LOC88 = maincommandarg_rMpbw4SUmKCJTTifDPvxAg_3();
		commandeval_zkNySZij9bHdV722Kdlv7GA(graph0, cache0, LOC88);
	}
	goto LA24;
	LA22: ;
	{
		gcmd_0oKScFtMiSKnjiHF9cU9c5GQ = ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 11);
	}
	goto LA24;
	LA23: ;
	{
		rawmessage_tBJ8mvo7MzzirsGkrHVc9cw(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 184), command_zo83h8QWwtDIGDuqkGhjqg);
	}
	LA24: ;
	{
		NIM_BOOL LOC93;
		TY_sMpvt1sOxOJ3LFGulnbeMQ LOC97;
		NF LOC98;
		NI LOC99;
		LOC93 = (NIM_BOOL)0;
		LOC93 = (gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ == ((NI) 0));
		if (!(LOC93)) goto LA94;
		LOC93 = !(((1050752 &(1U<<((NU)(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ)&31U)))!=0));
		LA94: ;
		if (!LOC93) goto LA95;
		memset((void*)LOC97, 0, sizeof(LOC97));
		LOC97[0] = nimIntToStr(glinescompiled_A4hYMRw7F9b9aSLprP9aiou6Q);
		LOC98 = (NF)0;
		LOC98 = ntepochTime();
		LOC97[1] = nsuformatFloat(((NF)(LOC98) - (NF)(glastcmdtime_4DoNtTiILjsDdutRP4YBsg)), ((Floatformatmode_pNvEoaqwoxKyoASD11vSgQ) 1), ((NI) 3), 46);
		LOC99 = (NI)0;
		LOC99 = gettotalmem_9bFvoxSITMVCg7RY8KIar1Q_2();
		LOC97[2] = formatsize_8aoLAblb8HIhlUjVE2aAnA(((NI64) (LOC99)), 46, ((Binaryprefixmode_nDtrM19b3byM8T9ab2m7BwvA) 0), NIM_FALSE);
		{
			NIM_BOOL LOC102;
			LOC102 = (NIM_BOOL)0;
			LOC102 = isdefined_BNPf2mtM9a7JF7UKiCAngvg(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_60));
			if (!LOC102) goto LA103;
			LOC97[3] = copyString(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_61));
		}
		goto LA100;
		LA103: ;
		{
			LOC97[3] = copyString(((NimStringDesc*) &T_LO85BC9bl7tvXIPU7J9cRbtA_62));
		}
		LA100: ;
		rawmessage_wSQLHRsYvHJ4DSWgdFrFaA(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 268), LOC97, 4);
	}
	LA95: ;
	resetattributes_9cwrSkrYt5eNT6K5K9aC6owQ();
}
NIM_EXTERNC N_NOINLINE(void, compiler_mainInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, compiler_mainDatInit000)(void) {
}

