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

#include "nimbase.h"
#include <string.h>
typedef struct Tnode292802 Tnode292802;
typedef struct Ttype292840 Ttype292840;
typedef struct Tlineinfo191336 Tlineinfo191336;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct Tsym292834 Tsym292834;
typedef struct Tident199010 Tident199010;
typedef struct Tnodeseq292796 Tnodeseq292796;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct Tidobj199004 Tidobj199004;
typedef struct TNimObject TNimObject;
typedef struct Ttypeseq292836 Ttypeseq292836;
typedef struct TY292960 TY292960;
typedef struct Tloc292816 Tloc292816;
typedef struct Ropeobj178006 Ropeobj178006;
typedef struct TY292929 TY292929;
typedef struct Tstrtable292806 Tstrtable292806;
typedef struct Tsymseq292804 Tsymseq292804;
typedef struct Tlib292820 Tlib292820;
typedef struct Tinstantiation292824 Tinstantiation292824;
typedef struct Tlistentry147007 Tlistentry147007;
typedef struct TY292961 TY292961;
typedef struct Cell47304 Cell47304;
typedef struct Cellseq47320 Cellseq47320;
typedef struct Gcheap49818 Gcheap49818;
typedef struct Gcstack49816 Gcstack49816;
typedef struct Memregion29486 Memregion29486;
typedef struct Smallchunk29440 Smallchunk29440;
typedef struct Llchunk29480 Llchunk29480;
typedef struct Bigchunk29442 Bigchunk29442;
typedef struct Intset29414 Intset29414;
typedef struct Trunk29410 Trunk29410;
typedef struct Avlnode29484 Avlnode29484;
typedef struct Gcstat49814 Gcstat49814;
typedef struct Cellset47316 Cellset47316;
typedef struct Pagedesc47312 Pagedesc47312;
typedef struct Tidtable292850 Tidtable292850;
typedef struct Tidpairseq292848 Tidpairseq292848;
typedef struct Tidpair292846 Tidpair292846;
typedef struct Tnodetable292862 Tnodetable292862;
typedef struct Tnodepairseq292860 Tnodepairseq292860;
typedef struct Tnodepair292858 Tnodepair292858;
typedef struct Tscope292828 Tscope292828;
typedef struct Tidnodetable292856 Tidnodetable292856;
typedef struct Tidnodepairseq292854 Tidnodepairseq292854;
typedef struct Tidnodepair292852 Tidnodepair292852;
typedef struct Basechunk29438 Basechunk29438;
typedef struct Freecell29430 Freecell29430;
struct  Tlineinfo191336  {
NI16 line;
NI16 col;
NI32 fileindex;
};
typedef NU16 Tnodeflag292427Set;
typedef NU8 Tnodekind292020;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct  Tnode292802  {
Ttype292840* typ;
Tlineinfo191336 info;
Tnodeflag292427Set flags;
Tnodekind292020 kind;
union{
struct {NI64 intval;
} S1;
struct {NF floatval;
} S2;
struct {NimStringDesc* strval;
} S3;
struct {Tsym292834* sym;
} S4;
struct {Tident199010* ident;
} S5;
struct {Tnodeseq292796* sons;
} S6;
} kindU;
NimStringDesc* comment;
};
typedef NU8 Tnimkind3403;
typedef NU8 Tnimtypeflag3409Set;
typedef N_NIMCALL_PTR(void, TY3489) (void* p0, NI op0);
typedef N_NIMCALL_PTR(void*, TY3494) (void* p0);
struct  TNimType  {
NI size;
Tnimkind3403 kind;
Tnimtypeflag3409Set flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY3489 marker;
TY3494 deepcopy;
};
typedef NU8 Tnimnodekind3405;
struct  TNimNode  {
Tnimnodekind3405 kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct  TNimObject  {
TNimType* m_type;
};
struct  Tidobj199004  {
  TNimObject Sup;
NI id;
};
typedef NU8 Ttypekind292244;
typedef NU8 Tcallingconvention292002;
typedef NU32 Ttypeflag292431Set;
typedef NU8 Tlockind292808;
typedef NU8 Tstorageloc292812;
typedef NU16 Tlocflag292810Set;
struct  Tloc292816  {
Tlockind292808 k;
Tstorageloc292812 s;
Tlocflag292810Set flags;
Ttype292840* t;
Ropeobj178006* r;
};
struct  Ttype292840  {
  Tidobj199004 Sup;
Ttypekind292244 kind;
Tcallingconvention292002 callconv;
Ttypeflag292431Set flags;
Ttypeseq292836* sons;
Tnode292802* n;
Tsym292834* owner;
Tsym292834* sym;
Tsym292834* destructor;
Tsym292834* deepcopy;
Tsym292834* assignment;
TY292960* methods;
NI64 size;
NI16 align;
NI16 locklevel;
Tloc292816 loc;
};
typedef NU8 Ttypeflag292431;
typedef NU8 Tsymkind292435;
struct  Tstrtable292806  {
NI counter;
Tsymseq292804* data;
};
typedef NU16 Tmagic292524;
typedef NU32 Tsymflag292184Set;
typedef NU32 Toption169009Set;
struct  Tsym292834  {
  Tidobj199004 Sup;
Tsymkind292435 kind;
union{
struct {Ttypeseq292836* typeinstcache;
} S1;
struct {TY292929* procinstcache;
Tsym292834* gcunsafetyreason;
} S2;
struct {TY292929* usedgenerics;
Tstrtable292806 tab;
} S3;
struct {Tsym292834* guard;
NI bitsize;
} S4;
} kindU;
Tmagic292524 magic;
Ttype292840* typ;
Tident199010* name;
Tlineinfo191336 info;
Tsym292834* owner;
Tsymflag292184Set flags;
Tnode292802* ast;
Toption169009Set options;
NI position;
NI offset;
Tloc292816 loc;
Tlib292820* annex;
Tnode292802* constraint;
};
struct  Tinstantiation292824  {
Tsym292834* sym;
Ttypeseq292836* concretetypes;
NI compilesid;
};
typedef NU8 Tsymflag292184;
typedef NU8 Tlocflag292810;
struct  Tlistentry147007  {
  TNimObject Sup;
Tlistentry147007* prev;
Tlistentry147007* next;
};
typedef NU8 Tlibkind292818;
struct  Tlib292820  {
  Tlistentry147007 Sup;
Tlibkind292818 kind;
NIM_BOOL generated;
NIM_BOOL isoverriden;
Ropeobj178006* name;
Tnode292802* path;
};
struct TY292961 {
NI Field0;
Tsym292834* Field1;
};
typedef NU8 Tnodeflag292427;
typedef N_NIMCALL_PTR(void, Globalmarkerproc55802) (void);
struct  Cell47304  {
NI refcount;
TNimType* typ;
};
struct  Cellseq47320  {
NI len;
NI cap;
Cell47304** d;
};
typedef Smallchunk29440* TY29501[512];
typedef Trunk29410* Trunkbuckets29412[256];
struct  Intset29414  {
Trunkbuckets29412 data;
};
struct  Memregion29486  {
NI minlargeobj;
NI maxlargeobj;
TY29501 freesmallchunks;
Llchunk29480* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk29442* freechunkslist;
Intset29414 chunkstarts;
Avlnode29484* root;
Avlnode29484* deleted;
Avlnode29484* last;
Avlnode29484* freeavlnodes;
NIM_BOOL locked;
};
struct  Gcstat49814  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Cellset47316  {
NI counter;
NI max;
Pagedesc47312* head;
Pagedesc47312** data;
};
struct  Gcheap49818  {
Gcstack49816* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq47320 zct;
Cellseq47320 decstack;
Cellseq47320 tempstack;
NI recgclock;
Memregion29486 region;
Gcstat49814 stat;
Cellset47316 marked;
Cellseq47320 additionalroots;
};
struct  Tidtable292850  {
NI counter;
Tidpairseq292848* data;
};
struct  Tidpair292846  {
Tidobj199004* key;
TNimObject* val;
};
typedef NU64 Ttypekind292244Set;
typedef Tnode292802* TY295053[7];
struct  Tnodetable292862  {
NI counter;
Tnodepairseq292860* data;
};
struct  Tnodepair292858  {
NI h;
Tnode292802* key;
NI val;
};
struct  Tscope292828  {
NI depthlevel;
Tstrtable292806 symbols;
Tscope292828* parent;
};
typedef NimStringDesc* TY292016[10];
typedef Tnode292802* TY308080[1];
struct  Tidnodetable292856  {
NI counter;
Tidnodepairseq292854* data;
};
struct  Tidnodepair292852  {
Tidobj199004* key;
Tnode292802* val;
};
typedef NU8 Tnodekind292020Set[20];
struct  Tident199010  {
  Tidobj199004 Sup;
NimStringDesc* s;
Tident199010* next;
NI h;
};
struct  Ropeobj178006  {
  TNimObject Sup;
Ropeobj178006* left;
Ropeobj178006* right;
NI length;
NimStringDesc* data;
};
struct  Gcstack49816  {
Gcstack49816* prev;
Gcstack49816* next;
void* starts;
void* pos;
NI maxstacksize;
};
struct  Basechunk29438  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk29440  {
  Basechunk29438 Sup;
Smallchunk29440* next;
Smallchunk29440* prev;
Freecell29430* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk29480  {
NI size;
NI acc;
Llchunk29480* next;
};
struct  Bigchunk29442  {
  Basechunk29438 Sup;
Bigchunk29442* next;
Bigchunk29442* prev;
NI align;
NF data;
};
typedef NI TY29419[8];
struct  Trunk29410  {
Trunk29410* next;
NI key;
TY29419 bits;
};
typedef Avlnode29484* TY29491[2];
struct  Avlnode29484  {
TY29491 link;
NI key;
NI upperbound;
NI level;
};
struct  Pagedesc47312  {
Pagedesc47312* next;
NI key;
TY29419 bits;
};
struct  Freecell29430  {
Freecell29430* next;
NI zerofield;
};
struct Ttypeseq292836 {
  TGenericSeq Sup;
  Ttype292840* data[SEQ_DECL_SIZE];
};
struct TY292929 {
  TGenericSeq Sup;
  Tinstantiation292824* data[SEQ_DECL_SIZE];
};
struct Tsymseq292804 {
  TGenericSeq Sup;
  Tsym292834* data[SEQ_DECL_SIZE];
};
struct TY292960 {
  TGenericSeq Sup;
  TY292961 data[SEQ_DECL_SIZE];
};
struct Tnodeseq292796 {
  TGenericSeq Sup;
  Tnode292802* data[SEQ_DECL_SIZE];
};
struct Tidpairseq292848 {
  TGenericSeq Sup;
  Tidpair292846 data[SEQ_DECL_SIZE];
};
struct Tnodepairseq292860 {
  TGenericSeq Sup;
  Tnodepair292858 data[SEQ_DECL_SIZE];
};
struct Tidnodepairseq292854 {
  TGenericSeq Sup;
  Tidnodepair292852 data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d0, NI op0);
N_NIMCALL(void, T850551059_13)(void* p, NI op);
N_NIMCALL(void, T850551059_20)(void* p, NI op);
N_NIMCALL(void, T850551059_21)(void* p, NI op);
N_NIMCALL(void, T850551059_24)(void* p, NI op);
N_NIMCALL(void, T850551059_46)(void* p, NI op);
N_NIMCALL(void, T850551059_47)(void* p, NI op);
N_NIMCALL(void, T850551059_49)(void* p, NI op);
N_NIMCALL(void, T850551059_50)(void* p, NI op);
N_NIMCALL(void, T850551059_57)(void* p, NI op);
N_NIMCALL(void, T850551059_58)(void* p, NI op);
N_NIMCALL(void, T850551059_59)(void);
N_NIMCALL(void, nimRegisterGlobalMarker)(Globalmarkerproc55802 markerproc0);
N_NIMCALL(Tnode292802*, newnode_293401_850551059)(Tnodekind292020 kind0);
N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0);
static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0);
static N_INLINE(Cell47304*, usrtocell_51440_1689653243)(void* usr0);
static N_INLINE(void, rtladdzct_52601_1689653243)(Cell47304* c0);
N_NOINLINE(void, addzct_51417_1689653243)(Cellseq47320* s0, Cell47304* c0);
N_NIMCALL(void, T850551059_60)(void);
N_NIMCALL(Tsym292834*, newsym_293683_850551059)(Tsymkind292435 symkind0, Tident199010* name0, Tsym292834* owner0, Tlineinfo191336 info0);
static N_INLINE(NI, getid_291401_644355110)(void);
N_NIMCALL(Tident199010*, getident_199441_791273810)(NimStringDesc* identifier0);
N_NIMCALL(Tlineinfo191336, unknownlineinfo_192080_155036129)(void);
N_NIMCALL(void, T850551059_62)(void);
N_NIMCALL(void, addson_294807_850551059)(Tnode292802* father0, Tnode292802* son0);
static N_INLINE(void, nimGCunrefNoCycle)(void* p0);
N_NIMCALL(void*, newSeqRC1)(TNimType* typ0, NI len0);
N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0);
N_NIMCALL(void, T850551059_63)(void);
N_NIMCALL(Tsym292834*, createmagic_297528_850551059)(NimStringDesc* name0, Tmagic292524 m0);
N_NIMCALL(void, T850551059_65)(void);
N_NIMCALL(void, T850551059_69)(void* p, NI op);
N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0);
N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0);
N_NIMCALL(Ttype292840*, lastson_295377_850551059)(Ttype292840* n0);
N_NIMCALL(void, propagatetoowner_296176_850551059)(Ttype292840* owner0, Ttype292840* elem0);
N_NIMCALL(NIM_BOOL, ismetatype_293803_850551059)(Ttype292840* t0);
N_NIMCALL(Ttype292840*, skiptypes_296099_850551059)(Ttype292840* t0, Ttypekind292244Set kinds0);
static N_INLINE(NIM_BOOL, isgcedmem_296143_850551059)(Ttype292840* t0);
N_NIMCALL(Tnode292802*, newintnode_293659_850551059)(Tnodekind292020 kind0, NI64 intval0);
N_NIMCALL(Tnodeseq292796*, HEX40_293609_1689653243)(Tnode292802** a0, NI a0Len0);
N_NIMCALL(Ttype292840*, newtype_295107_850551059)(Ttypekind292244 kind0, Tsym292834* owner0);
N_NIMCALL(void, assigntype_295389_850551059)(Ttype292840* dest0, Ttype292840* src0);
static N_INLINE(void, asgnRef)(void** dest0, void* src0);
static N_INLINE(void, incref_53419_1689653243)(Cell47304* c0);
static N_INLINE(void, decref_53001_1689653243)(Cell47304* c0);
N_NIMCALL(void, mergeloc_295201_850551059)(Tloc292816* a0, Tloc292816* b0);
N_NIMCALL(void, newsons_295295_850551059)(Ttype292840* father0, NI length0);
N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0);
N_NIMCALL(NI, sonslen_295327_850551059)(Ttype292840* n0);
N_NIMCALL(Tnode292802*, newnodei_294197_850551059)(Tnodekind292020 kind0, Tlineinfo191336 info0);
N_NIMCALL(void, T850551059_72)(void* p, NI op);
N_NIMCALL(void, genericSeqAssign)(void* dest0, void* src_86404_1689653243, TNimType* mt0);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0);
N_NIMCALL(void, T850551059_74)(void* p, NI op);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
N_NIMCALL(void, copystrtable_294015_850551059)(Tstrtable292806* dest0, Tstrtable292806 src0);
N_NIMCALL(void, genericAssign)(void* dest0, void* src0, TNimType* mt0);
N_NIMCALL(void, initstrtable_296001_850551059)(Tstrtable292806* x0);
N_NIMCALL(NI, sonslen_295351_850551059)(Tnode292802* n0);
N_NIMCALL(Tnode292802*, copytree_296822_850551059)(Tnode292802* src0);
static N_INLINE(Tnode292802*, HEX5BHEX5D_293238_850551059)(Tnode292802* n0, NI i0);
N_NIMCALL(NI, len_295339_850551059)(Ttype292840* n0);
N_NIMCALL(void, internalerror_196100_155036129)(Tlineinfo191336 info0, NimStringDesc* errmsg0);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x0);
N_NIMCALL(void, T850551059_93)(void* p, NI op);
N_NIMCALL(NIM_BOOL, containsnode_297117_850551059)(Tnode292802* n0, Tnodekind292020Set kinds0);
N_NIMCALL(NIM_BOOL, hassubnodewith_297175_850551059)(Tnode292802* n0, Tnodekind292020 kind0);
static N_INLINE(NI, len_293081_850551059)(Tnode292802* n0);
N_NIMCALL(Tnode292802*, lastson_295364_850551059)(Tnode292802* n0);
TNimNode* NimDT_292834_kind[26];
TNimNode* NimDT_292802_kind[160];
STRING_LITERAL(T850551059_61, "*", 1);
STRING_LITERAL(T850551059_64, "not", 3);
STRING_LITERAL(T850551059_66, "contains", 8);
STRING_LITERAL(T850551059_75, "", 0);
STRING_LITERAL(T850551059_76, "stdcall", 7);
STRING_LITERAL(T850551059_77, "cdecl", 5);
STRING_LITERAL(T850551059_78, "safecall", 8);
STRING_LITERAL(T850551059_79, "syscall", 7);
STRING_LITERAL(T850551059_80, "inline", 6);
STRING_LITERAL(T850551059_81, "noinline", 8);
STRING_LITERAL(T850551059_82, "fastcall", 8);
STRING_LITERAL(T850551059_83, "closure", 7);
STRING_LITERAL(T850551059_84, "noconv", 6);
NIM_CONST TY292016 Callingconvtostr_292013_850551059 = {((NimStringDesc*) &T850551059_75),
((NimStringDesc*) &T850551059_76),
((NimStringDesc*) &T850551059_77),
((NimStringDesc*) &T850551059_78),
((NimStringDesc*) &T850551059_79),
((NimStringDesc*) &T850551059_80),
((NimStringDesc*) &T850551059_81),
((NimStringDesc*) &T850551059_82),
((NimStringDesc*) &T850551059_83),
((NimStringDesc*) &T850551059_84)}
;
STRING_LITERAL(T850551059_85, "<unspecified>", 13);
STRING_LITERAL(T850551059_86, "<unknown>", 9);
STRING_LITERAL(T850551059_87, "getInt", 6);
STRING_LITERAL(T850551059_88, "getFloat", 8);
STRING_LITERAL(T850551059_89, "getStr", 6);
STRING_LITERAL(T850551059_90, "getStrOrChar", 12);
NIM_BOOL ggdebug_293060_850551059;
NI gmainpackageid_293062_850551059;
Tnode292802* emptynode_293801_850551059;
TNimType NTI292802; /* TNode */
extern TNimType NTI199004; /* TIdObj */
TNimType NTI292840; /* TType */
TNimType NTI292244; /* TTypeKind */
TNimType NTI292002; /* TCallingConvention */
TNimType NTI292431; /* TTypeFlag */
TNimType NTI292433; /* TTypeFlags */
TNimType NTI292836; /* TTypeSeq */
TNimType NTI292834; /* TSym */
TNimType NTI292435; /* TSymKind */
TNimType NTI292824; /* TInstantiation */
TNimType NTI292822; /* CompilesId */
TNimType NTI292826; /* PInstantiation */
TNimType NTI292929; /* seq[PInstantiation] */
TNimType NTI292806; /* TStrTable */
extern TNimType NTI104; /* int */
TNimType NTI292804; /* TSymSeq */
TNimType NTI292524; /* TMagic */
extern TNimType NTI199008; /* PIdent */
extern TNimType NTI191336; /* TLineInfo */
TNimType NTI292184; /* TSymFlag */
TNimType NTI292186; /* TSymFlags */
extern TNimType NTI169011; /* TOptions */
TNimType NTI292816; /* TLoc */
TNimType NTI292808; /* TLocKind */
TNimType NTI292812; /* TStorageLoc */
TNimType NTI292810; /* TLocFlag */
TNimType NTI292814; /* TLocFlags */
extern TNimType NTI178004; /* Rope */
extern TNimType NTI147007; /* TListEntry */
TNimType NTI292820; /* TLib */
TNimType NTI292818; /* TLibKind */
extern TNimType NTI130; /* bool */
TNimType NTI292832; /* PLib */
TNimType NTI292800; /* PSym */
TNimType NTI292961; /* (int, PSym) */
TNimType NTI292960; /* seq[(int, PSym)] */
extern TNimType NTI7288; /* BiggestInt */
extern TNimType NTI108; /* int16 */
TNimType NTI292798; /* PType */
TNimType NTI292427; /* TNodeFlag */
TNimType NTI292429; /* TNodeFlags */
TNimType NTI292020; /* TNodeKind */
extern TNimType NTI7290; /* BiggestFloat */
extern TNimType NTI138; /* string */
TNimType NTI292796; /* TNodeSeq */
TNimType NTI292794; /* PNode */
extern Gcheap49818 gch_49858_1689653243;
Tsym292834* anyglobal_293802_850551059;
extern Toption169009Set goptions_169128_2607990831;
extern NI gfrontendid_291004_644355110;
Tnode292802* emptyparams_295038_850551059;
Tsym292834* opnot_297534_850551059;
Tsym292834* opcontains_297535_850551059;
TNimType NTI292850; /* TIdTable */
TNimType NTI292846; /* TIdPair */
extern TNimType NTI199006; /* PIdObj */
extern TNimType NTI3610; /* RootRef */
TNimType NTI292848; /* TIdPairSeq */
TNimType NTI292862; /* TNodeTable */
TNimType NTI292858; /* TNodePair */
extern TNimType NTI149002; /* Hash */
TNimType NTI292860; /* TNodePairSeq */
TNimType NTI292828; /* TScope */
TNimType NTI292830; /* PScope */
TNimType NTI458221; /* ptr PNode */
TNimType NTI292856; /* TIdNodeTable */
TNimType NTI292852; /* TIdNodePair */
TNimType NTI292854; /* TIdNodePairSeq */
N_NIMCALL(void, T850551059_13)(void* p, NI op) {
	Ttypeseq292836* a;
	NI LOC1;
	a = (Ttypeseq292836*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1], op);
	}
}
N_NIMCALL(void, T850551059_20)(void* p, NI op) {
	Tinstantiation292824* a;
	a = (Tinstantiation292824*)p;
	nimGCvisit((void*)(*a).sym, op);
	nimGCvisit((void*)(*a).concretetypes, op);
}
N_NIMCALL(void, T850551059_21)(void* p, NI op) {
	TY292929* a;
	NI LOC1;
	a = (TY292929*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1], op);
	}
}
N_NIMCALL(void, T850551059_24)(void* p, NI op) {
	Tsymseq292804* a;
	NI LOC1;
	a = (Tsymseq292804*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1], op);
	}
}
N_NIMCALL(void, T850551059_46)(void* p, NI op) {
	Tlib292820* a;
	a = (Tlib292820*)p;
	nimGCvisit((void*)(*a).Sup.prev, op);
	nimGCvisit((void*)(*a).Sup.next, op);
	nimGCvisit((void*)(*a).name, op);
	nimGCvisit((void*)(*a).path, op);
}
N_NIMCALL(void, T850551059_47)(void* p, NI op) {
	Tsym292834* a;
	a = (Tsym292834*)p;
	switch ((*a).kind) {
	case ((Tsymkind292435) 7):
	case ((Tsymkind292435) 4):
	nimGCvisit((void*)(*a).kindU.S1.typeinstcache, op);
	break;
	case ((Tsymkind292435) 12):
	case ((Tsymkind292435) 13):
	case ((Tsymkind292435) 14):
	case ((Tsymkind292435) 15):
	case ((Tsymkind292435) 16):
	case ((Tsymkind292435) 17):
	nimGCvisit((void*)(*a).kindU.S2.procinstcache, op);
	nimGCvisit((void*)(*a).kindU.S2.gcunsafetyreason, op);
	break;
	case ((Tsymkind292435) 6):
	case ((Tsymkind292435) 23):
	nimGCvisit((void*)(*a).kindU.S3.usedgenerics, op);
	nimGCvisit((void*)(*a).kindU.S3.tab.data, op);
	break;
	case ((Tsymkind292435) 9):
	case ((Tsymkind292435) 8):
	case ((Tsymkind292435) 18):
	case ((Tsymkind292435) 20):
	nimGCvisit((void*)(*a).kindU.S4.guard, op);
	break;
	default:
	break;
	} 
	nimGCvisit((void*)(*a).typ, op);
	nimGCvisit((void*)(*a).name, op);
	nimGCvisit((void*)(*a).owner, op);
	nimGCvisit((void*)(*a).ast, op);
	nimGCvisit((void*)(*a).loc.t, op);
	nimGCvisit((void*)(*a).loc.r, op);
	nimGCvisit((void*)(*a).annex, op);
	nimGCvisit((void*)(*a).constraint, op);
}
N_NIMCALL(void, T850551059_49)(void* p, NI op) {
	TY292960* a;
	NI LOC1;
	a = (TY292960*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1].Field1, op);
	}
}
N_NIMCALL(void, T850551059_50)(void* p, NI op) {
	Ttype292840* a;
	a = (Ttype292840*)p;
	nimGCvisit((void*)(*a).sons, op);
	nimGCvisit((void*)(*a).n, op);
	nimGCvisit((void*)(*a).owner, op);
	nimGCvisit((void*)(*a).sym, op);
	nimGCvisit((void*)(*a).destructor, op);
	nimGCvisit((void*)(*a).deepcopy, op);
	nimGCvisit((void*)(*a).assignment, op);
	nimGCvisit((void*)(*a).methods, op);
	nimGCvisit((void*)(*a).loc.t, op);
	nimGCvisit((void*)(*a).loc.r, op);
}
N_NIMCALL(void, T850551059_57)(void* p, NI op) {
	Tnodeseq292796* a;
	NI LOC1;
	a = (Tnodeseq292796*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1], op);
	}
}
N_NIMCALL(void, T850551059_58)(void* p, NI op) {
	Tnode292802* a;
	a = (Tnode292802*)p;
	nimGCvisit((void*)(*a).typ, op);
	switch ((*a).kind) {
	case ((Tnodekind292020) 5) ... ((Tnodekind292020) 15):
	break;
	case ((Tnodekind292020) 16) ... ((Tnodekind292020) 19):
	break;
	case ((Tnodekind292020) 20) ... ((Tnodekind292020) 22):
	nimGCvisit((void*)(*a).kindU.S3.strval, op);
	break;
	case ((Tnodekind292020) 3):
	nimGCvisit((void*)(*a).kindU.S4.sym, op);
	break;
	case ((Tnodekind292020) 2):
	nimGCvisit((void*)(*a).kindU.S5.ident, op);
	break;
	default:
	nimGCvisit((void*)(*a).kindU.S6.sons, op);
	break;
	} 
	nimGCvisit((void*)(*a).comment, op);
}
N_NIMCALL(void, T850551059_59)(void) {
	nimGCvisit((void*)emptynode_293801_850551059, 0);
}

N_NIMCALL(Tnode292802*, newnode_293401_850551059)(Tnodekind292020 kind0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = (Tnode292802*) newObj((&NTI292794), sizeof(Tnode292802));
	(*result0).kind = kind0;
	(*result0).info.fileindex = ((NI32) -1);
	(*result0).info.col = ((NI16) -1);
	(*result0).info.line = ((NI16) -1);
	return result0;
}

static N_INLINE(Cell47304*, usrtocell_51440_1689653243)(void* usr0) {
	Cell47304* result0;
	result0 = (Cell47304*)0;
	result0 = ((Cell47304*) ((NI)((NU64)(((NI) (usr0))) - (NU64)(((NI)sizeof(Cell47304))))));
	return result0;
}

static N_INLINE(void, rtladdzct_52601_1689653243)(Cell47304* c0) {
	addzct_51417_1689653243((&gch_49858_1689653243.zct), c0);
}

static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) {
	{
		Cell47304* c0;
		if (!!((src0 == NIM_NIL))) goto LA3;
		c0 = usrtocell_51440_1689653243(src0);
		(*c0).refcount += ((NI) 8);
	}
	LA3: ;
	{
		Cell47304* c0;
		if (!!(((*dest0) == NIM_NIL))) goto LA7;
		c0 = usrtocell_51440_1689653243((*dest0));
		{
			(*c0).refcount -= ((NI) 8);
			if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA11;
			rtladdzct_52601_1689653243(c0);
		}
		LA11: ;
	}
	LA7: ;
	(*dest0) = src0;
}
N_NIMCALL(void, T850551059_60)(void) {
	nimGCvisit((void*)anyglobal_293802_850551059, 0);
}

static N_INLINE(NI, getid_291401_644355110)(void) {
	NI result0;
	result0 = (NI)0;
	result0 = gfrontendid_291004_644355110;
	gfrontendid_291004_644355110 += ((NI) 1);
	return result0;
}

N_NIMCALL(Tsym292834*, newsym_293683_850551059)(Tsymkind292435 symkind0, Tident199010* name0, Tsym292834* owner0, Tlineinfo191336 info0) {
	Tsym292834* result0;
	result0 = (Tsym292834*)0;
	result0 = (Tsym292834*) newObj((&NTI292800), sizeof(Tsym292834));
	(*result0).Sup.Sup.m_type = (&NTI292834);
	asgnRefNoCycle((void**) (&(*result0).name), name0);
	(*result0).kind = symkind0;
	(*result0).flags = 0;
	(*result0).info = info0;
	(*result0).options = goptions_169128_2607990831;
	asgnRefNoCycle((void**) (&(*result0).owner), owner0);
	(*result0).offset = ((NI) -1);
	(*result0).Sup.id = getid_291401_644355110();
	return result0;
}
N_NIMCALL(void, T850551059_62)(void) {
	nimGCvisit((void*)emptyparams_295038_850551059, 0);
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p0) {
	Cell47304* c0;
	c0 = usrtocell_51440_1689653243(p0);
	{
		(*c0).refcount -= ((NI) 8);
		if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3;
		rtladdzct_52601_1689653243(c0);
	}
	LA3: ;
}

N_NIMCALL(void, addson_294807_850551059)(Tnode292802* father0, Tnode292802* son0) {
	{
		if (!(*father0).kindU.S6.sons == 0) goto LA3;
		if ((*father0).kindU.S6.sons) nimGCunrefNoCycle((*father0).kindU.S6.sons);
		(*father0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), 0);
	}
	LA3: ;
	(*father0).kindU.S6.sons = (Tnodeseq292796*) incrSeqV2(&((*father0).kindU.S6.sons)->Sup, sizeof(Tnode292802*));
	asgnRefNoCycle((void**) (&(*father0).kindU.S6.sons->data[(*father0).kindU.S6.sons->Sup.len]), son0);
	++(*father0).kindU.S6.sons->Sup.len;
}
N_NIMCALL(void, T850551059_63)(void) {
	nimGCvisit((void*)opnot_297534_850551059, 0);
}

N_NIMCALL(Tsym292834*, createmagic_297528_850551059)(NimStringDesc* name0, Tmagic292524 m0) {
	Tsym292834* result0;
	Tident199010* LOC1;
	Tlineinfo191336 LOC2;
	result0 = (Tsym292834*)0;
	LOC1 = (Tident199010*)0;
	LOC1 = getident_199441_791273810(name0);
	LOC2 = unknownlineinfo_192080_155036129();
	result0 = newsym_293683_850551059(((Tsymkind292435) 12), LOC1, NIM_NIL, LOC2);
	(*result0).magic = m0;
	return result0;
}
N_NIMCALL(void, T850551059_65)(void) {
	nimGCvisit((void*)opcontains_297535_850551059, 0);
}
N_NIMCALL(void, T850551059_69)(void* p, NI op) {
	Tidpairseq292848* a;
	NI LOC1;
	a = (Tidpairseq292848*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1].key, op);
	nimGCvisit((void*)a->data[LOC1].val, op);
	}
}

N_NIMCALL(void, initidtable_296019_850551059)(Tidtable292850* x0) {
	(*x0).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x0).data), (Tidpairseq292848*) newSeq((&NTI292848), ((NI) 8)));
}

N_NIMCALL(void, initstrtable_296001_850551059)(Tstrtable292806* x0) {
	(*x0).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x0).data), (Tsymseq292804*) newSeq((&NTI292804), ((NI) 8)));
}

N_NIMCALL(Ttype292840*, newtype_295107_850551059)(Ttypekind292244 kind0, Tsym292834* owner0) {
	Ttype292840* result0;
	result0 = (Ttype292840*)0;
	result0 = (Ttype292840*) newObj((&NTI292798), sizeof(Ttype292840));
	(*result0).Sup.Sup.m_type = (&NTI292840);
	(*result0).kind = kind0;
	asgnRefNoCycle((void**) (&(*result0).owner), owner0);
	(*result0).size = IL64(-1);
	(*result0).align = ((NI16) 2);
	(*result0).Sup.id = getid_291401_644355110();
	(*result0).locklevel = ((NI16) -1);
	return result0;
}

N_NIMCALL(Tnode292802*, newnodeit_294801_850551059)(Tnodekind292020 kind0, Tlineinfo191336 info0, Ttype292840* typ0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(kind0);
	(*result0).info = info0;
	asgnRefNoCycle((void**) (&(*result0).typ), typ0);
	return result0;
}

N_NIMCALL(Tnode292802*, newnodei_294197_850551059)(Tnodekind292020 kind0, Tlineinfo191336 info0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = (Tnode292802*) newObj((&NTI292794), sizeof(Tnode292802));
	(*result0).kind = kind0;
	(*result0).info = info0;
	return result0;
}

N_NIMCALL(Ttype292840*, lastson_295377_850551059)(Ttype292840* n0) {
	Ttype292840* result0;
	result0 = (Ttype292840*)0;
	result0 = (*n0).sons->data[(NI)(((*n0).sons ? (*n0).sons->Sup.len : 0) - ((NI) 1))];
	return result0;
}

N_NIMCALL(Ttype292840*, skiptypes_296099_850551059)(Ttype292840* t0, Ttypekind292244Set kinds0) {
	Ttype292840* result0;
	result0 = (Ttype292840*)0;
	result0 = t0;
	{
		while (1) {
			if (!((kinds0 &((NU64)1<<((NU)((*result0).kind)&63U)))!=0)) goto LA2;
			result0 = lastson_295377_850551059(result0);
		} LA2: ;
	}
	return result0;
}

N_NIMCALL(Tnode292802*, newsymnode_294183_850551059)(Tsym292834* sym0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(((Tnodekind292020) 3));
	asgnRefNoCycle((void**) (&(*result0).kindU.S4.sym), sym0);
	asgnRefNoCycle((void**) (&(*result0).typ), (*sym0).typ);
	(*result0).info = (*sym0).info;
	return result0;
}

N_NIMCALL(void, addsonnilallowed_296440_850551059)(Tnode292802* father0, Tnode292802* son0) {
	{
		if (!(*father0).kindU.S6.sons == 0) goto LA3;
		if ((*father0).kindU.S6.sons) nimGCunrefNoCycle((*father0).kindU.S6.sons);
		(*father0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), 0);
	}
	LA3: ;
	(*father0).kindU.S6.sons = (Tnodeseq292796*) incrSeqV2(&((*father0).kindU.S6.sons)->Sup, sizeof(Tnode292802*));
	asgnRefNoCycle((void**) (&(*father0).kindU.S6.sons->data[(*father0).kindU.S6.sons->Sup.len]), son0);
	++(*father0).kindU.S6.sons->Sup.len;
}

N_NIMCALL(NIM_BOOL, ismetatype_293803_850551059)(Ttype292840* t0) {
	NIM_BOOL result0;
	NIM_BOOL LOC1;
	NIM_BOOL LOC2;
	NIM_BOOL LOC4;
{	result0 = (NIM_BOOL)0;
	LOC1 = (NIM_BOOL)0;
	LOC2 = (NIM_BOOL)0;
	LOC2 = ((IL64(574208952489742656) &((NU64)1<<((NU)((*t0).kind)&63U)))!=0);
	if (LOC2) goto LA3;
	LOC4 = (NIM_BOOL)0;
	LOC4 = ((*t0).kind == ((Ttypekind292244) 59));
	if (!(LOC4)) goto LA5;
	LOC4 = ((*t0).n == NIM_NIL);
	LA5: ;
	LOC2 = LOC4;
	LA3: ;
	LOC1 = LOC2;
	if (LOC1) goto LA6;
	LOC1 = (((*t0).flags &(1U<<((NU)(((Ttypeflag292431) 19))&31U)))!=0);
	LA6: ;
	result0 = LOC1;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

static N_INLINE(NIM_BOOL, isgcedmem_296143_850551059)(Ttype292840* t0) {
	NIM_BOOL result0;
	NIM_BOOL LOC1;
	NIM_BOOL LOC3;
	result0 = (NIM_BOOL)0;
	LOC1 = (NIM_BOOL)0;
	LOC1 = ((289406976 &((NU64)1<<((NU)((*t0).kind)&63U)))!=0);
	if (LOC1) goto LA2;
	LOC3 = (NIM_BOOL)0;
	LOC3 = ((*t0).kind == ((Ttypekind292244) 25));
	if (!(LOC3)) goto LA4;
	LOC3 = ((*t0).callconv == ((Tcallingconvention292002) 8));
	LA4: ;
	LOC1 = LOC3;
	LA2: ;
	result0 = LOC1;
	return result0;
}

N_NIMCALL(void, propagatetoowner_296176_850551059)(Ttype292840* owner0, Ttype292840* elem0) {
	(*owner0).flags = ((*owner0).flags | ((*elem0).flags & 524288));
	{
		if (!(((*elem0).flags &(1U<<((NU)(((Ttypeflag292431) 16))&31U)))!=0)) goto LA3;
		{
			if (!((3584 &((NU64)1<<((NU)((*owner0).kind)&63U)))!=0)) goto LA7;
			(*owner0).flags |= ((NU32)1)<<((((Ttypeflag292431) 16))%(sizeof(NU32)*8));
		}
		goto LA5;
		LA7: ;
		{
			if (!!(((57147392 &((NU64)1<<((NU)((*owner0).kind)&63U)))!=0))) goto LA10;
			(*owner0).flags |= ((NU32)1)<<((((Ttypeflag292431) 17))%(sizeof(NU32)*8));
		}
		goto LA5;
		LA10: ;
		LA5: ;
	}
	LA3: ;
	{
		if (!(((*elem0).flags &(1U<<((NU)(((Ttypeflag292431) 17))&31U)))!=0)) goto LA14;
		{
			if (!((57147392 &((NU64)1<<((NU)((*owner0).kind)&63U)))!=0)) goto LA18;
		}
		goto LA16;
		LA18: ;
		{
			(*owner0).flags |= ((NU32)1)<<((((Ttypeflag292431) 17))%(sizeof(NU32)*8));
		}
		LA16: ;
	}
	LA14: ;
	{
		NIM_BOOL LOC23;
		LOC23 = (NIM_BOOL)0;
		LOC23 = ismetatype_293803_850551059(elem0);
		if (!LOC23) goto LA24;
		(*owner0).flags |= ((NU32)1)<<((((Ttypeflag292431) 19))%(sizeof(NU32)*8));
	}
	LA24: ;
	{
		Ttype292840* o20;
		if (!(((*elem0).flags &(1U<<((NU)(((Ttypeflag292431) 26))&31U)))!=0)) goto LA28;
		o20 = skiptypes_296099_850551059(elem0, 2048);
		{
			if (!((17768464 &((NU64)1<<((NU)((*o20).kind)&63U)))!=0)) goto LA32;
			(*o20).flags |= ((NU32)1)<<((((Ttypeflag292431) 26))%(sizeof(NU32)*8));
			(*owner0).flags |= ((NU32)1)<<((((Ttypeflag292431) 26))%(sizeof(NU32)*8));
		}
		LA32: ;
	}
	LA28: ;
	{
		if (!(((*elem0).flags &(1U<<((NU)(((Ttypeflag292431) 28))&31U)))!=0)) goto LA36;
		(*owner0).flags |= ((NU32)1)<<((((Ttypeflag292431) 28))%(sizeof(NU32)*8));
	}
	LA36: ;
	{
		Ttype292840* elemb0;
		if (!!(((35655168 &((NU64)1<<((NU)((*owner0).kind)&63U)))!=0))) goto LA40;
		elemb0 = skiptypes_296099_850551059(elem0, 2048);
		{
			NIM_BOOL LOC44;
			LOC44 = (NIM_BOOL)0;
			LOC44 = isgcedmem_296143_850551059(elemb0);
			if (LOC44) goto LA45;
			LOC44 = (((*elemb0).flags &(1U<<((NU)(((Ttypeflag292431) 20))&31U)))!=0);
			LA45: ;
			if (!LOC44) goto LA46;
			(*owner0).flags |= ((NU32)1)<<((((Ttypeflag292431) 20))%(sizeof(NU32)*8));
		}
		LA46: ;
	}
	LA40: ;
}

N_NIMCALL(void, rawaddson_296394_850551059)(Ttype292840* father0, Ttype292840* son0) {
	{
		if (!(*father0).sons == 0) goto LA3;
		if ((*father0).sons) nimGCunrefNoCycle((*father0).sons);
		(*father0).sons = (Ttypeseq292836*) newSeqRC1((&NTI292836), 0);
	}
	LA3: ;
	(*father0).sons = (Ttypeseq292836*) incrSeqV2(&((*father0).sons)->Sup, sizeof(Ttype292840*));
	asgnRefNoCycle((void**) (&(*father0).sons->data[(*father0).sons->Sup.len]), son0);
	++(*father0).sons->Sup.len;
	{
		if (!!(son0 == 0)) goto LA7;
		propagatetoowner_296176_850551059(father0, son0);
	}
	LA7: ;
}

N_NIMCALL(Tnode292802*, newsymnode_294190_850551059)(Tsym292834* sym0, Tlineinfo191336 info0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(((Tnodekind292020) 3));
	asgnRefNoCycle((void**) (&(*result0).kindU.S4.sym), sym0);
	asgnRefNoCycle((void**) (&(*result0).typ), (*sym0).typ);
	(*result0).info = info0;
	return result0;
}

N_NIMCALL(void, add_293136_850551059)(Tnode292802* father0, Tnode292802* son0) {
	{
		if (!(*father0).kindU.S6.sons == 0) goto LA3;
		if ((*father0).kindU.S6.sons) nimGCunrefNoCycle((*father0).kindU.S6.sons);
		(*father0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), 0);
	}
	LA3: ;
	(*father0).kindU.S6.sons = (Tnodeseq292796*) incrSeqV2(&((*father0).kindU.S6.sons)->Sup, sizeof(Tnode292802*));
	asgnRefNoCycle((void**) (&(*father0).kindU.S6.sons->data[(*father0).kindU.S6.sons->Sup.len]), son0);
	++(*father0).kindU.S6.sons->Sup.len;
}

N_NIMCALL(Tnode292802*, lastson_295364_850551059)(Tnode292802* n0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = (*n0).kindU.S6.sons->data[(NI)(((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0) - ((NI) 1))];
	return result0;
}

N_NIMCALL(Tsym292834*, skipgenericowner_297280_850551059)(Tsym292834* s0) {
	Tsym292834* result0;
	result0 = (Tsym292834*)0;
	{
		NIM_BOOL LOC3;
		LOC3 = (NIM_BOOL)0;
		LOC3 = ((258048 &(1U<<((NU)((*s0).kind)&31U)))!=0);
		if (!(LOC3)) goto LA4;
		LOC3 = (((*s0).flags &(1U<<((NU)(((Tsymflag292184) 2))&31U)))!=0);
		LA4: ;
		if (!LOC3) goto LA5;
		result0 = (*(*s0).owner).owner;
	}
	goto LA1;
	LA5: ;
	{
		result0 = (*s0).owner;
	}
	LA1: ;
	return result0;
}

N_NIMCALL(NI, sonslen_295351_850551059)(Tnode292802* n0) {
	NI result0;
	result0 = (NI)0;
	result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0);
	return result0;
}

N_NIMCALL(Tnode292802*, newintnode_293659_850551059)(Tnodekind292020 kind0, NI64 intval0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(kind0);
	(*result0).kindU.S1.intval = intval0;
	return result0;
}

N_NIMCALL(Tnode292802*, newinttypenode_293665_850551059)(Tnodekind292020 kind0, NI64 intval0, Ttype292840* typ0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newintnode_293659_850551059(kind0, intval0);
	asgnRefNoCycle((void**) (&(*result0).typ), typ0);
	return result0;
}

N_NIMCALL(Tnode292802*, newtree_293601_850551059)(Tnodekind292020 kind0, Tnode292802** children0, NI children0Len0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(kind0);
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons), HEX40_293609_1689653243(children0, children0Len0));
	return result0;
}

N_NIMCALL(Tnode292802*, newnodei_294401_850551059)(Tnodekind292020 kind0, Tlineinfo191336 info0, NI children0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = (Tnode292802*) newObj((&NTI292794), sizeof(Tnode292802));
	(*result0).kind = kind0;
	(*result0).info = info0;
	{
		if (!(((NI) 0) < children0)) goto LA3;
		if ((*result0).kindU.S6.sons) nimGCunrefNoCycle((*result0).kindU.S6.sons);
		(*result0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), ((NI) (children0)));
	}
	LA3: ;
	return result0;
}

static N_INLINE(void, incref_53419_1689653243)(Cell47304* c0) {
	(*c0).refcount = (NI)((NU64)((*c0).refcount) + (NU64)(((NI) 8)));
}

static N_INLINE(void, decref_53001_1689653243)(Cell47304* c0) {
	{
		(*c0).refcount -= ((NI) 8);
		if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3;
		rtladdzct_52601_1689653243(c0);
	}
	LA3: ;
}

static N_INLINE(void, asgnRef)(void** dest0, void* src0) {
	{
		Cell47304* LOC5;
		if (!!((src0 == NIM_NIL))) goto LA3;
		LOC5 = (Cell47304*)0;
		LOC5 = usrtocell_51440_1689653243(src0);
		incref_53419_1689653243(LOC5);
	}
	LA3: ;
	{
		Cell47304* LOC10;
		if (!!(((*dest0) == NIM_NIL))) goto LA8;
		LOC10 = (Cell47304*)0;
		LOC10 = usrtocell_51440_1689653243((*dest0));
		decref_53001_1689653243(LOC10);
	}
	LA8: ;
	(*dest0) = src0;
}

N_NIMCALL(void, mergeloc_295201_850551059)(Tloc292816* a0, Tloc292816* b0) {
	{
		if (!((*a0).k == ((Tlockind292808) 0))) goto LA3;
		(*a0).k = (*b0).k;
	}
	LA3: ;
	{
		if (!((*a0).s == ((Tstorageloc292812) 0))) goto LA7;
		(*a0).s = (*b0).s;
	}
	LA7: ;
	(*a0).flags = ((*a0).flags | (*b0).flags);
	{
		if (!((*a0).t == NIM_NIL)) goto LA11;
		unsureAsgnRef((void**) (&(*a0).t), (*b0).t);
	}
	LA11: ;
	{
		if (!((*a0).r == NIM_NIL)) goto LA15;
		unsureAsgnRef((void**) (&(*a0).r), (*b0).r);
	}
	LA15: ;
}

N_NIMCALL(void, newsons_295295_850551059)(Ttype292840* father0, NI length0) {
	{
		if (!(*father0).sons == 0) goto LA3;
		if ((*father0).sons) nimGCunrefNoCycle((*father0).sons);
		(*father0).sons = (Ttypeseq292836*) newSeqRC1((&NTI292836), ((NI) (length0)));
	}
	goto LA1;
	LA3: ;
	{
		(*father0).sons = (Ttypeseq292836*) setLengthSeq(&((*father0).sons)->Sup, sizeof(Ttype292840*), ((NI) (length0)));
	}
	LA1: ;
}

N_NIMCALL(NI, sonslen_295327_850551059)(Ttype292840* n0) {
	NI result0;
	result0 = (NI)0;
	result0 = ((*n0).sons ? (*n0).sons->Sup.len : 0);
	return result0;
}

N_NIMCALL(void, assigntype_295389_850551059)(Ttype292840* dest0, Ttype292840* src0) {
	NI LOC14;
	(*dest0).kind = (*src0).kind;
	(*dest0).flags = (*src0).flags;
	(*dest0).callconv = (*src0).callconv;
	asgnRefNoCycle((void**) (&(*dest0).n), (*src0).n);
	(*dest0).size = (*src0).size;
	(*dest0).align = (*src0).align;
	asgnRefNoCycle((void**) (&(*dest0).destructor), (*src0).destructor);
	asgnRefNoCycle((void**) (&(*dest0).deepcopy), (*src0).deepcopy);
	asgnRefNoCycle((void**) (&(*dest0).assignment), (*src0).assignment);
	(*dest0).locklevel = (*src0).locklevel;
	{
		if (!!(((*src0).sym == NIM_NIL))) goto LA3;
		{
			if (!!(((*dest0).sym == NIM_NIL))) goto LA7;
			(*(*dest0).sym).flags = ((*(*dest0).sym).flags | (*(*src0).sym).flags);
			{
				if (!((*(*dest0).sym).annex == NIM_NIL)) goto LA11;
				asgnRef((void**) (&(*(*dest0).sym).annex), (*(*src0).sym).annex);
			}
			LA11: ;
			mergeloc_295201_850551059((&(*(*dest0).sym).loc), (&(*(*src0).sym).loc));
		}
		goto LA5;
		LA7: ;
		{
			asgnRefNoCycle((void**) (&(*dest0).sym), (*src0).sym);
		}
		LA5: ;
	}
	LA3: ;
	LOC14 = (NI)0;
	LOC14 = sonslen_295327_850551059(src0);
	newsons_295295_850551059(dest0, LOC14);
	{
		NI i_295461_850551059;
		NI HEX3Atmp_295463_850551059;
		NI LOC16;
		NI res_295466_850551059;
		i_295461_850551059 = (NI)0;
		HEX3Atmp_295463_850551059 = (NI)0;
		LOC16 = (NI)0;
		LOC16 = sonslen_295327_850551059(src0);
		HEX3Atmp_295463_850551059 = (NI)(LOC16 - ((NI) 1));
		res_295466_850551059 = ((NI) 0);
		{
			while (1) {
				if (!(res_295466_850551059 <= HEX3Atmp_295463_850551059)) goto LA18;
				i_295461_850551059 = res_295466_850551059;
				asgnRefNoCycle((void**) (&(*dest0).sons->data[i_295461_850551059]), (*src0).sons->data[i_295461_850551059]);
				res_295466_850551059 += ((NI) 1);
			} LA18: ;
		}
	}
}

N_NIMCALL(Ttype292840*, copytype_295470_850551059)(Ttype292840* t0, Tsym292834* owner0, NIM_BOOL keepid0) {
	Ttype292840* result0;
	result0 = (Ttype292840*)0;
	result0 = newtype_295107_850551059((*t0).kind, owner0);
	assigntype_295389_850551059(result0, t0);
	{
		if (!keepid0) goto LA3;
		(*result0).Sup.id = (*t0).Sup.id;
	}
	goto LA1;
	LA3: ;
	{
	}
	LA1: ;
	asgnRefNoCycle((void**) (&(*result0).sym), (*t0).sym);
	return result0;
}

N_NIMCALL(Tnode292802*, newprocnode_295040_850551059)(Tnodekind292020 kind0, Tlineinfo191336 info0, Tnode292802* body0, Tnode292802* params0, Tnode292802* name0, Tnode292802* pattern0, Tnode292802* genericparams0, Tnode292802* pragmas0, Tnode292802* exceptions0) {
	Tnode292802* result0;
	TY295053 LOC1;
	result0 = (Tnode292802*)0;
	result0 = newnodei_294197_850551059(kind0, info0);
	if ((*result0).kindU.S6.sons) nimGCunrefNoCycle((*result0).kindU.S6.sons);
	(*result0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), 7);
	memset((void*)LOC1, 0, sizeof(LOC1));
	LOC1[0] = name0;
	LOC1[1] = pattern0;
	LOC1[2] = genericparams0;
	LOC1[3] = params0;
	LOC1[4] = pragmas0;
	LOC1[5] = exceptions0;
	LOC1[6] = body0;
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[0]), LOC1[0]);
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[1]), LOC1[1]);
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[2]), LOC1[2]);
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[3]), LOC1[3]);
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[4]), LOC1[4]);
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[5]), LOC1[5]);
	asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[6]), LOC1[6]);
	return result0;
}

N_NIMCALL(Tnode292802*, newidentnode_294177_850551059)(Tident199010* ident0, Tlineinfo191336 info0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(((Tnodekind292020) 2));
	asgnRefNoCycle((void**) (&(*result0).kindU.S5.ident), ident0);
	(*result0).info = info0;
	return result0;
}
N_NIMCALL(void, T850551059_72)(void* p, NI op) {
	Tnodepairseq292860* a;
	NI LOC1;
	a = (Tnodepairseq292860*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1].key, op);
	}
}

N_NIMCALL(Tnode292802*, newnode_294601_850551059)(Tnodekind292020 kind0, Tlineinfo191336 info0, Tnodeseq292796* sons0, Ttype292840* typ0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = (Tnode292802*) newObj((&NTI292794), sizeof(Tnode292802));
	(*result0).kind = kind0;
	(*result0).info = info0;
	asgnRefNoCycle((void**) (&(*result0).typ), typ0);
	genericSeqAssign((&(*result0).kindU.S6.sons), sons0, (&NTI292796));
	return result0;
}

N_NIMCALL(Tnode292802*, newstrnode_293677_850551059)(Tnodekind292020 kind0, NimStringDesc* strval0) {
	Tnode292802* result0;
	NimStringDesc* LOC1;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(kind0);
	LOC1 = (NimStringDesc*)0;
	LOC1 = (*result0).kindU.S3.strval; (*result0).kindU.S3.strval = copyStringRC1(strval0);
	if (LOC1) nimGCunrefNoCycle(LOC1);
	return result0;
}
N_NIMCALL(void, T850551059_74)(void* p, NI op) {
	Tscope292828* a;
	a = (Tscope292828*)p;
	nimGCvisit((void*)(*a).symbols.data, op);
	nimGCvisit((void*)(*a).parent, op);
}

N_NIMCALL(NI, len_295339_850551059)(Ttype292840* n0) {
	NI result0;
	result0 = (NI)0;
	result0 = ((*n0).sons ? (*n0).sons->Sup.len : 0);
	return result0;
}

N_NIMCALL(NimStringDesc*, HEX24_295069_850551059)(NI16 x0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	{
		if (!(((NI) (x0)) == ((NI) -1))) goto LA3;
		result0 = copyString(((NimStringDesc*) &T850551059_85));
	}
	goto LA1;
	LA3: ;
	{
		if (!(((NI) (x0)) == ((NI) 1001))) goto LA6;
		result0 = copyString(((NimStringDesc*) &T850551059_86));
	}
	goto LA1;
	LA6: ;
	{
		result0 = nimIntToStr(((NI) (x0)));
	}
	LA1: ;
	return result0;
}

N_NIMCALL(void, copyidtable_294066_850551059)(Tidtable292850* dest0, Tidtable292850 src0) {
{	(*dest0).counter = src0.counter;
	{
		if (!src0.data == 0) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	unsureAsgnRef((void**) (&(*dest0).data), (Tidpairseq292848*) newSeq((&NTI292848), ((NI) ((src0.data ? src0.data->Sup.len : 0)))));
	{
		NI i_294108_850551059;
		NI HEX3Atmp_294110_850551059;
		NI res_294113_850551059;
		i_294108_850551059 = (NI)0;
		HEX3Atmp_294110_850551059 = (NI)0;
		HEX3Atmp_294110_850551059 = (src0.data ? (src0.data->Sup.len-1) : -1);
		res_294113_850551059 = ((NI) 0);
		{
			while (1) {
				if (!(res_294113_850551059 <= HEX3Atmp_294110_850551059)) goto LA7;
				i_294108_850551059 = res_294113_850551059;
				asgnRef((void**) (&(*dest0).data->data[i_294108_850551059].key), src0.data->data[i_294108_850551059].key);
				asgnRef((void**) (&(*dest0).data->data[i_294108_850551059].val), src0.data->data[i_294108_850551059].val);
				res_294113_850551059 += ((NI) 1);
			} LA7: ;
		}
	}
	}BeforeRet: ;
}

N_NIMCALL(Tnode292802*, copynode_296528_850551059)(Tnode292802* src0) {
	Tnode292802* result0;
	NimStringDesc* LOC5;
{	result0 = (Tnode292802*)0;
	{
		if (!(src0 == NIM_NIL)) goto LA3;
		result0 = NIM_NIL;
		goto BeforeRet;
	}
	LA3: ;
	result0 = newnode_293401_850551059((*src0).kind);
	(*result0).info = (*src0).info;
	asgnRefNoCycle((void**) (&(*result0).typ), (*src0).typ);
	(*result0).flags = ((*src0).flags & 26382);
	LOC5 = (NimStringDesc*)0;
	LOC5 = (*result0).comment; (*result0).comment = copyStringRC1((*src0).comment);
	if (LOC5) nimGCunrefNoCycle(LOC5);
	switch ((*src0).kind) {
	case ((Tnodekind292020) 5) ... ((Tnodekind292020) 15):
	{
		(*result0).kindU.S1.intval = (*src0).kindU.S1.intval;
	}
	break;
	case ((Tnodekind292020) 16) ... ((Tnodekind292020) 19):
	{
		(*result0).kindU.S2.floatval = (*src0).kindU.S2.floatval;
	}
	break;
	case ((Tnodekind292020) 3):
	{
		asgnRefNoCycle((void**) (&(*result0).kindU.S4.sym), (*src0).kindU.S4.sym);
	}
	break;
	case ((Tnodekind292020) 2):
	{
		asgnRefNoCycle((void**) (&(*result0).kindU.S5.ident), (*src0).kindU.S5.ident);
	}
	break;
	case ((Tnodekind292020) 20) ... ((Tnodekind292020) 22):
	{
		NimStringDesc* LOC11;
		LOC11 = (NimStringDesc*)0;
		LOC11 = (*result0).kindU.S3.strval; (*result0).kindU.S3.strval = copyStringRC1((*src0).kindU.S3.strval);
		if (LOC11) nimGCunrefNoCycle(LOC11);
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, copystrtable_294015_850551059)(Tstrtable292806* dest0, Tstrtable292806 src0) {
{	(*dest0).counter = src0.counter;
	{
		if (!src0.data == 0) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	(*dest0).data = (Tsymseq292804*) setLengthSeq(&((*dest0).data)->Sup, sizeof(Tsym292834*), ((NI) ((src0.data ? src0.data->Sup.len : 0))));
	{
		NI i_294057_850551059;
		NI HEX3Atmp_294059_850551059;
		NI res_294062_850551059;
		i_294057_850551059 = (NI)0;
		HEX3Atmp_294059_850551059 = (NI)0;
		HEX3Atmp_294059_850551059 = (src0.data ? (src0.data->Sup.len-1) : -1);
		res_294062_850551059 = ((NI) 0);
		{
			while (1) {
				if (!(res_294062_850551059 <= HEX3Atmp_294059_850551059)) goto LA7;
				i_294057_850551059 = res_294062_850551059;
				asgnRefNoCycle((void**) (&(*dest0).data->data[i_294057_850551059]), src0.data->data[i_294057_850551059]);
				res_294062_850551059 += ((NI) 1);
			} LA7: ;
		}
	}
	}BeforeRet: ;
}

N_NIMCALL(Tsym292834*, copysym_295601_850551059)(Tsym292834* s0, NIM_BOOL keepid0) {
	Tsym292834* result0;
	result0 = (Tsym292834*)0;
	result0 = newsym_293683_850551059((*s0).kind, (*s0).name, (*s0).owner, (*s0).info);
	asgnRefNoCycle((void**) (&(*result0).typ), (*s0).typ);
	{
		if (!keepid0) goto LA3;
		(*result0).Sup.id = (*s0).Sup.id;
	}
	goto LA1;
	LA3: ;
	{
		(*result0).Sup.id = getid_291401_644355110();
	}
	LA1: ;
	(*result0).flags = (*s0).flags;
	(*result0).magic = (*s0).magic;
	{
		if (!((*s0).kind == ((Tsymkind292435) 6))) goto LA8;
		copystrtable_294015_850551059((&(*result0).kindU.S3.tab), (*s0).kindU.S3.tab);
	}
	LA8: ;
	(*result0).options = (*s0).options;
	(*result0).position = (*s0).position;
	genericAssign((void*)(&(*result0).loc), (void*)(&(*s0).loc), (&NTI292816));
	asgnRef((void**) (&(*result0).annex), (*s0).annex);
	{
		if (!((262912 &(1U<<((NU)((*result0).kind)&31U)))!=0)) goto LA12;
		asgnRefNoCycle((void**) (&(*result0).kindU.S4.guard), (*s0).kindU.S4.guard);
	}
	LA12: ;
	return result0;
}

N_NIMCALL(void, newsons_295260_850551059)(Tnode292802* father0, NI length0) {
	{
		if (!(*father0).kindU.S6.sons == 0) goto LA3;
		if ((*father0).kindU.S6.sons) nimGCunrefNoCycle((*father0).kindU.S6.sons);
		(*father0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), ((NI) (length0)));
	}
	goto LA1;
	LA3: ;
	{
		(*father0).kindU.S6.sons = (Tnodeseq292796*) setLengthSeq(&((*father0).kindU.S6.sons)->Sup, sizeof(Tnode292802*), ((NI) (length0)));
	}
	LA1: ;
}

N_NIMCALL(void, newstrtable_296015_850551059)(Tstrtable292806* Result) {
	initstrtable_296001_850551059(Result);
}

N_NIMCALL(Tnode292802*, copytree_296822_850551059)(Tnode292802* src0) {
	Tnode292802* result0;
	NimStringDesc* LOC5;
{	result0 = (Tnode292802*)0;
	{
		if (!(src0 == NIM_NIL)) goto LA3;
		result0 = NIM_NIL;
		goto BeforeRet;
	}
	LA3: ;
	result0 = newnode_293401_850551059((*src0).kind);
	(*result0).info = (*src0).info;
	asgnRefNoCycle((void**) (&(*result0).typ), (*src0).typ);
	(*result0).flags = ((*src0).flags & 26382);
	LOC5 = (NimStringDesc*)0;
	LOC5 = (*result0).comment; (*result0).comment = copyStringRC1((*src0).comment);
	if (LOC5) nimGCunrefNoCycle(LOC5);
	switch ((*src0).kind) {
	case ((Tnodekind292020) 5) ... ((Tnodekind292020) 15):
	{
		(*result0).kindU.S1.intval = (*src0).kindU.S1.intval;
	}
	break;
	case ((Tnodekind292020) 16) ... ((Tnodekind292020) 19):
	{
		(*result0).kindU.S2.floatval = (*src0).kindU.S2.floatval;
	}
	break;
	case ((Tnodekind292020) 3):
	{
		asgnRefNoCycle((void**) (&(*result0).kindU.S4.sym), (*src0).kindU.S4.sym);
	}
	break;
	case ((Tnodekind292020) 2):
	{
		asgnRefNoCycle((void**) (&(*result0).kindU.S5.ident), (*src0).kindU.S5.ident);
	}
	break;
	case ((Tnodekind292020) 20) ... ((Tnodekind292020) 22):
	{
		NimStringDesc* LOC11;
		LOC11 = (NimStringDesc*)0;
		LOC11 = (*result0).kindU.S3.strval; (*result0).kindU.S3.strval = copyStringRC1((*src0).kindU.S3.strval);
		if (LOC11) nimGCunrefNoCycle(LOC11);
	}
	break;
	default:
	{
		NI LOC13;
		LOC13 = (NI)0;
		LOC13 = sonslen_295351_850551059(src0);
		if ((*result0).kindU.S6.sons) nimGCunrefNoCycle((*result0).kindU.S6.sons);
		(*result0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), ((NI) (LOC13)));
		{
			NI i_297033_850551059;
			NI HEX3Atmp_297037_850551059;
			NI LOC15;
			NI res_297040_850551059;
			i_297033_850551059 = (NI)0;
			HEX3Atmp_297037_850551059 = (NI)0;
			LOC15 = (NI)0;
			LOC15 = sonslen_295351_850551059(src0);
			HEX3Atmp_297037_850551059 = (NI)(LOC15 - ((NI) 1));
			res_297040_850551059 = ((NI) 0);
			{
				while (1) {
					if (!(res_297040_850551059 <= HEX3Atmp_297037_850551059)) goto LA17;
					i_297033_850551059 = res_297040_850551059;
					asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_297033_850551059]), copytree_296822_850551059((*src0).kindU.S6.sons->data[i_297033_850551059]));
					res_297040_850551059 += ((NI) 1);
				} LA17: ;
			}
		}
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(Tsym292834*, originatingmodule_297308_850551059)(Tsym292834* s0) {
	Tsym292834* result0;
	result0 = (Tsym292834*)0;
	result0 = (*s0).owner;
	{
		while (1) {
			if (!!(((*result0).kind == ((Tsymkind292435) 6)))) goto LA2;
			result0 = (*result0).owner;
		} LA2: ;
	}
	return result0;
}

static N_INLINE(Tnode292802*, HEX5BHEX5D_293238_850551059)(Tnode292802* n0, NI i0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = (*n0).kindU.S6.sons->data[i0];
	return result0;
}

N_NIMCALL(NIM_BOOL, isgenericroutine_297242_850551059)(Tsym292834* s0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	switch ((*s0).kind) {
	case ((Tsymkind292435) 12):
	case ((Tsymkind292435) 17):
	case ((Tsymkind292435) 16):
	case ((Tsymkind292435) 14):
	case ((Tsymkind292435) 13):
	case ((Tsymkind292435) 15):
	{
		NIM_BOOL LOC2;
		NIM_BOOL LOC4;
		Tnode292802* LOC6;
		LOC2 = (NIM_BOOL)0;
		LOC2 = (((*s0).flags &(1U<<((NU)(((Tsymflag292184) 2))&31U)))!=0);
		if (LOC2) goto LA3;
		LOC4 = (NIM_BOOL)0;
		LOC4 = !(((*s0).ast == NIM_NIL));
		if (!(LOC4)) goto LA5;
		LOC6 = (Tnode292802*)0;
		LOC6 = HEX5BHEX5D_293238_850551059((*s0).ast, ((NI) 2));
		LOC4 = !(((*LOC6).kind == ((Tnodekind292020) 1)));
		LA5: ;
		LOC2 = LOC4;
		LA3: ;
		result0 = LOC2;
	}
	break;
	default:
	{
	}
	break;
	}
	return result0;
}

N_NIMCALL(Ttype292840*, skiptypesornil_296115_850551059)(Ttype292840* t0, Ttypekind292244Set kinds0) {
	Ttype292840* result0;
{	result0 = (Ttype292840*)0;
	result0 = t0;
	{
		while (1) {
			NIM_BOOL LOC3;
			LOC3 = (NIM_BOOL)0;
			LOC3 = !((result0 == NIM_NIL));
			if (!(LOC3)) goto LA4;
			LOC3 = ((kinds0 &((NU64)1<<((NU)((*result0).kind)&63U)))!=0);
			LA4: ;
			if (!LOC3) goto LA2;
			{
				NI LOC7;
				LOC7 = (NI)0;
				LOC7 = len_295339_850551059(result0);
				if (!(LOC7 == ((NI) 0))) goto LA8;
				result0 = NIM_NIL;
				goto BeforeRet;
			}
			LA8: ;
			result0 = lastson_295377_850551059(result0);
		} LA2: ;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, discardsons_293078_850551059)(Tnode292802* father0) {
	genericSeqAssign((&(*father0).kindU.S6.sons), NIM_NIL, (&NTI292796));
}

N_NIMCALL(void, appendtomodule_293869_850551059)(Tsym292834* m0, Tnode292802* n0) {
	{
		TY308080 LOC5;
		if (!((*m0).ast == NIM_NIL)) goto LA3;
		asgnRefNoCycle((void**) (&(*m0).ast), newnode_293401_850551059(((Tnodekind292020) 115)));
		if ((*(*m0).ast).kindU.S6.sons) nimGCunrefNoCycle((*(*m0).ast).kindU.S6.sons);
		(*(*m0).ast).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), 1);
		memset((void*)LOC5, 0, sizeof(LOC5));
		LOC5[0] = n0;
		asgnRefNoCycle((void**) (&(*(*m0).ast).kindU.S6.sons->data[0]), LOC5[0]);
	}
	goto LA1;
	LA3: ;
	{
		(*(*m0).ast).kindU.S6.sons = (Tnodeseq292796*) incrSeqV2(&((*(*m0).ast).kindU.S6.sons)->Sup, sizeof(Tnode292802*));
		asgnRefNoCycle((void**) (&(*(*m0).ast).kindU.S6.sons->data[(*(*m0).ast).kindU.S6.sons->Sup.len]), n0);
		++(*(*m0).ast).kindU.S6.sons->Sup.len;
	}
	LA1: ;
}

N_NIMCALL(void, delson_296481_850551059)(Tnode292802* father0, NI idx0) {
	NI length0;
{	{
		if (!(*father0).kindU.S6.sons == 0) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	length0 = sonslen_295351_850551059(father0);
	{
		NI i_296506_850551059;
		NI HEX3Atmp_296521_850551059;
		NI res_296524_850551059;
		i_296506_850551059 = (NI)0;
		HEX3Atmp_296521_850551059 = (NI)0;
		HEX3Atmp_296521_850551059 = (NI)(length0 - ((NI) 2));
		res_296524_850551059 = idx0;
		{
			while (1) {
				if (!(res_296524_850551059 <= HEX3Atmp_296521_850551059)) goto LA7;
				i_296506_850551059 = res_296524_850551059;
				asgnRefNoCycle((void**) (&(*father0).kindU.S6.sons->data[i_296506_850551059]), (*father0).kindU.S6.sons->data[(NI)(i_296506_850551059 + ((NI) 1))]);
				res_296524_850551059 += ((NI) 1);
			} LA7: ;
		}
	}
	(*father0).kindU.S6.sons = (Tnodeseq292796*) setLengthSeq(&((*father0).kindU.S6.sons)->Sup, sizeof(Tnode292802*), ((NI) ((NI)(length0 - ((NI) 1)))));
	}BeforeRet: ;
}

N_NIMCALL(Tnode292802*, newfloatnode_293671_850551059)(Tnodekind292020 kind0, NF floatval0) {
	Tnode292802* result0;
	result0 = (Tnode292802*)0;
	result0 = newnode_293401_850551059(kind0);
	(*result0).kindU.S2.floatval = floatval0;
	return result0;
}

N_NIMCALL(NIM_BOOL, iscallexpr_293064_850551059)(Tnode292802* n0) {
	NIM_BOOL result0;
	result0 = (NIM_BOOL)0;
	result0 = ((*n0).kind == ((Tnodekind292020) 27) || (*n0).kind == ((Tnodekind292020) 29) || (*n0).kind == ((Tnodekind292020) 30) || (*n0).kind == ((Tnodekind292020) 31) || (*n0).kind == ((Tnodekind292020) 26) || (*n0).kind == ((Tnodekind292020) 28) || (*n0).kind == ((Tnodekind292020) 32));
	return result0;
}

N_NIMCALL(Tnode292802*, shallowcopy_296611_850551059)(Tnode292802* src0) {
	Tnode292802* result0;
	NimStringDesc* LOC5;
{	result0 = (Tnode292802*)0;
	{
		if (!(src0 == NIM_NIL)) goto LA3;
		result0 = NIM_NIL;
		goto BeforeRet;
	}
	LA3: ;
	result0 = newnode_293401_850551059((*src0).kind);
	(*result0).info = (*src0).info;
	asgnRefNoCycle((void**) (&(*result0).typ), (*src0).typ);
	(*result0).flags = ((*src0).flags & 26382);
	LOC5 = (NimStringDesc*)0;
	LOC5 = (*result0).comment; (*result0).comment = copyStringRC1((*src0).comment);
	if (LOC5) nimGCunrefNoCycle(LOC5);
	switch ((*src0).kind) {
	case ((Tnodekind292020) 5) ... ((Tnodekind292020) 15):
	{
		(*result0).kindU.S1.intval = (*src0).kindU.S1.intval;
	}
	break;
	case ((Tnodekind292020) 16) ... ((Tnodekind292020) 19):
	{
		(*result0).kindU.S2.floatval = (*src0).kindU.S2.floatval;
	}
	break;
	case ((Tnodekind292020) 3):
	{
		asgnRefNoCycle((void**) (&(*result0).kindU.S4.sym), (*src0).kindU.S4.sym);
	}
	break;
	case ((Tnodekind292020) 2):
	{
		asgnRefNoCycle((void**) (&(*result0).kindU.S5.ident), (*src0).kindU.S5.ident);
	}
	break;
	case ((Tnodekind292020) 20) ... ((Tnodekind292020) 22):
	{
		NimStringDesc* LOC11;
		LOC11 = (NimStringDesc*)0;
		LOC11 = (*result0).kindU.S3.strval; (*result0).kindU.S3.strval = copyStringRC1((*src0).kindU.S3.strval);
		if (LOC11) nimGCunrefNoCycle(LOC11);
	}
	break;
	default:
	{
		NI LOC13;
		LOC13 = (NI)0;
		LOC13 = sonslen_295351_850551059(src0);
		if ((*result0).kindU.S6.sons) nimGCunrefNoCycle((*result0).kindU.S6.sons);
		(*result0).kindU.S6.sons = (Tnodeseq292796*) newSeqRC1((&NTI292796), ((NI) (LOC13)));
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(void, resetidtable_296033_850551059)(Tidtable292850* x0) {
	(*x0).counter = ((NI) 0);
	(*x0).data = (Tidpairseq292848*) setLengthSeq(&((*x0).data)->Sup, sizeof(Tidpair292846), ((NI) 0));
	(*x0).data = (Tidpairseq292848*) setLengthSeq(&((*x0).data)->Sup, sizeof(Tidpair292846), ((NI) 8));
}

N_NIMCALL(Tsym292834*, linkto_293854_850551059)(Tsym292834* s0, Ttype292840* t0) {
	Tsym292834* result0;
	result0 = (Tsym292834*)0;
	asgnRefNoCycle((void**) (&(*t0).sym), s0);
	asgnRefNoCycle((void**) (&(*s0).typ), t0);
	result0 = s0;
	return result0;
}

N_NIMCALL(NI64, getint_297220_850551059)(Tnode292802* a0) {
	NI64 result0;
	result0 = (NI64)0;
	switch ((*a0).kind) {
	case ((Tnodekind292020) 5) ... ((Tnodekind292020) 15):
	{
		result0 = (*a0).kindU.S1.intval;
	}
	break;
	default:
	{
		internalerror_196100_155036129((*a0).info, ((NimStringDesc*) &T850551059_87));
		result0 = IL64(0);
	}
	break;
	}
	return result0;
}

N_NIMCALL(NF, getfloat_297225_850551059)(Tnode292802* a0) {
	NF result0;
	result0 = (NF)0;
	switch ((*a0).kind) {
	case ((Tnodekind292020) 16) ... ((Tnodekind292020) 19):
	{
		result0 = (*a0).kindU.S2.floatval;
	}
	break;
	default:
	{
		internalerror_196100_155036129((*a0).info, ((NimStringDesc*) &T850551059_88));
		result0 = 0.0;
	}
	break;
	}
	return result0;
}

N_NIMCALL(NimStringDesc*, getstr_297230_850551059)(Tnode292802* a0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	switch ((*a0).kind) {
	case ((Tnodekind292020) 20) ... ((Tnodekind292020) 22):
	{
		result0 = copyString((*a0).kindU.S3.strval);
	}
	break;
	case ((Tnodekind292020) 23):
	{
		result0 = copyString(NIM_NIL);
	}
	break;
	default:
	{
		internalerror_196100_155036129((*a0).info, ((NimStringDesc*) &T850551059_89));
		result0 = copyString(((NimStringDesc*) &T850551059_75));
	}
	break;
	}
	return result0;
}

N_NIMCALL(NimStringDesc*, getstrorchar_297235_850551059)(Tnode292802* a0) {
	NimStringDesc* result0;
	result0 = (NimStringDesc*)0;
	switch ((*a0).kind) {
	case ((Tnodekind292020) 20) ... ((Tnodekind292020) 22):
	{
		result0 = copyString((*a0).kindU.S3.strval);
	}
	break;
	case ((Tnodekind292020) 5) ... ((Tnodekind292020) 15):
	{
		result0 = nimCharToStr(((NIM_CHAR) (((NI) (((NI) ((*a0).kindU.S1.intval)))))));
	}
	break;
	default:
	{
		internalerror_196100_155036129((*a0).info, ((NimStringDesc*) &T850551059_90));
		result0 = copyString(((NimStringDesc*) &T850551059_75));
	}
	break;
	}
	return result0;
}
N_NIMCALL(void, T850551059_93)(void* p, NI op) {
	Tidnodepairseq292854* a;
	NI LOC1;
	a = (Tidnodepairseq292854*)p;
	LOC1 = (NI)0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1].key, op);
	nimGCvisit((void*)a->data[LOC1].val, op);
	}
}

N_NIMCALL(void, initidnodetable_296071_850551059)(Tidnodetable292856* x0) {
	(*x0).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x0).data), (Tidnodepairseq292854*) newSeq((&NTI292854), ((NI) 8)));
}

N_NIMCALL(NIM_BOOL, containsnode_297117_850551059)(Tnode292802* n0, Tnodekind292020Set kinds0) {
	NIM_BOOL result0;
{	result0 = (NIM_BOOL)0;
	{
		if (!(n0 == NIM_NIL)) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	switch ((*n0).kind) {
	case ((Tnodekind292020) 1) ... ((Tnodekind292020) 23):
	{
		result0 = ((kinds0[(NU)((*n0).kind)>>3] &(1U<<((NU)((*n0).kind)&7U)))!=0);
	}
	break;
	default:
	{
		{
			NI i_297155_850551059;
			NI HEX3Atmp_297168_850551059;
			NI LOC8;
			NI res_297171_850551059;
			i_297155_850551059 = (NI)0;
			HEX3Atmp_297168_850551059 = (NI)0;
			LOC8 = (NI)0;
			LOC8 = sonslen_295351_850551059(n0);
			HEX3Atmp_297168_850551059 = (NI)(LOC8 - ((NI) 1));
			res_297171_850551059 = ((NI) 0);
			{
				while (1) {
					if (!(res_297171_850551059 <= HEX3Atmp_297168_850551059)) goto LA10;
					i_297155_850551059 = res_297171_850551059;
					{
						NIM_BOOL LOC13;
						LOC13 = (NIM_BOOL)0;
						LOC13 = ((kinds0[(NU)((*n0).kind)>>3] &(1U<<((NU)((*n0).kind)&7U)))!=0);
						if (LOC13) goto LA14;
						LOC13 = containsnode_297117_850551059((*n0).kindU.S6.sons->data[i_297155_850551059], kinds0);
						LA14: ;
						if (!LOC13) goto LA15;
						result0 = NIM_TRUE;
						goto BeforeRet;
					}
					LA15: ;
					res_297171_850551059 += ((NI) 1);
				} LA10: ;
			}
		}
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(NIM_BOOL, hassubnodewith_297175_850551059)(Tnode292802* n0, Tnodekind292020 kind0) {
	NIM_BOOL result0;
{	result0 = (NIM_BOOL)0;
	switch ((*n0).kind) {
	case ((Tnodekind292020) 1) ... ((Tnodekind292020) 23):
	{
		result0 = ((*n0).kind == kind0);
	}
	break;
	default:
	{
		{
			NI i_297200_850551059;
			NI HEX3Atmp_297213_850551059;
			NI LOC4;
			NI res_297216_850551059;
			i_297200_850551059 = (NI)0;
			HEX3Atmp_297213_850551059 = (NI)0;
			LOC4 = (NI)0;
			LOC4 = sonslen_295351_850551059(n0);
			HEX3Atmp_297213_850551059 = (NI)(LOC4 - ((NI) 1));
			res_297216_850551059 = ((NI) 0);
			{
				while (1) {
					if (!(res_297216_850551059 <= HEX3Atmp_297213_850551059)) goto LA6;
					i_297200_850551059 = res_297216_850551059;
					{
						NIM_BOOL LOC9;
						LOC9 = (NIM_BOOL)0;
						LOC9 = ((*(*n0).kindU.S6.sons->data[i_297200_850551059]).kind == kind0);
						if (LOC9) goto LA10;
						LOC9 = hassubnodewith_297175_850551059((*n0).kindU.S6.sons->data[i_297200_850551059], kind0);
						LA10: ;
						if (!LOC9) goto LA11;
						result0 = NIM_TRUE;
						goto BeforeRet;
					}
					LA11: ;
					res_297216_850551059 += ((NI) 1);
				} LA6: ;
			}
		}
		result0 = NIM_FALSE;
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(Tnode292802*, withinfo_294172_850551059)(Tnode292802* n0, Tlineinfo191336 info0) {
	Tnode292802* result0;
{	result0 = (Tnode292802*)0;
	(*n0).info = info0;
	result0 = n0;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}

N_NIMCALL(Tsym292834*, createmodulealias_295838_850551059)(Tsym292834* s0, Tident199010* newident0, Tlineinfo191336 info0) {
	Tsym292834* result0;
	result0 = (Tsym292834*)0;
	result0 = newsym_293683_850551059((*s0).kind, newident0, (*s0).owner, info0);
	asgnRefNoCycle((void**) (&(*result0).ast), (*s0).ast);
	(*result0).Sup.id = (*s0).Sup.id;
	(*result0).flags = (*s0).flags;
	(*result0).kindU.S3.tab.counter = (*s0).kindU.S3.tab.counter;
	asgnRefNoCycle((void**) (&(*result0).kindU.S3.tab.data), (*s0).kindU.S3.tab.data);
	(*result0).options = (*s0).options;
	(*result0).position = (*s0).position;
	genericAssign((void*)(&(*result0).loc), (void*)(&(*s0).loc), (&NTI292816));
	asgnRef((void**) (&(*result0).annex), (*s0).annex);
	return result0;
}

N_NIMCALL(void, initnodetable_296085_850551059)(Tnodetable292862* x0) {
	(*x0).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*x0).data), (Tnodepairseq292860*) newSeq((&NTI292860), ((NI) 8)));
}

static N_INLINE(NI, len_293081_850551059)(Tnode292802* n0) {
	NI result0;
	result0 = (NI)0;
	{
		if (!(*n0).kindU.S6.sons == 0) goto LA3;
		result0 = ((NI) 0);
	}
	goto LA1;
	LA3: ;
	{
		result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0);
	}
	LA1: ;
	return result0;
}

N_NIMCALL(Tnode292802*, skipstmtlist_297482_850551059)(Tnode292802* n0) {
	Tnode292802* result0;
{	result0 = (Tnode292802*)0;
	{
		if (!((*n0).kind == ((Tnodekind292020) 115) || (*n0).kind == ((Tnodekind292020) 126))) goto LA3;
		{
			NI i_297507_850551059;
			NI HEX3Atmp_297521_850551059;
			NI LOC6;
			NI res_297524_850551059;
			i_297507_850551059 = (NI)0;
			HEX3Atmp_297521_850551059 = (NI)0;
			LOC6 = (NI)0;
			LOC6 = len_293081_850551059(n0);
			HEX3Atmp_297521_850551059 = (NI)(LOC6 - ((NI) 2));
			res_297524_850551059 = ((NI) 0);
			{
				while (1) {
					if (!(res_297524_850551059 <= HEX3Atmp_297521_850551059)) goto LA8;
					i_297507_850551059 = res_297524_850551059;
					{
						Tnode292802* LOC11;
						LOC11 = (Tnode292802*)0;
						LOC11 = HEX5BHEX5D_293238_850551059(n0, i_297507_850551059);
						if (!!(((*LOC11).kind == ((Tnodekind292020) 1) || (*LOC11).kind == ((Tnodekind292020) 125)))) goto LA12;
						result0 = n0;
						goto BeforeRet;
					}
					LA12: ;
					res_297524_850551059 += ((NI) 1);
				} LA8: ;
			}
		}
		result0 = lastson_295364_850551059(n0);
	}
	goto LA1;
	LA3: ;
	{
		result0 = n0;
	}
	LA1: ;
	}BeforeRet: ;
	return result0;
}
NIM_EXTERNC N_NOINLINE(void, compiler_astInit000)(void) {
	Tident199010* LOC1;
	Tlineinfo191336 LOC2;
nimRegisterGlobalMarker(T850551059_59);
nimRegisterGlobalMarker(T850551059_60);
nimRegisterGlobalMarker(T850551059_62);
nimRegisterGlobalMarker(T850551059_63);
nimRegisterGlobalMarker(T850551059_65);
	asgnRefNoCycle((void**) (&emptynode_293801_850551059), newnode_293401_850551059(((Tnodekind292020) 1)));
	LOC1 = (Tident199010*)0;
	LOC1 = getident_199441_791273810(((NimStringDesc*) &T850551059_61));
	LOC2 = unknownlineinfo_192080_155036129();
	asgnRefNoCycle((void**) (&anyglobal_293802_850551059), newsym_293683_850551059(((Tsymkind292435) 8), LOC1, NIM_NIL, LOC2));
	asgnRefNoCycle((void**) (&emptyparams_295038_850551059), newnode_293401_850551059(((Tnodekind292020) 76)));
	addson_294807_850551059(emptyparams_295038_850551059, emptynode_293801_850551059);
	asgnRefNoCycle((void**) (&opnot_297534_850551059), createmagic_297528_850551059(((NimStringDesc*) &T850551059_64), ((Tmagic292524) 99)));
	asgnRefNoCycle((void**) (&opcontains_297535_850551059), createmagic_297528_850551059(((NimStringDesc*) &T850551059_66), ((Tmagic292524) 148)));
}

NIM_EXTERNC N_NOINLINE(void, compiler_astDatInit000)(void) {
static TNimNode* T850551059_2[5];
static TNimNode* T850551059_3[15];
static TNimNode* T850551059_4[63];
NI T850551059_6;
static char* NIM_CONST T850551059_5[63] = {
"tyNone", 
"tyBool", 
"tyChar", 
"tyEmpty", 
"tyArrayConstr", 
"tyNil", 
"tyExpr", 
"tyStmt", 
"tyTypeDesc", 
"tyGenericInvocation", 
"tyGenericBody", 
"tyGenericInst", 
"tyGenericParam", 
"tyDistinct", 
"tyEnum", 
"tyOrdinal", 
"tyArray", 
"tyObject", 
"tyTuple", 
"tySet", 
"tyRange", 
"tyPtr", 
"tyRef", 
"tyVar", 
"tySequence", 
"tyProc", 
"tyPointer", 
"tyOpenArray", 
"tyString", 
"tyCString", 
"tyForward", 
"tyInt", 
"tyInt8", 
"tyInt16", 
"tyInt32", 
"tyInt64", 
"tyFloat", 
"tyFloat32", 
"tyFloat64", 
"tyFloat128", 
"tyUInt", 
"tyUInt8", 
"tyUInt16", 
"tyUInt32", 
"tyUInt64", 
"tyBigNum", 
"tyConst", 
"tyMutable", 
"tyVarargs", 
"tyIter", 
"tyProxy", 
"tyBuiltInTypeClass", 
"tyUserTypeClass", 
"tyUserTypeClassInst", 
"tyCompositeTypeClass", 
"tyAnd", 
"tyOr", 
"tyNot", 
"tyAnything", 
"tyStatic", 
"tyFromExpr", 
"tyFieldAccessor", 
"tyVoid"};
static TNimNode* T850551059_7[10];
NI T850551059_9;
static char* NIM_CONST T850551059_8[10] = {
"ccDefault", 
"ccStdCall", 
"ccCDecl", 
"ccSafeCall", 
"ccSysCall", 
"ccInline", 
"ccNoInline", 
"ccFastCall", 
"ccClosure", 
"ccNoConvention"};
static TNimNode* T850551059_10[29];
NI T850551059_12;
static char* NIM_CONST T850551059_11[29] = {
"tfVarargs", 
"tfNoSideEffect", 
"tfFinal", 
"tfInheritable", 
"tfAcyclic", 
"tfEnumHasHoles", 
"tfShallow", 
"tfThread", 
"tfFromGeneric", 
"tfUnresolved", 
"tfRetType", 
"tfCapturesEnv", 
"tfByCopy", 
"tfByRef", 
"tfIterator", 
"tfPartial", 
"tfNotNil", 
"tfNeedsInit", 
"tfVarIsPtr", 
"tfHasMeta", 
"tfHasGCedMem", 
"tfPacked", 
"tfHasStatic", 
"tfGenericTypeParam", 
"tfImplicitTypeParam", 
"tfWildcard", 
"tfHasAsgn", 
"tfBorrowDot", 
"tfTriggersCompileTime"};
static TNimNode* T850551059_14[14];
static TNimNode* T850551059_15[25];
NI T850551059_17;
static char* NIM_CONST T850551059_16[25] = {
"skUnknown", 
"skConditional", 
"skDynLib", 
"skParam", 
"skGenericParam", 
"skTemp", 
"skModule", 
"skType", 
"skVar", 
"skLet", 
"skConst", 
"skResult", 
"skProc", 
"skMethod", 
"skIterator", 
"skConverter", 
"skMacro", 
"skTemplate", 
"skField", 
"skEnumField", 
"skForVar", 
"skLabel", 
"skStub", 
"skPackage", 
"skAlias"};
static TNimNode* T850551059_18[2];
static TNimNode* T850551059_19[3];
static TNimNode* T850551059_22[2];
static TNimNode* T850551059_23[2];
static TNimNode* T850551059_25[2];
static TNimNode* T850551059_26[264];
NI T850551059_28;
static char* NIM_CONST T850551059_27[264] = {
"mNone", 
"mDefined", 
"mDefinedInScope", 
"mCompiles", 
"mArrGet", 
"mArrPut", 
"mAsgn", 
"mLow", 
"mHigh", 
"mSizeOf", 
"mTypeTrait", 
"mIs", 
"mOf", 
"mAddr", 
"mTypeOf", 
"mRoof", 
"mPlugin", 
"mEcho", 
"mShallowCopy", 
"mSlurp", 
"mStaticExec", 
"mParseExprToAst", 
"mParseStmtToAst", 
"mExpandToAst", 
"mQuoteAst", 
"mUnaryLt", 
"mInc", 
"mDec", 
"mOrd", 
"mNew", 
"mNewFinalize", 
"mNewSeq", 
"mNewSeqOfCap", 
"mLengthOpenArray", 
"mLengthStr", 
"mLengthArray", 
"mLengthSeq", 
"mXLenStr", 
"mXLenSeq", 
"mIncl", 
"mExcl", 
"mCard", 
"mChr", 
"mGCref", 
"mGCunref", 
"mAddI", 
"mSubI", 
"mMulI", 
"mDivI", 
"mModI", 
"mSucc", 
"mPred", 
"mAddF64", 
"mSubF64", 
"mMulF64", 
"mDivF64", 
"mShrI", 
"mShlI", 
"mBitandI", 
"mBitorI", 
"mBitxorI", 
"mMinI", 
"mMaxI", 
"mMinF64", 
"mMaxF64", 
"mAddU", 
"mSubU", 
"mMulU", 
"mDivU", 
"mModU", 
"mEqI", 
"mLeI", 
"mLtI", 
"mEqF64", 
"mLeF64", 
"mLtF64", 
"mLeU", 
"mLtU", 
"mLeU64", 
"mLtU64", 
"mEqEnum", 
"mLeEnum", 
"mLtEnum", 
"mEqCh", 
"mLeCh", 
"mLtCh", 
"mEqB", 
"mLeB", 
"mLtB", 
"mEqRef", 
"mEqUntracedRef", 
"mLePtr", 
"mLtPtr", 
"mXor", 
"mEqCString", 
"mEqProc", 
"mUnaryMinusI", 
"mUnaryMinusI64", 
"mAbsI", 
"mNot", 
"mUnaryPlusI", 
"mBitnotI", 
"mUnaryPlusF64", 
"mUnaryMinusF64", 
"mAbsF64", 
"mZe8ToI", 
"mZe8ToI64", 
"mZe16ToI", 
"mZe16ToI64", 
"mZe32ToI64", 
"mZeIToI64", 
"mToU8", 
"mToU16", 
"mToU32", 
"mToFloat", 
"mToBiggestFloat", 
"mToInt", 
"mToBiggestInt", 
"mCharToStr", 
"mBoolToStr", 
"mIntToStr", 
"mInt64ToStr", 
"mFloatToStr", 
"mCStrToStr", 
"mStrToStr", 
"mEnumToStr", 
"mAnd", 
"mOr", 
"mEqStr", 
"mLeStr", 
"mLtStr", 
"mEqSet", 
"mLeSet", 
"mLtSet", 
"mMulSet", 
"mPlusSet", 
"mMinusSet", 
"mSymDiffSet", 
"mConStrStr", 
"mSlice", 
"mDotDot", 
"mFields", 
"mFieldPairs", 
"mOmpParFor", 
"mAppendStrCh", 
"mAppendStrStr", 
"mAppendSeqElem", 
"mInRange", 
"mInSet", 
"mRepr", 
"mExit", 
"mSetLengthStr", 
"mSetLengthSeq", 
"mIsPartOf", 
"mAstToStr", 
"mParallel", 
"mSwap", 
"mIsNil", 
"mArrToSeq", 
"mCopyStr", 
"mCopyStrLast", 
"mNewString", 
"mNewStringOfCap", 
"mParseBiggestFloat", 
"mReset", 
"mArray", 
"mOpenArray", 
"mRange", 
"mSet", 
"mSeq", 
"mVarargs", 
"mRef", 
"mPtr", 
"mVar", 
"mDistinct", 
"mVoid", 
"mTuple", 
"mOrdinal", 
"mInt", 
"mInt8", 
"mInt16", 
"mInt32", 
"mInt64", 
"mUInt", 
"mUInt8", 
"mUInt16", 
"mUInt32", 
"mUInt64", 
"mFloat", 
"mFloat32", 
"mFloat64", 
"mFloat128", 
"mBool", 
"mChar", 
"mString", 
"mCstring", 
"mPointer", 
"mEmptySet", 
"mIntSetBaseType", 
"mNil", 
"mExpr", 
"mStmt", 
"mTypeDesc", 
"mVoidType", 
"mPNimrodNode", 
"mShared", 
"mGuarded", 
"mLock", 
"mSpawn", 
"mDeepCopy", 
"mIsMainModule", 
"mCompileDate", 
"mCompileTime", 
"mProcCall", 
"mCpuEndian", 
"mHostOS", 
"mHostCPU", 
"mAppType", 
"mNaN", 
"mInf", 
"mNegInf", 
"mCompileOption", 
"mCompileOptionArg", 
"mNLen", 
"mNChild", 
"mNSetChild", 
"mNAdd", 
"mNAddMultiple", 
"mNDel", 
"mNKind", 
"mNIntVal", 
"mNFloatVal", 
"mNSymbol", 
"mNIdent", 
"mNGetType", 
"mNStrVal", 
"mNSetIntVal", 
"mNSetFloatVal", 
"mNSetSymbol", 
"mNSetIdent", 
"mNSetType", 
"mNSetStrVal", 
"mNLineInfo", 
"mNNewNimNode", 
"mNCopyNimNode", 
"mNCopyNimTree", 
"mStrToIdent", 
"mIdentToStr", 
"mNBindSym", 
"mLocals", 
"mNCallSite", 
"mEqIdent", 
"mEqNimrodNode", 
"mSameNodeType", 
"mGetImpl", 
"mNHint", 
"mNWarning", 
"mNError", 
"mInstantiationInfo", 
"mGetTypeInfo", 
"mNGenSym", 
"mNimvm", 
"mIntDefine", 
"mStrDefine"};
static TNimNode* T850551059_29[32];
NI T850551059_31;
static char* NIM_CONST T850551059_30[32] = {
"sfUsed", 
"sfExported", 
"sfFromGeneric", 
"sfGlobal", 
"sfForward", 
"sfImportc", 
"sfExportc", 
"sfVolatile", 
"sfRegister", 
"sfPure", 
"sfNoSideEffect", 
"sfSideEffect", 
"sfMainModule", 
"sfSystemModule", 
"sfNoReturn", 
"sfAddrTaken", 
"sfCompilerProc", 
"sfProcvar", 
"sfDiscriminant", 
"sfDeprecated", 
"sfError", 
"sfShadowed", 
"sfThread", 
"sfCompileTime", 
"sfConstructor", 
"sfDeadCodeElim", 
"sfBorrow", 
"sfInfixCall", 
"sfNamedParamCall", 
"sfDiscardable", 
"sfOverriden", 
"sfGenSym"};
static TNimNode* T850551059_32[5];
static TNimNode* T850551059_33[11];
NI T850551059_35;
static char* NIM_CONST T850551059_34[11] = {
"locNone", 
"locTemp", 
"locLocalVar", 
"locGlobalVar", 
"locParam", 
"locField", 
"locExpr", 
"locProc", 
"locData", 
"locCall", 
"locOther"};
static TNimNode* T850551059_36[4];
NI T850551059_38;
static char* NIM_CONST T850551059_37[4] = {
"OnUnknown", 
"OnStatic", 
"OnStack", 
"OnHeap"};
static TNimNode* T850551059_39[9];
NI T850551059_41;
static char* NIM_CONST T850551059_40[9] = {
"lfIndirect", 
"lfFullExternalName", 
"lfNoDeepCopy", 
"lfNoDecl", 
"lfDynamicLib", 
"lfExportLib", 
"lfHeader", 
"lfImportCompilerProc", 
"lfSingleUse"};
static TNimNode* T850551059_42[5];
static TNimNode* T850551059_43[2];
NI T850551059_45;
static char* NIM_CONST T850551059_44[2] = {
"libHeader", 
"libDynamic"};
static TNimNode* T850551059_48[2];
static TNimNode* T850551059_51[15];
NI T850551059_53;
static char* NIM_CONST T850551059_52[15] = {
"nfNone", 
"nfBase2", 
"nfBase8", 
"nfBase16", 
"nfAllConst", 
"nfTransf", 
"nfNoRewrite", 
"nfSem", 
"nfLL", 
"nfDotField", 
"nfDotSetter", 
"nfExplicitCall", 
"nfExprCall", 
"nfIsRef", 
"nfPreventCg"};
static TNimNode* T850551059_54[159];
NI T850551059_56;
static char* NIM_CONST T850551059_55[159] = {
"nkNone", 
"nkEmpty", 
"nkIdent", 
"nkSym", 
"nkType", 
"nkCharLit", 
"nkIntLit", 
"nkInt8Lit", 
"nkInt16Lit", 
"nkInt32Lit", 
"nkInt64Lit", 
"nkUIntLit", 
"nkUInt8Lit", 
"nkUInt16Lit", 
"nkUInt32Lit", 
"nkUInt64Lit", 
"nkFloatLit", 
"nkFloat32Lit", 
"nkFloat64Lit", 
"nkFloat128Lit", 
"nkStrLit", 
"nkRStrLit", 
"nkTripleStrLit", 
"nkNilLit", 
"nkMetaNode_Obsolete", 
"nkDotCall", 
"nkCommand", 
"nkCall", 
"nkCallStrLit", 
"nkInfix", 
"nkPrefix", 
"nkPostfix", 
"nkHiddenCallConv", 
"nkExprEqExpr", 
"nkExprColonExpr", 
"nkIdentDefs", 
"nkVarTuple", 
"nkPar", 
"nkObjConstr", 
"nkCurly", 
"nkCurlyExpr", 
"nkBracket", 
"nkBracketExpr", 
"nkPragmaExpr", 
"nkRange", 
"nkDotExpr", 
"nkCheckedFieldExpr", 
"nkDerefExpr", 
"nkIfExpr", 
"nkElifExpr", 
"nkElseExpr", 
"nkLambda", 
"nkDo", 
"nkAccQuoted", 
"nkTableConstr", 
"nkBind", 
"nkClosedSymChoice", 
"nkOpenSymChoice", 
"nkHiddenStdConv", 
"nkHiddenSubConv", 
"nkConv", 
"nkCast", 
"nkStaticExpr", 
"nkAddr", 
"nkHiddenAddr", 
"nkHiddenDeref", 
"nkObjDownConv", 
"nkObjUpConv", 
"nkChckRangeF", 
"nkChckRange64", 
"nkChckRange", 
"nkStringToCString", 
"nkCStringToString", 
"nkAsgn", 
"nkFastAsgn", 
"nkGenericParams", 
"nkFormalParams", 
"nkOfInherit", 
"nkImportAs", 
"nkProcDef", 
"nkMethodDef", 
"nkConverterDef", 
"nkMacroDef", 
"nkTemplateDef", 
"nkIteratorDef", 
"nkOfBranch", 
"nkElifBranch", 
"nkExceptBranch", 
"nkElse", 
"nkAsmStmt", 
"nkPragma", 
"nkPragmaBlock", 
"nkIfStmt", 
"nkWhenStmt", 
"nkForStmt", 
"nkParForStmt", 
"nkWhileStmt", 
"nkCaseStmt", 
"nkTypeSection", 
"nkVarSection", 
"nkLetSection", 
"nkConstSection", 
"nkConstDef", 
"nkTypeDef", 
"nkYieldStmt", 
"nkDefer", 
"nkTryStmt", 
"nkFinally", 
"nkRaiseStmt", 
"nkReturnStmt", 
"nkBreakStmt", 
"nkContinueStmt", 
"nkBlockStmt", 
"nkStaticStmt", 
"nkDiscardStmt", 
"nkStmtList", 
"nkImportStmt", 
"nkImportExceptStmt", 
"nkExportStmt", 
"nkExportExceptStmt", 
"nkFromStmt", 
"nkIncludeStmt", 
"nkBindStmt", 
"nkMixinStmt", 
"nkUsingStmt", 
"nkCommentStmt", 
"nkStmtListExpr", 
"nkBlockExpr", 
"nkStmtListType", 
"nkBlockType", 
"nkWith", 
"nkWithout", 
"nkTypeOfExpr", 
"nkObjectTy", 
"nkTupleTy", 
"nkTupleClassTy", 
"nkTypeClassTy", 
"nkStaticTy", 
"nkRecList", 
"nkRecCase", 
"nkRecWhen", 
"nkRefTy", 
"nkPtrTy", 
"nkVarTy", 
"nkConstTy", 
"nkMutableTy", 
"nkDistinctTy", 
"nkProcTy", 
"nkIteratorTy", 
"nkSharedTy", 
"nkEnumTy", 
"nkEnumFieldDef", 
"nkArgList", 
"nkPattern", 
"nkReturnToken", 
"nkClosure", 
"nkGotoState", 
"nkState", 
"nkBreakState"};
static TNimNode* T850551059_67[2];
static TNimNode* T850551059_68[2];
static TNimNode* T850551059_70[2];
static TNimNode* T850551059_71[3];
static TNimNode* T850551059_73[3];
static TNimNode* T850551059_91[2];
static TNimNode* T850551059_92[2];
static TNimNode T850551059_0[738];
NTI292802.size = sizeof(Tnode292802);
NTI292802.kind = 18;
NTI292802.base = 0;
NTI292802.flags = 2;
T850551059_2[0] = &T850551059_0[1];
NTI292840.size = sizeof(Ttype292840);
NTI292840.kind = 17;
NTI292840.base = (&NTI199004);
NTI292840.flags = 2;
T850551059_3[0] = &T850551059_0[3];
NTI292244.size = sizeof(Ttypekind292244);
NTI292244.kind = 14;
NTI292244.base = 0;
NTI292244.flags = 3;
for (T850551059_6 = 0; T850551059_6 < 63; T850551059_6++) {
T850551059_0[T850551059_6+4].kind = 1;
T850551059_0[T850551059_6+4].offset = T850551059_6;
T850551059_0[T850551059_6+4].name = T850551059_5[T850551059_6];
T850551059_4[T850551059_6] = &T850551059_0[T850551059_6+4];
}
T850551059_0[67].len = 63; T850551059_0[67].kind = 2; T850551059_0[67].sons = &T850551059_4[0];
NTI292244.node = &T850551059_0[67];
T850551059_0[3].kind = 1;
T850551059_0[3].offset = offsetof(Ttype292840, kind);
T850551059_0[3].typ = (&NTI292244);
T850551059_0[3].name = "kind";
T850551059_3[1] = &T850551059_0[68];
NTI292002.size = sizeof(Tcallingconvention292002);
NTI292002.kind = 14;
NTI292002.base = 0;
NTI292002.flags = 3;
for (T850551059_9 = 0; T850551059_9 < 10; T850551059_9++) {
T850551059_0[T850551059_9+69].kind = 1;
T850551059_0[T850551059_9+69].offset = T850551059_9;
T850551059_0[T850551059_9+69].name = T850551059_8[T850551059_9];
T850551059_7[T850551059_9] = &T850551059_0[T850551059_9+69];
}
T850551059_0[79].len = 10; T850551059_0[79].kind = 2; T850551059_0[79].sons = &T850551059_7[0];
NTI292002.node = &T850551059_0[79];
T850551059_0[68].kind = 1;
T850551059_0[68].offset = offsetof(Ttype292840, callconv);
T850551059_0[68].typ = (&NTI292002);
T850551059_0[68].name = "callConv";
T850551059_3[2] = &T850551059_0[80];
NTI292431.size = sizeof(Ttypeflag292431);
NTI292431.kind = 14;
NTI292431.base = 0;
NTI292431.flags = 3;
for (T850551059_12 = 0; T850551059_12 < 29; T850551059_12++) {
T850551059_0[T850551059_12+81].kind = 1;
T850551059_0[T850551059_12+81].offset = T850551059_12;
T850551059_0[T850551059_12+81].name = T850551059_11[T850551059_12];
T850551059_10[T850551059_12] = &T850551059_0[T850551059_12+81];
}
T850551059_0[110].len = 29; T850551059_0[110].kind = 2; T850551059_0[110].sons = &T850551059_10[0];
NTI292431.node = &T850551059_0[110];
NTI292433.size = sizeof(Ttypeflag292431Set);
NTI292433.kind = 19;
NTI292433.base = (&NTI292431);
NTI292433.flags = 3;
T850551059_0[111].len = 0; T850551059_0[111].kind = 0;
NTI292433.node = &T850551059_0[111];
T850551059_0[80].kind = 1;
T850551059_0[80].offset = offsetof(Ttype292840, flags);
T850551059_0[80].typ = (&NTI292433);
T850551059_0[80].name = "flags";
T850551059_3[3] = &T850551059_0[112];
NTI292836.size = sizeof(Ttypeseq292836*);
NTI292836.kind = 24;
NTI292836.base = (&NTI292798);
NTI292836.flags = 2;
NTI292836.marker = T850551059_13;
T850551059_0[112].kind = 1;
T850551059_0[112].offset = offsetof(Ttype292840, sons);
T850551059_0[112].typ = (&NTI292836);
T850551059_0[112].name = "sons";
T850551059_3[4] = &T850551059_0[113];
T850551059_0[113].kind = 1;
T850551059_0[113].offset = offsetof(Ttype292840, n);
T850551059_0[113].typ = (&NTI292794);
T850551059_0[113].name = "n";
T850551059_3[5] = &T850551059_0[114];
NTI292834.size = sizeof(Tsym292834);
NTI292834.kind = 17;
NTI292834.base = (&NTI199004);
NTI292834.flags = 2;
T850551059_14[0] = &T850551059_0[116];
NTI292435.size = sizeof(Tsymkind292435);
NTI292435.kind = 14;
NTI292435.base = 0;
NTI292435.flags = 3;
for (T850551059_17 = 0; T850551059_17 < 25; T850551059_17++) {
T850551059_0[T850551059_17+117].kind = 1;
T850551059_0[T850551059_17+117].offset = T850551059_17;
T850551059_0[T850551059_17+117].name = T850551059_16[T850551059_17];
T850551059_15[T850551059_17] = &T850551059_0[T850551059_17+117];
}
T850551059_0[142].len = 25; T850551059_0[142].kind = 2; T850551059_0[142].sons = &T850551059_15[0];
NTI292435.node = &T850551059_0[142];
T850551059_0[116].kind = 3;
T850551059_0[116].offset = offsetof(Tsym292834, kind);
T850551059_0[116].typ = (&NTI292435);
T850551059_0[116].name = "kind";
T850551059_0[116].sons = &NimDT_292834_kind[0];
T850551059_0[116].len = 25;
T850551059_0[143].kind = 1;
T850551059_0[143].offset = offsetof(Tsym292834, kindU.S1.typeinstcache);
T850551059_0[143].typ = (&NTI292836);
T850551059_0[143].name = "typeInstCache";
NimDT_292834_kind[7] = &T850551059_0[143];
NimDT_292834_kind[4] = &T850551059_0[143];
T850551059_18[0] = &T850551059_0[145];
NTI292824.size = sizeof(Tinstantiation292824);
NTI292824.kind = 18;
NTI292824.base = 0;
NTI292824.flags = 2;
T850551059_19[0] = &T850551059_0[147];
T850551059_0[147].kind = 1;
T850551059_0[147].offset = offsetof(Tinstantiation292824, sym);
T850551059_0[147].typ = (&NTI292800);
T850551059_0[147].name = "sym";
T850551059_19[1] = &T850551059_0[148];
T850551059_0[148].kind = 1;
T850551059_0[148].offset = offsetof(Tinstantiation292824, concretetypes);
T850551059_0[148].typ = (&NTI292836);
T850551059_0[148].name = "concreteTypes";
T850551059_19[2] = &T850551059_0[149];
NTI292822.size = sizeof(NI);
NTI292822.kind = 31;
NTI292822.base = 0;
NTI292822.flags = 3;
T850551059_0[149].kind = 1;
T850551059_0[149].offset = offsetof(Tinstantiation292824, compilesid);
T850551059_0[149].typ = (&NTI292822);
T850551059_0[149].name = "compilesId";
T850551059_0[146].len = 3; T850551059_0[146].kind = 2; T850551059_0[146].sons = &T850551059_19[0];
NTI292824.node = &T850551059_0[146];
NTI292826.size = sizeof(Tinstantiation292824*);
NTI292826.kind = 22;
NTI292826.base = (&NTI292824);
NTI292826.flags = 2;
NTI292826.marker = T850551059_20;
NTI292929.size = sizeof(TY292929*);
NTI292929.kind = 24;
NTI292929.base = (&NTI292826);
NTI292929.flags = 2;
NTI292929.marker = T850551059_21;
T850551059_0[145].kind = 1;
T850551059_0[145].offset = offsetof(Tsym292834, kindU.S2.procinstcache);
T850551059_0[145].typ = (&NTI292929);
T850551059_0[145].name = "procInstCache";
T850551059_18[1] = &T850551059_0[150];
T850551059_0[150].kind = 1;
T850551059_0[150].offset = offsetof(Tsym292834, kindU.S2.gcunsafetyreason);
T850551059_0[150].typ = (&NTI292800);
T850551059_0[150].name = "gcUnsafetyReason";
T850551059_0[144].len = 2; T850551059_0[144].kind = 2; T850551059_0[144].sons = &T850551059_18[0];
NimDT_292834_kind[12] = &T850551059_0[144];
NimDT_292834_kind[13] = &T850551059_0[144];
NimDT_292834_kind[14] = &T850551059_0[144];
NimDT_292834_kind[15] = &T850551059_0[144];
NimDT_292834_kind[16] = &T850551059_0[144];
NimDT_292834_kind[17] = &T850551059_0[144];
T850551059_22[0] = &T850551059_0[152];
T850551059_0[152].kind = 1;
T850551059_0[152].offset = offsetof(Tsym292834, kindU.S3.usedgenerics);
T850551059_0[152].typ = (&NTI292929);
T850551059_0[152].name = "usedGenerics";
T850551059_22[1] = &T850551059_0[153];
NTI292806.size = sizeof(Tstrtable292806);
NTI292806.kind = 18;
NTI292806.base = 0;
NTI292806.flags = 2;
T850551059_23[0] = &T850551059_0[155];
T850551059_0[155].kind = 1;
T850551059_0[155].offset = offsetof(Tstrtable292806, counter);
T850551059_0[155].typ = (&NTI104);
T850551059_0[155].name = "counter";
T850551059_23[1] = &T850551059_0[156];
NTI292804.size = sizeof(Tsymseq292804*);
NTI292804.kind = 24;
NTI292804.base = (&NTI292800);
NTI292804.flags = 2;
NTI292804.marker = T850551059_24;
T850551059_0[156].kind = 1;
T850551059_0[156].offset = offsetof(Tstrtable292806, data);
T850551059_0[156].typ = (&NTI292804);
T850551059_0[156].name = "data";
T850551059_0[154].len = 2; T850551059_0[154].kind = 2; T850551059_0[154].sons = &T850551059_23[0];
NTI292806.node = &T850551059_0[154];
T850551059_0[153].kind = 1;
T850551059_0[153].offset = offsetof(Tsym292834, kindU.S3.tab);
T850551059_0[153].typ = (&NTI292806);
T850551059_0[153].name = "tab";
T850551059_0[151].len = 2; T850551059_0[151].kind = 2; T850551059_0[151].sons = &T850551059_22[0];
NimDT_292834_kind[6] = &T850551059_0[151];
NimDT_292834_kind[23] = &T850551059_0[151];
T850551059_25[0] = &T850551059_0[158];
T850551059_0[158].kind = 1;
T850551059_0[158].offset = offsetof(Tsym292834, kindU.S4.guard);
T850551059_0[158].typ = (&NTI292800);
T850551059_0[158].name = "guard";
T850551059_25[1] = &T850551059_0[159];
T850551059_0[159].kind = 1;
T850551059_0[159].offset = offsetof(Tsym292834, kindU.S4.bitsize);
T850551059_0[159].typ = (&NTI104);
T850551059_0[159].name = "bitsize";
T850551059_0[157].len = 2; T850551059_0[157].kind = 2; T850551059_0[157].sons = &T850551059_25[0];
NimDT_292834_kind[9] = &T850551059_0[157];
NimDT_292834_kind[8] = &T850551059_0[157];
NimDT_292834_kind[18] = &T850551059_0[157];
NimDT_292834_kind[20] = &T850551059_0[157];
T850551059_0[160].len = 0; T850551059_0[160].kind = 2;
NimDT_292834_kind[25] = &T850551059_0[160];
T850551059_14[1] = &T850551059_0[161];
NTI292524.size = sizeof(Tmagic292524);
NTI292524.kind = 14;
NTI292524.base = 0;
NTI292524.flags = 3;
for (T850551059_28 = 0; T850551059_28 < 264; T850551059_28++) {
T850551059_0[T850551059_28+162].kind = 1;
T850551059_0[T850551059_28+162].offset = T850551059_28;
T850551059_0[T850551059_28+162].name = T850551059_27[T850551059_28];
T850551059_26[T850551059_28] = &T850551059_0[T850551059_28+162];
}
T850551059_0[426].len = 264; T850551059_0[426].kind = 2; T850551059_0[426].sons = &T850551059_26[0];
NTI292524.node = &T850551059_0[426];
T850551059_0[161].kind = 1;
T850551059_0[161].offset = offsetof(Tsym292834, magic);
T850551059_0[161].typ = (&NTI292524);
T850551059_0[161].name = "magic";
T850551059_14[2] = &T850551059_0[427];
T850551059_0[427].kind = 1;
T850551059_0[427].offset = offsetof(Tsym292834, typ);
T850551059_0[427].typ = (&NTI292798);
T850551059_0[427].name = "typ";
T850551059_14[3] = &T850551059_0[428];
T850551059_0[428].kind = 1;
T850551059_0[428].offset = offsetof(Tsym292834, name);
T850551059_0[428].typ = (&NTI199008);
T850551059_0[428].name = "name";
T850551059_14[4] = &T850551059_0[429];
T850551059_0[429].kind = 1;
T850551059_0[429].offset = offsetof(Tsym292834, info);
T850551059_0[429].typ = (&NTI191336);
T850551059_0[429].name = "info";
T850551059_14[5] = &T850551059_0[430];
T850551059_0[430].kind = 1;
T850551059_0[430].offset = offsetof(Tsym292834, owner);
T850551059_0[430].typ = (&NTI292800);
T850551059_0[430].name = "owner";
T850551059_14[6] = &T850551059_0[431];
NTI292184.size = sizeof(Tsymflag292184);
NTI292184.kind = 14;
NTI292184.base = 0;
NTI292184.flags = 3;
for (T850551059_31 = 0; T850551059_31 < 32; T850551059_31++) {
T850551059_0[T850551059_31+432].kind = 1;
T850551059_0[T850551059_31+432].offset = T850551059_31;
T850551059_0[T850551059_31+432].name = T850551059_30[T850551059_31];
T850551059_29[T850551059_31] = &T850551059_0[T850551059_31+432];
}
T850551059_0[464].len = 32; T850551059_0[464].kind = 2; T850551059_0[464].sons = &T850551059_29[0];
NTI292184.node = &T850551059_0[464];
NTI292186.size = sizeof(Tsymflag292184Set);
NTI292186.kind = 19;
NTI292186.base = (&NTI292184);
NTI292186.flags = 3;
T850551059_0[465].len = 0; T850551059_0[465].kind = 0;
NTI292186.node = &T850551059_0[465];
T850551059_0[431].kind = 1;
T850551059_0[431].offset = offsetof(Tsym292834, flags);
T850551059_0[431].typ = (&NTI292186);
T850551059_0[431].name = "flags";
T850551059_14[7] = &T850551059_0[466];
T850551059_0[466].kind = 1;
T850551059_0[466].offset = offsetof(Tsym292834, ast);
T850551059_0[466].typ = (&NTI292794);
T850551059_0[466].name = "ast";
T850551059_14[8] = &T850551059_0[467];
T850551059_0[467].kind = 1;
T850551059_0[467].offset = offsetof(Tsym292834, options);
T850551059_0[467].typ = (&NTI169011);
T850551059_0[467].name = "options";
T850551059_14[9] = &T850551059_0[468];
T850551059_0[468].kind = 1;
T850551059_0[468].offset = offsetof(Tsym292834, position);
T850551059_0[468].typ = (&NTI104);
T850551059_0[468].name = "position";
T850551059_14[10] = &T850551059_0[469];
T850551059_0[469].kind = 1;
T850551059_0[469].offset = offsetof(Tsym292834, offset);
T850551059_0[469].typ = (&NTI104);
T850551059_0[469].name = "offset";
T850551059_14[11] = &T850551059_0[470];
NTI292816.size = sizeof(Tloc292816);
NTI292816.kind = 18;
NTI292816.base = 0;
NTI292816.flags = 2;
T850551059_32[0] = &T850551059_0[472];
NTI292808.size = sizeof(Tlockind292808);
NTI292808.kind = 14;
NTI292808.base = 0;
NTI292808.flags = 3;
for (T850551059_35 = 0; T850551059_35 < 11; T850551059_35++) {
T850551059_0[T850551059_35+473].kind = 1;
T850551059_0[T850551059_35+473].offset = T850551059_35;
T850551059_0[T850551059_35+473].name = T850551059_34[T850551059_35];
T850551059_33[T850551059_35] = &T850551059_0[T850551059_35+473];
}
T850551059_0[484].len = 11; T850551059_0[484].kind = 2; T850551059_0[484].sons = &T850551059_33[0];
NTI292808.node = &T850551059_0[484];
T850551059_0[472].kind = 1;
T850551059_0[472].offset = offsetof(Tloc292816, k);
T850551059_0[472].typ = (&NTI292808);
T850551059_0[472].name = "k";
T850551059_32[1] = &T850551059_0[485];
NTI292812.size = sizeof(Tstorageloc292812);
NTI292812.kind = 14;
NTI292812.base = 0;
NTI292812.flags = 3;
for (T850551059_38 = 0; T850551059_38 < 4; T850551059_38++) {
T850551059_0[T850551059_38+486].kind = 1;
T850551059_0[T850551059_38+486].offset = T850551059_38;
T850551059_0[T850551059_38+486].name = T850551059_37[T850551059_38];
T850551059_36[T850551059_38] = &T850551059_0[T850551059_38+486];
}
T850551059_0[490].len = 4; T850551059_0[490].kind = 2; T850551059_0[490].sons = &T850551059_36[0];
NTI292812.node = &T850551059_0[490];
T850551059_0[485].kind = 1;
T850551059_0[485].offset = offsetof(Tloc292816, s);
T850551059_0[485].typ = (&NTI292812);
T850551059_0[485].name = "s";
T850551059_32[2] = &T850551059_0[491];
NTI292810.size = sizeof(Tlocflag292810);
NTI292810.kind = 14;
NTI292810.base = 0;
NTI292810.flags = 3;
for (T850551059_41 = 0; T850551059_41 < 9; T850551059_41++) {
T850551059_0[T850551059_41+492].kind = 1;
T850551059_0[T850551059_41+492].offset = T850551059_41;
T850551059_0[T850551059_41+492].name = T850551059_40[T850551059_41];
T850551059_39[T850551059_41] = &T850551059_0[T850551059_41+492];
}
T850551059_0[501].len = 9; T850551059_0[501].kind = 2; T850551059_0[501].sons = &T850551059_39[0];
NTI292810.node = &T850551059_0[501];
NTI292814.size = sizeof(Tlocflag292810Set);
NTI292814.kind = 19;
NTI292814.base = (&NTI292810);
NTI292814.flags = 3;
T850551059_0[502].len = 0; T850551059_0[502].kind = 0;
NTI292814.node = &T850551059_0[502];
T850551059_0[491].kind = 1;
T850551059_0[491].offset = offsetof(Tloc292816, flags);
T850551059_0[491].typ = (&NTI292814);
T850551059_0[491].name = "flags";
T850551059_32[3] = &T850551059_0[503];
T850551059_0[503].kind = 1;
T850551059_0[503].offset = offsetof(Tloc292816, t);
T850551059_0[503].typ = (&NTI292798);
T850551059_0[503].name = "t";
T850551059_32[4] = &T850551059_0[504];
T850551059_0[504].kind = 1;
T850551059_0[504].offset = offsetof(Tloc292816, r);
T850551059_0[504].typ = (&NTI178004);
T850551059_0[504].name = "r";
T850551059_0[471].len = 5; T850551059_0[471].kind = 2; T850551059_0[471].sons = &T850551059_32[0];
NTI292816.node = &T850551059_0[471];
T850551059_0[470].kind = 1;
T850551059_0[470].offset = offsetof(Tsym292834, loc);
T850551059_0[470].typ = (&NTI292816);
T850551059_0[470].name = "loc";
T850551059_14[12] = &T850551059_0[505];
NTI292820.size = sizeof(Tlib292820);
NTI292820.kind = 17;
NTI292820.base = (&NTI147007);
T850551059_42[0] = &T850551059_0[507];
NTI292818.size = sizeof(Tlibkind292818);
NTI292818.kind = 14;
NTI292818.base = 0;
NTI292818.flags = 3;
for (T850551059_45 = 0; T850551059_45 < 2; T850551059_45++) {
T850551059_0[T850551059_45+508].kind = 1;
T850551059_0[T850551059_45+508].offset = T850551059_45;
T850551059_0[T850551059_45+508].name = T850551059_44[T850551059_45];
T850551059_43[T850551059_45] = &T850551059_0[T850551059_45+508];
}
T850551059_0[510].len = 2; T850551059_0[510].kind = 2; T850551059_0[510].sons = &T850551059_43[0];
NTI292818.node = &T850551059_0[510];
T850551059_0[507].kind = 1;
T850551059_0[507].offset = offsetof(Tlib292820, kind);
T850551059_0[507].typ = (&NTI292818);
T850551059_0[507].name = "kind";
T850551059_42[1] = &T850551059_0[511];
T850551059_0[511].kind = 1;
T850551059_0[511].offset = offsetof(Tlib292820, generated);
T850551059_0[511].typ = (&NTI130);
T850551059_0[511].name = "generated";
T850551059_42[2] = &T850551059_0[512];
T850551059_0[512].kind = 1;
T850551059_0[512].offset = offsetof(Tlib292820, isoverriden);
T850551059_0[512].typ = (&NTI130);
T850551059_0[512].name = "isOverriden";
T850551059_42[3] = &T850551059_0[513];
T850551059_0[513].kind = 1;
T850551059_0[513].offset = offsetof(Tlib292820, name);
T850551059_0[513].typ = (&NTI178004);
T850551059_0[513].name = "name";
T850551059_42[4] = &T850551059_0[514];
T850551059_0[514].kind = 1;
T850551059_0[514].offset = offsetof(Tlib292820, path);
T850551059_0[514].typ = (&NTI292794);
T850551059_0[514].name = "path";
T850551059_0[506].len = 5; T850551059_0[506].kind = 2; T850551059_0[506].sons = &T850551059_42[0];
NTI292820.node = &T850551059_0[506];
NTI292832.size = sizeof(Tlib292820*);
NTI292832.kind = 22;
NTI292832.base = (&NTI292820);
NTI292832.marker = T850551059_46;
T850551059_0[505].kind = 1;
T850551059_0[505].offset = offsetof(Tsym292834, annex);
T850551059_0[505].typ = (&NTI292832);
T850551059_0[505].name = "annex";
T850551059_14[13] = &T850551059_0[515];
T850551059_0[515].kind = 1;
T850551059_0[515].offset = offsetof(Tsym292834, constraint);
T850551059_0[515].typ = (&NTI292794);
T850551059_0[515].name = "constraint";
T850551059_0[115].len = 14; T850551059_0[115].kind = 2; T850551059_0[115].sons = &T850551059_14[0];
NTI292834.node = &T850551059_0[115];
NTI292800.size = sizeof(Tsym292834*);
NTI292800.kind = 22;
NTI292800.base = (&NTI292834);
NTI292800.flags = 2;
NTI292800.marker = T850551059_47;
T850551059_0[114].kind = 1;
T850551059_0[114].offset = offsetof(Ttype292840, owner);
T850551059_0[114].typ = (&NTI292800);
T850551059_0[114].name = "owner";
T850551059_3[6] = &T850551059_0[516];
T850551059_0[516].kind = 1;
T850551059_0[516].offset = offsetof(Ttype292840, sym);
T850551059_0[516].typ = (&NTI292800);
T850551059_0[516].name = "sym";
T850551059_3[7] = &T850551059_0[517];
T850551059_0[517].kind = 1;
T850551059_0[517].offset = offsetof(Ttype292840, destructor);
T850551059_0[517].typ = (&NTI292800);
T850551059_0[517].name = "destructor";
T850551059_3[8] = &T850551059_0[518];
T850551059_0[518].kind = 1;
T850551059_0[518].offset = offsetof(Ttype292840, deepcopy);
T850551059_0[518].typ = (&NTI292800);
T850551059_0[518].name = "deepCopy";
T850551059_3[9] = &T850551059_0[519];
T850551059_0[519].kind = 1;
T850551059_0[519].offset = offsetof(Ttype292840, assignment);
T850551059_0[519].typ = (&NTI292800);
T850551059_0[519].name = "assignment";
T850551059_3[10] = &T850551059_0[520];
NTI292961.size = sizeof(TY292961);
NTI292961.kind = 18;
NTI292961.base = 0;
NTI292961.flags = 2;
T850551059_48[0] = &T850551059_0[522];
T850551059_0[522].kind = 1;
T850551059_0[522].offset = offsetof(TY292961, Field0);
T850551059_0[522].typ = (&NTI104);
T850551059_0[522].name = "Field0";
T850551059_48[1] = &T850551059_0[523];
T850551059_0[523].kind = 1;
T850551059_0[523].offset = offsetof(TY292961, Field1);
T850551059_0[523].typ = (&NTI292800);
T850551059_0[523].name = "Field1";
T850551059_0[521].len = 2; T850551059_0[521].kind = 2; T850551059_0[521].sons = &T850551059_48[0];
NTI292961.node = &T850551059_0[521];
NTI292960.size = sizeof(TY292960*);
NTI292960.kind = 24;
NTI292960.base = (&NTI292961);
NTI292960.flags = 2;
NTI292960.marker = T850551059_49;
T850551059_0[520].kind = 1;
T850551059_0[520].offset = offsetof(Ttype292840, methods);
T850551059_0[520].typ = (&NTI292960);
T850551059_0[520].name = "methods";
T850551059_3[11] = &T850551059_0[524];
T850551059_0[524].kind = 1;
T850551059_0[524].offset = offsetof(Ttype292840, size);
T850551059_0[524].typ = (&NTI7288);
T850551059_0[524].name = "size";
T850551059_3[12] = &T850551059_0[525];
T850551059_0[525].kind = 1;
T850551059_0[525].offset = offsetof(Ttype292840, align);
T850551059_0[525].typ = (&NTI108);
T850551059_0[525].name = "align";
T850551059_3[13] = &T850551059_0[526];
T850551059_0[526].kind = 1;
T850551059_0[526].offset = offsetof(Ttype292840, locklevel);
T850551059_0[526].typ = (&NTI108);
T850551059_0[526].name = "lockLevel";
T850551059_3[14] = &T850551059_0[527];
T850551059_0[527].kind = 1;
T850551059_0[527].offset = offsetof(Ttype292840, loc);
T850551059_0[527].typ = (&NTI292816);
T850551059_0[527].name = "loc";
T850551059_0[2].len = 15; T850551059_0[2].kind = 2; T850551059_0[2].sons = &T850551059_3[0];
NTI292840.node = &T850551059_0[2];
NTI292798.size = sizeof(Ttype292840*);
NTI292798.kind = 22;
NTI292798.base = (&NTI292840);
NTI292798.flags = 2;
NTI292798.marker = T850551059_50;
T850551059_0[1].kind = 1;
T850551059_0[1].offset = offsetof(Tnode292802, typ);
T850551059_0[1].typ = (&NTI292798);
T850551059_0[1].name = "typ";
T850551059_2[1] = &T850551059_0[528];
T850551059_0[528].kind = 1;
T850551059_0[528].offset = offsetof(Tnode292802, info);
T850551059_0[528].typ = (&NTI191336);
T850551059_0[528].name = "info";
T850551059_2[2] = &T850551059_0[529];
NTI292427.size = sizeof(Tnodeflag292427);
NTI292427.kind = 14;
NTI292427.base = 0;
NTI292427.flags = 3;
for (T850551059_53 = 0; T850551059_53 < 15; T850551059_53++) {
T850551059_0[T850551059_53+530].kind = 1;
T850551059_0[T850551059_53+530].offset = T850551059_53;
T850551059_0[T850551059_53+530].name = T850551059_52[T850551059_53];
T850551059_51[T850551059_53] = &T850551059_0[T850551059_53+530];
}
T850551059_0[545].len = 15; T850551059_0[545].kind = 2; T850551059_0[545].sons = &T850551059_51[0];
NTI292427.node = &T850551059_0[545];
NTI292429.size = sizeof(Tnodeflag292427Set);
NTI292429.kind = 19;
NTI292429.base = (&NTI292427);
NTI292429.flags = 3;
T850551059_0[546].len = 0; T850551059_0[546].kind = 0;
NTI292429.node = &T850551059_0[546];
T850551059_0[529].kind = 1;
T850551059_0[529].offset = offsetof(Tnode292802, flags);
T850551059_0[529].typ = (&NTI292429);
T850551059_0[529].name = "flags";
T850551059_2[3] = &T850551059_0[547];
NTI292020.size = sizeof(Tnodekind292020);
NTI292020.kind = 14;
NTI292020.base = 0;
NTI292020.flags = 3;
for (T850551059_56 = 0; T850551059_56 < 159; T850551059_56++) {
T850551059_0[T850551059_56+548].kind = 1;
T850551059_0[T850551059_56+548].offset = T850551059_56;
T850551059_0[T850551059_56+548].name = T850551059_55[T850551059_56];
T850551059_54[T850551059_56] = &T850551059_0[T850551059_56+548];
}
T850551059_0[707].len = 159; T850551059_0[707].kind = 2; T850551059_0[707].sons = &T850551059_54[0];
NTI292020.node = &T850551059_0[707];
T850551059_0[547].kind = 3;
T850551059_0[547].offset = offsetof(Tnode292802, kind);
T850551059_0[547].typ = (&NTI292020);
T850551059_0[547].name = "kind";
T850551059_0[547].sons = &NimDT_292802_kind[0];
T850551059_0[547].len = 159;
T850551059_0[708].kind = 1;
T850551059_0[708].offset = offsetof(Tnode292802, kindU.S1.intval);
T850551059_0[708].typ = (&NTI7288);
T850551059_0[708].name = "intVal";
NimDT_292802_kind[5] = &T850551059_0[708];
NimDT_292802_kind[6] = &T850551059_0[708];
NimDT_292802_kind[7] = &T850551059_0[708];
NimDT_292802_kind[8] = &T850551059_0[708];
NimDT_292802_kind[9] = &T850551059_0[708];
NimDT_292802_kind[10] = &T850551059_0[708];
NimDT_292802_kind[11] = &T850551059_0[708];
NimDT_292802_kind[12] = &T850551059_0[708];
NimDT_292802_kind[13] = &T850551059_0[708];
NimDT_292802_kind[14] = &T850551059_0[708];
NimDT_292802_kind[15] = &T850551059_0[708];
T850551059_0[709].kind = 1;
T850551059_0[709].offset = offsetof(Tnode292802, kindU.S2.floatval);
T850551059_0[709].typ = (&NTI7290);
T850551059_0[709].name = "floatVal";
NimDT_292802_kind[16] = &T850551059_0[709];
NimDT_292802_kind[17] = &T850551059_0[709];
NimDT_292802_kind[18] = &T850551059_0[709];
NimDT_292802_kind[19] = &T850551059_0[709];
T850551059_0[710].kind = 1;
T850551059_0[710].offset = offsetof(Tnode292802, kindU.S3.strval);
T850551059_0[710].typ = (&NTI138);
T850551059_0[710].name = "strVal";
NimDT_292802_kind[20] = &T850551059_0[710];
NimDT_292802_kind[21] = &T850551059_0[710];
NimDT_292802_kind[22] = &T850551059_0[710];
T850551059_0[711].kind = 1;
T850551059_0[711].offset = offsetof(Tnode292802, kindU.S4.sym);
T850551059_0[711].typ = (&NTI292800);
T850551059_0[711].name = "sym";
NimDT_292802_kind[3] = &T850551059_0[711];
T850551059_0[712].kind = 1;
T850551059_0[712].offset = offsetof(Tnode292802, kindU.S5.ident);
T850551059_0[712].typ = (&NTI199008);
T850551059_0[712].name = "ident";
NimDT_292802_kind[2] = &T850551059_0[712];
NTI292796.size = sizeof(Tnodeseq292796*);
NTI292796.kind = 24;
NTI292796.base = (&NTI292794);
NTI292796.flags = 2;
NTI292796.marker = T850551059_57;
T850551059_0[713].kind = 1;
T850551059_0[713].offset = offsetof(Tnode292802, kindU.S6.sons);
T850551059_0[713].typ = (&NTI292796);
T850551059_0[713].name = "sons";
NimDT_292802_kind[159] = &T850551059_0[713];
T850551059_2[4] = &T850551059_0[714];
T850551059_0[714].kind = 1;
T850551059_0[714].offset = offsetof(Tnode292802, comment);
T850551059_0[714].typ = (&NTI138);
T850551059_0[714].name = "comment";
T850551059_0[0].len = 5; T850551059_0[0].kind = 2; T850551059_0[0].sons = &T850551059_2[0];
NTI292802.node = &T850551059_0[0];
NTI292794.size = sizeof(Tnode292802*);
NTI292794.kind = 22;
NTI292794.base = (&NTI292802);
NTI292794.flags = 2;
NTI292794.marker = T850551059_58;
NTI292850.size = sizeof(Tidtable292850);
NTI292850.kind = 18;
NTI292850.base = 0;
T850551059_67[0] = &T850551059_0[716];
T850551059_0[716].kind = 1;
T850551059_0[716].offset = offsetof(Tidtable292850, counter);
T850551059_0[716].typ = (&NTI104);
T850551059_0[716].name = "counter";
T850551059_67[1] = &T850551059_0[717];
NTI292846.size = sizeof(Tidpair292846);
NTI292846.kind = 18;
NTI292846.base = 0;
T850551059_68[0] = &T850551059_0[719];
T850551059_0[719].kind = 1;
T850551059_0[719].offset = offsetof(Tidpair292846, key);
T850551059_0[719].typ = (&NTI199006);
T850551059_0[719].name = "key";
T850551059_68[1] = &T850551059_0[720];
T850551059_0[720].kind = 1;
T850551059_0[720].offset = offsetof(Tidpair292846, val);
T850551059_0[720].typ = (&NTI3610);
T850551059_0[720].name = "val";
T850551059_0[718].len = 2; T850551059_0[718].kind = 2; T850551059_0[718].sons = &T850551059_68[0];
NTI292846.node = &T850551059_0[718];
NTI292848.size = sizeof(Tidpairseq292848*);
NTI292848.kind = 24;
NTI292848.base = (&NTI292846);
NTI292848.marker = T850551059_69;
T850551059_0[717].kind = 1;
T850551059_0[717].offset = offsetof(Tidtable292850, data);
T850551059_0[717].typ = (&NTI292848);
T850551059_0[717].name = "data";
T850551059_0[715].len = 2; T850551059_0[715].kind = 2; T850551059_0[715].sons = &T850551059_67[0];
NTI292850.node = &T850551059_0[715];
NTI292862.size = sizeof(Tnodetable292862);
NTI292862.kind = 18;
NTI292862.base = 0;
NTI292862.flags = 2;
T850551059_70[0] = &T850551059_0[722];
T850551059_0[722].kind = 1;
T850551059_0[722].offset = offsetof(Tnodetable292862, counter);
T850551059_0[722].typ = (&NTI104);
T850551059_0[722].name = "counter";
T850551059_70[1] = &T850551059_0[723];
NTI292858.size = sizeof(Tnodepair292858);
NTI292858.kind = 18;
NTI292858.base = 0;
NTI292858.flags = 2;
T850551059_71[0] = &T850551059_0[725];
T850551059_0[725].kind = 1;
T850551059_0[725].offset = offsetof(Tnodepair292858, h);
T850551059_0[725].typ = (&NTI149002);
T850551059_0[725].name = "h";
T850551059_71[1] = &T850551059_0[726];
T850551059_0[726].kind = 1;
T850551059_0[726].offset = offsetof(Tnodepair292858, key);
T850551059_0[726].typ = (&NTI292794);
T850551059_0[726].name = "key";
T850551059_71[2] = &T850551059_0[727];
T850551059_0[727].kind = 1;
T850551059_0[727].offset = offsetof(Tnodepair292858, val);
T850551059_0[727].typ = (&NTI104);
T850551059_0[727].name = "val";
T850551059_0[724].len = 3; T850551059_0[724].kind = 2; T850551059_0[724].sons = &T850551059_71[0];
NTI292858.node = &T850551059_0[724];
NTI292860.size = sizeof(Tnodepairseq292860*);
NTI292860.kind = 24;
NTI292860.base = (&NTI292858);
NTI292860.flags = 2;
NTI292860.marker = T850551059_72;
T850551059_0[723].kind = 1;
T850551059_0[723].offset = offsetof(Tnodetable292862, data);
T850551059_0[723].typ = (&NTI292860);
T850551059_0[723].name = "data";
T850551059_0[721].len = 2; T850551059_0[721].kind = 2; T850551059_0[721].sons = &T850551059_70[0];
NTI292862.node = &T850551059_0[721];
NTI292828.size = sizeof(Tscope292828);
NTI292828.kind = 18;
NTI292828.base = 0;
T850551059_73[0] = &T850551059_0[729];
T850551059_0[729].kind = 1;
T850551059_0[729].offset = offsetof(Tscope292828, depthlevel);
T850551059_0[729].typ = (&NTI104);
T850551059_0[729].name = "depthLevel";
T850551059_73[1] = &T850551059_0[730];
T850551059_0[730].kind = 1;
T850551059_0[730].offset = offsetof(Tscope292828, symbols);
T850551059_0[730].typ = (&NTI292806);
T850551059_0[730].name = "symbols";
T850551059_73[2] = &T850551059_0[731];
T850551059_0[731].kind = 1;
T850551059_0[731].offset = offsetof(Tscope292828, parent);
T850551059_0[731].typ = (&NTI292830);
T850551059_0[731].name = "parent";
T850551059_0[728].len = 3; T850551059_0[728].kind = 2; T850551059_0[728].sons = &T850551059_73[0];
NTI292828.node = &T850551059_0[728];
NTI292830.size = sizeof(Tscope292828*);
NTI292830.kind = 22;
NTI292830.base = (&NTI292828);
NTI292830.marker = T850551059_74;
NTI458221.size = sizeof(Tnode292802**);
NTI458221.kind = 21;
NTI458221.base = (&NTI292794);
NTI458221.flags = 3;
NTI292856.size = sizeof(Tidnodetable292856);
NTI292856.kind = 18;
NTI292856.base = 0;
T850551059_91[0] = &T850551059_0[733];
T850551059_0[733].kind = 1;
T850551059_0[733].offset = offsetof(Tidnodetable292856, counter);
T850551059_0[733].typ = (&NTI104);
T850551059_0[733].name = "counter";
T850551059_91[1] = &T850551059_0[734];
NTI292852.size = sizeof(Tidnodepair292852);
NTI292852.kind = 18;
NTI292852.base = 0;
T850551059_92[0] = &T850551059_0[736];
T850551059_0[736].kind = 1;
T850551059_0[736].offset = offsetof(Tidnodepair292852, key);
T850551059_0[736].typ = (&NTI199006);
T850551059_0[736].name = "key";
T850551059_92[1] = &T850551059_0[737];
T850551059_0[737].kind = 1;
T850551059_0[737].offset = offsetof(Tidnodepair292852, val);
T850551059_0[737].typ = (&NTI292794);
T850551059_0[737].name = "val";
T850551059_0[735].len = 2; T850551059_0[735].kind = 2; T850551059_0[735].sons = &T850551059_92[0];
NTI292852.node = &T850551059_0[735];
NTI292854.size = sizeof(Tidnodepairseq292854*);
NTI292854.kind = 24;
NTI292854.base = (&NTI292852);
NTI292854.marker = T850551059_93;
T850551059_0[734].kind = 1;
T850551059_0[734].offset = offsetof(Tidnodetable292856, data);
T850551059_0[734].typ = (&NTI292854);
T850551059_0[734].name = "data";
T850551059_0[732].len = 2; T850551059_0[732].kind = 2; T850551059_0[732].sons = &T850551059_91[0];
NTI292856.node = &T850551059_0[732];
}

