/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw;
typedef struct tyObject_Table__A49ak19aStos8ZFsiM37JH6w tyObject_Table__A49ak19aStos8ZFsiM37JH6w;
typedef struct tySequence__9chP3SzkaldXzawWQCDsqqg tySequence__9chP3SzkaldXzawWQCDsqqg;
typedef struct tySequence__9chP3SzkaldXzawWQCDsqqg_Content tySequence__9chP3SzkaldXzawWQCDsqqg_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA tySequence__ZCZaCk14bTmSb6LMW9aWPVA;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content;
typedef struct tyObject_TTabIter__tBHHtIwJDg4f2qPThAL9ctw tyObject_TTabIter__tBHHtIwJDg4f2qPThAL9ctw;
typedef struct tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA;
typedef struct tySequence__7OXYQ6bHRkhJpRaiS7kiwQ tySequence__7OXYQ6bHRkhJpRaiS7kiwQ;
typedef struct tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_Content tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_Content;
typedef struct tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg;
typedef struct tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg;
typedef struct tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag;
typedef struct tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA;
typedef struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw tySequence__ZUeR9b415wicThQ9cBWO9aYMw;
typedef struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content;
typedef struct tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A;
typedef struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA;
typedef struct tyObject_TIdTable__8wpQEq0X9akVm73iKe4zg6Q tyObject_TIdTable__8wpQEq0X9akVm73iKe4zg6Q;
typedef struct tySequence__tt8kXsbz31MUMFUF6Q9aQuQ tySequence__tt8kXsbz31MUMFUF6Q9aQuQ;
typedef struct tySequence__tt8kXsbz31MUMFUF6Q9aQuQ_Content tySequence__tt8kXsbz31MUMFUF6Q9aQuQ_Content;
typedef struct tyObject_TIdPair__dYeu3zo1ycz2MpUdjM5Vvg tyObject_TIdPair__dYeu3zo1ycz2MpUdjM5Vvg;
typedef struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g tyTuple__aGv2fk9ceddvdC01ZJC2Q2g;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
typedef struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA tySequence__ZeWVlH6DqG79b1pTDhrrUYA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content;
struct tySequence__9chP3SzkaldXzawWQCDsqqg {
  NI len; tySequence__9chP3SzkaldXzawWQCDsqqg_Content* p;
};
struct tyObject_Table__A49ak19aStos8ZFsiM37JH6w {
	tySequence__9chP3SzkaldXzawWQCDsqqg data;
	NI counter;
};
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw {
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf;
	tyObject_Table__A49ak19aStos8ZFsiM37JH6w visited;
	NIM_BOOL renderSymType;
	NI indent;
	NI currentLine;
	NIM_BOOL firstItem;
	NIM_BOOL useColor;
	NimStringV2 res;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
union{
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* gcUnsafetyReason;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ast;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* annex;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* instantiatedFrom;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw;
typedef NU8 tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw;
struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA {
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw targetCPU;
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw hostCPU;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw targetOS;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA {
  NI len; tySequence__hTEiKNj3evQAjIXUI21elA_Content* p;
};
struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw errorOutputs;
	tySequence__E0kio2ZnplNTuln9bsnljSA msgContext;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastError;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A filenameToIndexTbl;
	tySequence__hTEiKNj3evQAjIXUI21elA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ;
typedef NU8 tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU8 tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw modifiedyNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw cmdlineNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw foreignPackageNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA {
  NI len; tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content* p;
};
struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg {
	NI counter;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA data;
};
struct tyObject_TTabIter__tBHHtIwJDg4f2qPThAL9ctw {
	NI h;
};
struct tySequence__7OXYQ6bHRkhJpRaiS7kiwQ {
  NI len; tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_Content* p;
};
struct tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA {
	NI counter;
	tySequence__7OXYQ6bHRkhJpRaiS7kiwQ data;
};
struct tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* val;
};
typedef NU32 tyArray__PPSU5X9aizf5OJq0lL4Og7A[4];
struct tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg {
	tyArray__PPSU5X9aizf5OJq0lL4Og7A udata;
};
struct tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag {
	NI h;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
};
struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw {
  NI len; tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content* p;
};
struct tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA {
	NI counter;
	tySequence__ZUeR9b415wicThQ9cBWO9aYMw data;
};
struct tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* val;
};
struct tySequence__tt8kXsbz31MUMFUF6Q9aQuQ {
  NI len; tySequence__tt8kXsbz31MUMFUF6Q9aQuQ_Content* p;
};
struct tyObject_TIdTable__8wpQEq0X9akVm73iKe4zg6Q {
	NI counter;
	tySequence__tt8kXsbz31MUMFUF6Q9aQuQ data;
};
struct tyObject_TIdPair__dYeu3zo1ycz2MpUdjM5Vvg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val;
};
typedef NU8 tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw;
struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g {
	NI Field0;
	void* Field1;
	NI Field2;
};
struct tySequence__9chP3SzkaldXzawWQCDsqqg_Content { NI cap; tyTuple__aGv2fk9ceddvdC01ZJC2Q2g data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NimStringV2 Field1;
};
struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content { NI cap; tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA_Content { NI cap; tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ;
struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ flags;
	NimStringV2 customArgs;
};
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content { NI cap; tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg data[SEQ_DECL_SIZE]; };
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content { NI cap; tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* data[SEQ_DECL_SIZE]; };
struct tySequence__7OXYQ6bHRkhJpRaiS7kiwQ_Content { NI cap; tyObject_TIdPair__jFcUgE4X1tLOqan9b4YIIeg data[SEQ_DECL_SIZE]; };
struct tySequence__ZUeR9b415wicThQ9cBWO9aYMw_Content { NI cap; tyObject_TIdPair__03S6SAVUgd0pzOKFuxkR1A data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA {
  NI len; tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content* p;
};
typedef NI tyArray__k7D0lwfLmYccbQxUd49bbcQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tySequence__tt8kXsbz31MUMFUF6Q9aQuQ_Content { NI cap; tyObject_TIdPair__dYeu3zo1ycz2MpUdjM5Vvg data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(void, debugSym)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__A49ak19aStos8ZFsiM37JH6w, initTable__astalgo_u2329)(NI initialSize_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u345)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* value_p1);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__astalgo_u416)(tyObject_Table__A49ak19aStos8ZFsiM37JH6w t_p0, void* key_p1, NI def_p2);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___astalgo_u846)(tyObject_Table__A49ak19aStos8ZFsiM37JH6w* t_p0, void* key_p1, NI val_p2);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_u187)(NimStringV2* result_p0, NI64 x_p1);
N_LIB_PRIVATE N_NIMCALL(void, openCurly__astalgo_u304)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
N_LIB_PRIVATE N_NIMCALL(void, indentMore__astalgo_u281)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, key__astalgo_u314)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, newlineAndIndent__astalgo_u293)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u1865)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q value_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_u309)(tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q e_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u317)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, NimStringV2 value_p1);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u320)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, NI64 value_p1);
static N_INLINE(NI, countBits64)(NU64 n_p0);
static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_u61)(NU64 x_p0);
N_CDECL(int, __builtin_popcountll)(unsigned long long x_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u1886)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg value_p1);
N_LIB_PRIVATE N_NIMCALL(void, openBracket__astalgo_u310)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u1899)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg value_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_u94)(tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg e_p0);
N_LIB_PRIVATE N_NIMCALL(void, comma__astalgo_u308)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeBracket__astalgo_u312)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u339)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* value_p1);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2035)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg value_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_u182)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg e_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2056)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A value_p1);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2069)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A value_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_u281)(tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A e_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u342)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_p1);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2215)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw value_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___nodekinds_u168)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw e_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__ast_u836)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, lineInfoToStr__astyaml_u27)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2230)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw value_p1);
static N_INLINE(NI, countBits32)(NU32 n_p0);
static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_u26)(NU32 x_p0);
N_CDECL(int, __builtin_popcount)(unsigned int x_p0);
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2282)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw value_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_u230)(tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw e_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toStrMaxPrecision__astyaml_u674)(NF f_p0);
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* b_p1);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, closeCurly__astalgo_u306)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
N_LIB_PRIVATE N_NIMCALL(void, indentLess__astalgo_u287)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args_p0, NI args_p0Len_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___astalgo_u2372)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___astalgo_u661)(tySequence__9chP3SzkaldXzawWQCDsqqg dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3127)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1751)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, debugType)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(void, debugNode)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
static N_INLINE(NI, nextTry__astalgo_u36)(NI h_p0, NI maxHash_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, mustRehash__astalgo_u33)(NI length_p0, NI counter_p1);
N_LIB_PRIVATE N_NIMCALL(void, strTableEnlarge__astalgo_u2640)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__ast_u6323)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* s_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(void, strTableRawInsert__astalgo_u2586)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* data_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4848)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextIter__astalgo_u3121)(tyObject_TTabIter__tBHHtIwJDg4f2qPThAL9ctw* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u4583)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__layeredtable_u534)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA t_p0, NI key_p1);
static N_INLINE(NIM_BOOL, isNil__astalgo_u3173)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA x_p0);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__layeredtable_u20)(tySequence__7OXYQ6bHRkhJpRaiS7kiwQ* s_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__layeredtable_u1124)(tySequence__7OXYQ6bHRkhJpRaiS7kiwQ* data_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___layeredtable_u168)(tySequence__7OXYQ6bHRkhJpRaiS7kiwQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int128_u412)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, getInt__ast_u7046)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_u158)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA** dest_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextIdentIter__astalgo_u2744)(tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_u173)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameIgnoreBacktickGensymInfo__astalgo_u205)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, nsuToLowerAsciiChar)(NIM_CHAR c_p0);
N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__semdata_u1191)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__semdata_u1100)(tySequence__ZUeR9b415wicThQ9cBWO9aYMw* s_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__semdata_u1739)(tySequence__ZUeR9b415wicThQ9cBWO9aYMw* data_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_u748)(tySequence__ZUeR9b415wicThQ9cBWO9aYMw dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextIdentExcluding__astalgo_u2773)(tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* excluding_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_u2846)(tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* s_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupInRecord__astalgo_u30)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* field_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__transf_u603)(tyObject_TIdTable__8wpQEq0X9akVm73iKe4zg6Q t_p0, NI key_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__transf_u102)(tySequence__tt8kXsbz31MUMFUF6Q9aQuQ* s_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__transf_u1294)(tySequence__tt8kXsbz31MUMFUF6Q9aQuQ* data_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___transf_u250)(tySequence__tt8kXsbz31MUMFUF6Q9aQuQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int128_u408)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
static N_INLINE(NI, cmpStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, leValue__astalgo_u79)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(void, symTabReplaceRaw__astalgo_u2611)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* data_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prevSym_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newSym_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, strTableInclReportConflict__astalgo_u2677)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1, NIM_BOOL onConflictKeepOld_p2);
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_2 = { 4 | NIM_STRLIT_FLAG, "null" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_3 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_2};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_4 = { 5 | NIM_STRLIT_FLAG, "\033[90m" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_5 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_4};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_6 = { 9 | NIM_STRLIT_FLAG, "<defined " };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_7 = {9, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_6};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_8 = { 15 | NIM_STRLIT_FLAG, " lines upwards>" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_9 = {15, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_8};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_10 = { 4 | NIM_STRLIT_FLAG, "\033[0m" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_11 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_12 = { 1 | NIM_STRLIT_FLAG, "{" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_13 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_12};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_14 = { 1 | NIM_STRLIT_FLAG, "," };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_15 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_14};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_16 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_17 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_16};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_18 = { 1 | NIM_STRLIT_FLAG, "\"" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_19 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_20 = { 3 | NIM_STRLIT_FLAG, "\": " };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_21 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_20};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_22 = { 4 | NIM_STRLIT_FLAG, "kind" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_23 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_22};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_24 = { 5 | NIM_STRLIT_FLAG, "\033[34m" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_25 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_24};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_26 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_27 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_28 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_29 = { 4 | NIM_STRLIT_FLAG, "name" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_30 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_29};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_31 = { 5 | NIM_STRLIT_FLAG, "\033[32m" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_32 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_31};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_33 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_34 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_35 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_36 = { 2 | NIM_STRLIT_FLAG, "id" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_37 = {2, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_36};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_38 = { 5 | NIM_STRLIT_FLAG, "\033[33m" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_39 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_38};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_40 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_41 = { 8 | NIM_STRLIT_FLAG, "position" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_42 = {8, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_41};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_43 = { 5 | NIM_STRLIT_FLAG, "flags" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_44 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_43};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_45 = { 1 | NIM_STRLIT_FLAG, "[" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_46 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_45};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_47 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_24};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_48 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_49 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_50 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_51 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_52 = {2, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_51};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_53 = { 1 | NIM_STRLIT_FLAG, "]" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_54 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_53};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_55 = { 3 | NIM_STRLIT_FLAG, "typ" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_56 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_55};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_57 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_2};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_58 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_4};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_59 = {9, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_6};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_60 = {15, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_8};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_61 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_62 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_22};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_63 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_24};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_64 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_65 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_66 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_67 = {2, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_36};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_68 = { 3 | NIM_STRLIT_FLAG, "sym" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_69 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_68};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_70 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_43};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_71 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_24};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_72 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_73 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_74 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_75 = { 1 | NIM_STRLIT_FLAG, "n" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_76 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_75};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_77 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_2};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_78 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_4};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_79 = {9, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_6};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_80 = {15, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_8};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_81 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_82 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_22};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_83 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_24};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_84 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_85 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_86 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_87 = { 7 | NIM_STRLIT_FLAG, "comment" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_88 = {7, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_87};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_89 = { 4 | NIM_STRLIT_FLAG, "info" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_90 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_89};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_91 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_43};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_92 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_24};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_93 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_94 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_18};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_95 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_10};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_96 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_55};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_97 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_55};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_98 = { 3 | NIM_STRLIT_FLAG, "nil" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_99 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_98};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_100 = { 6 | NIM_STRLIT_FLAG, "intVal" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_101 = {6, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_100};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_102 = { 8 | NIM_STRLIT_FLAG, "floatVal" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_103 = {8, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_102};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_104 = { 6 | NIM_STRLIT_FLAG, "strVal" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_105 = {6, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_104};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_106 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_68};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_107 = { 5 | NIM_STRLIT_FLAG, "ident" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_108 = {5, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_107};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_109 = {3, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_55};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_110 = { 4 | NIM_STRLIT_FLAG, "sons" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_111 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_110};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_112 = { 1 | NIM_STRLIT_FLAG, "}" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_113 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_112};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_114 = {4, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_110};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_115 = {1, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_75};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__uRgrUHgaDgkYkoMPsaodqw_116 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_117 = {0, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_116};
static const NimStringV2 TM__uRgrUHgaDgkYkoMPsaodqw_118 = {2, (NimStrPayload*)&TM__uRgrUHgaDgkYkoMPsaodqw_51};
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_u204)(NimStringV2* result_p0, NI x_p1) {
	addInt__stdZprivateZdigitsutils_u187(result_p0, ((NI64) (x_p1)));
}
N_LIB_PRIVATE N_NIMCALL(void, indentMore__astalgo_u281)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
	(*this_p0).indent += ((NI)2);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openCurly__astalgo_u304)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_13);
	indentMore__astalgo_u281(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*this_p0).firstItem = NIM_TRUE;
	}BeforeRet_: ;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, newlineAndIndent__astalgo_u293)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_17);
	(*this_p0).currentLine += ((NI)1);
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < (*this_p0).indent)) goto LA3;
				i_1 = i_2;
				nimAddCharV1((&(*this_p0).res), 32);
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, key__astalgo_u314)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, NimStringV2 key_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!!((*this_p0).firstItem)) goto LA3_;
		prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_15);
	}
LA3_: ;
	(*this_p0).firstItem = NIM_FALSE;
	newlineAndIndent__astalgo_u293(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_19);
	prepareAdd((&(*this_p0).res), key_p1.len + 0);
appendString((&(*this_p0).res), key_p1);
	prepareAdd((&(*this_p0).res), 3);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_21);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u1865)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q value_p1) {
	NimStringV2 colontmpD_;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_25);
	}
LA3_: ;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_26);
	colontmpD_ = dollar___ast_u309(value_p1);
	prepareAdd((&(*this_p0).res), colontmpD_.len + 0);
appendString((&(*this_p0).res), colontmpD_);
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_27);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_28);
	}
LA7_: ;
	eqdestroy___system_u2691(colontmpD_);
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u317)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, NimStringV2 value_p1) {
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_32);
	}
LA3_: ;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_33);
	prepareAdd((&(*this_p0).res), value_p1.len + 0);
appendString((&(*this_p0).res), value_p1);
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_34);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_35);
	}
LA7_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u320)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, NI64 value_p1) {
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_39);
	}
LA3_: ;
	addInt__stdZprivateZdigitsutils_u187((&(*this_p0).res), value_p1);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_40);
	}
LA7_: ;
}
static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_u61)(NU64 x_p0) {
	NI result;
	NU64 x_2;
	int T1_;
	result = (NI)0;
	x_2 = x_p0;
	T1_ = (int)0;
	T1_ = __builtin_popcountll(((unsigned long long) (x_2)));
	result = ((NI) (T1_));
	return result;
}
static N_INLINE(NI, countBits64)(NU64 n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = countSetBitsImpl__systemZcountbits95impl_u61(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, openBracket__astalgo_u310)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_46);
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u1899)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg value_p1) {
	NimStringV2 colontmpD_;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_47);
	}
LA3_: ;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_48);
	colontmpD_ = dollar___ast_u94(value_p1);
	prepareAdd((&(*this_p0).res), colontmpD_.len + 0);
appendString((&(*this_p0).res), colontmpD_);
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_49);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_50);
	}
LA7_: ;
	eqdestroy___system_u2691(colontmpD_);
}
N_LIB_PRIVATE N_NIMCALL(void, comma__astalgo_u308)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
	prepareAdd((&(*this_p0).res), 2);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_52);
}
N_LIB_PRIVATE N_NIMCALL(void, closeBracket__astalgo_u312)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_54);
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u1886)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg value_p1) {
	NI high_1;
	NI i_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	openBracket__astalgo_u310(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	high_1 = (NI)(countBits64(value_p1) - ((NI)1));
	i_1 = ((NI)0);
	{
		tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg v_1;
		NI i_2;
		v_1 = (tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 <= ((NI)62))) goto LA3;
				{
					if (!((value_p1 &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg) (i_2))))&63U)))!=0)) goto LA6_;
					v_1 = ((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg) (i_2));
					value__astalgo_u1899(this_p0, v_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((i_1 == high_1))) goto LA10_;
						comma__astalgo_u308(this_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA10_: ;
					i_1 += ((NI)1);
				}
LA6_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	closeBracket__astalgo_u312(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2035)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg value_p1) {
	NimStringV2 colontmpD_;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_63);
	}
LA3_: ;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_64);
	colontmpD_ = dollar___ast_u182(value_p1);
	prepareAdd((&(*this_p0).res), colontmpD_.len + 0);
appendString((&(*this_p0).res), colontmpD_);
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_65);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_66);
	}
LA7_: ;
	eqdestroy___system_u2691(colontmpD_);
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2069)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A value_p1) {
	NimStringV2 colontmpD_;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_71);
	}
LA3_: ;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_72);
	colontmpD_ = dollar___ast_u281(value_p1);
	prepareAdd((&(*this_p0).res), colontmpD_.len + 0);
appendString((&(*this_p0).res), colontmpD_);
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_73);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_74);
	}
LA7_: ;
	eqdestroy___system_u2691(colontmpD_);
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2056)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A value_p1) {
	NI high_1;
	NI i_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	openBracket__astalgo_u310(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	high_1 = (NI)(countBits64(value_p1) - ((NI)1));
	i_1 = ((NI)0);
	{
		tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A v_1;
		NI i_2;
		v_1 = (tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 <= ((NI)47))) goto LA3;
				{
					if (!((value_p1 &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A) (i_2))))&63U)))!=0)) goto LA6_;
					v_1 = ((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A) (i_2));
					value__astalgo_u2069(this_p0, v_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((i_1 == high_1))) goto LA10_;
						comma__astalgo_u308(this_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA10_: ;
					i_1 += ((NI)1);
				}
LA6_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	closeBracket__astalgo_u312(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2215)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw value_p1) {
	NimStringV2 colontmpD_;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_83);
	}
LA3_: ;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_84);
	colontmpD_ = dollar___nodekinds_u168(value_p1);
	prepareAdd((&(*this_p0).res), colontmpD_.len + 0);
appendString((&(*this_p0).res), colontmpD_);
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_85);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_86);
	}
LA7_: ;
	eqdestroy___system_u2691(colontmpD_);
}
static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_u26)(NU32 x_p0) {
	NI result;
	NU32 x_2;
	int T1_;
	result = (NI)0;
	x_2 = x_p0;
	T1_ = (int)0;
	T1_ = __builtin_popcount(((unsigned int) (x_2)));
	result = ((NI) (T1_));
	return result;
}
static N_INLINE(NI, countBits32)(NU32 n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = countSetBitsImpl__systemZcountbits95impl_u26(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2282)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw value_p1) {
	NimStringV2 colontmpD_;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!(*this_p0).useColor) goto LA3_;
		prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_92);
	}
LA3_: ;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_93);
	colontmpD_ = dollar___ast_u230(value_p1);
	prepareAdd((&(*this_p0).res), colontmpD_.len + 0);
appendString((&(*this_p0).res), colontmpD_);
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_94);
	{
		if (!(*this_p0).useColor) goto LA7_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_95);
	}
LA7_: ;
	eqdestroy___system_u2691(colontmpD_);
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u2230)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw value_p1) {
	NI high_1;
	NI i_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	openBracket__astalgo_u310(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	high_1 = (NI)(countBits32(value_p1) - ((NI)1));
	i_1 = ((NI)0);
	{
		tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw v_1;
		NI i_2;
		v_1 = (tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 <= ((NI)25))) goto LA3;
				{
					if (!((value_p1 &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw) (i_2))))&31U)))!=0)) goto LA6_;
					v_1 = ((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw) (i_2));
					value__astalgo_u2282(this_p0, v_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((i_1 == high_1))) goto LA10_;
						comma__astalgo_u308(this_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
LA10_: ;
					i_1 += ((NI)1);
				}
LA6_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	closeBracket__astalgo_u312(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, eqeq___idents_u366)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* a_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* b_p1) {
	NIM_BOOL result;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a_p0 == 0);
		if (T3_) goto LA4_;
		T3_ = (b_p1 == 0);
LA4_: ;
		if (!T3_) goto LA5_;
		result = (a_p0 == b_p1);
	}
	goto LA1_;
LA5_: ;
	{
		result = ((*a_p0).id == (*b_p1).id);
	}
LA1_: ;
	return result;
}
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, indentLess__astalgo_u287)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
	(*this_p0).indent -= ((NI)2);
}
N_LIB_PRIVATE N_NIMCALL(void, closeCurly__astalgo_u306)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	indentLess__astalgo_u287(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	newlineAndIndent__astalgo_u293(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	prepareAdd((&(*this_p0).res), 1);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_113);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u342)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_p1) {
	NimStringV2 colontmpD_;
	NI indexX60gensym70__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!(value_p1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA4_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_77);
		eqdestroy___system_u2691(colontmpD_);
		goto BeforeRet_;
	}
LA4_: ;
	indexX60gensym70__1 = getOrDefault__astalgo_u416((*this_p0).visited, ((void*) (value_p1)), ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(indexX60gensym70__1 < ((NI)0))) goto LA8_;
		X5BX5Deq___astalgo_u846((&(*this_p0).visited), ((void*) (value_p1)), (*this_p0).currentLine);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA8_: ;
	{
		{
			if (!(*this_p0).useColor) goto LA13_;
			prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_78);
		}
LA13_: ;
		prepareAdd((&(*this_p0).res), 9);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_79);
		addInt__stdZprivateZdigitsutils_u204((&(*this_p0).res), (NI)((*this_p0).currentLine - indexX60gensym70__1));
		prepareAdd((&(*this_p0).res), 15);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_80);
		{
			if (!(*this_p0).useColor) goto LA17_;
			prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_81);
		}
LA17_: ;
		eqdestroy___system_u2691(colontmpD_);
		goto BeforeRet_;
	}
LA6_: ;
	openCurly__astalgo_u304(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_82);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	value__astalgo_u2215(this_p0, (*value_p1).kind);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 colontmpD__2;
		colontmpD_ = comment__ast_u836(value_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((NI)0) < colontmpD_.len)) goto LA21_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_88);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		colontmpD__2 = comment__ast_u836(value_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		value__astalgo_u317(this_p0, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
		{
			LA23_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA21_: ;
	{
		NimStringV2 colontmpD__3;
		if (!!(((*this_p0).conf == ((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL)))) goto LA28_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_90);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		colontmpD__3 = lineInfoToStr__astyaml_u27((*this_p0).conf, (*value_p1).info);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		value__astalgo_u317(this_p0, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
		{
			LA30_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__3);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA28_: ;
	{
		tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw T35_;
		T35_ = 0;
		if (!!(((*value_p1).flags == T35_))) goto LA36_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_91);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		value__astalgo_u2230(this_p0, (*value_p1).flags);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA36_: ;
	{
		if (!!(((*value_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)))) goto LA40_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_96);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		value__astalgo_u2035(this_p0, (*(*value_p1).typField).kind);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA38_;
LA40_: ;
	{
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_97);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		value__astalgo_u317(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_99);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA38_: ;
	switch ((*value_p1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
	{
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_101);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		value__astalgo_u320(this_p0, (*value_p1)._kind_1.intVal);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)17):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
	{
		NimStringV2 colontmpD__4;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_103);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__4 = toStrMaxPrecision__astyaml_u674((*value_p1)._kind_2.floatVal);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		value__astalgo_u317(this_p0, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(colontmpD__4);
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
	{
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_105);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		value__astalgo_u317(this_p0, (*value_p1)._kind_3.strVal);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_106);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		value__astalgo_u345(this_p0, (*value_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		{
			NIM_BOOL T50_;
			T50_ = (NIM_BOOL)0;
			T50_ = eqeq___idents_u366((*value_p1)._kind_5.ident, ((tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!!(T50_)) goto LA51_;
			key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_108);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			value__astalgo_u317(this_p0, (*(*value_p1)._kind_5.ident).s);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA51_: ;
	}
	break;
	default:
	{
		{
			NIM_BOOL T56_;
			T56_ = (NIM_BOOL)0;
			T56_ = (*this_p0).renderSymType;
			if (!(T56_)) goto LA57_;
			T56_ = !(((*value_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA57_: ;
			if (!T56_) goto LA58_;
			key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_109);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			value__astalgo_u339(this_p0, (*value_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA58_: ;
		{
			NI T62_;
			T62_ = (NI)0;
			T62_ = len__ast_u3190(value_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(((NI)0) < T62_)) goto LA63_;
			key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_111);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			openBracket__astalgo_u310(this_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3190(value_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA67;
						i_1 = i_2;
						value__astalgo_u342(this_p0, (*value_p1)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						{
							NI T70_;
							T70_ = (NI)0;
							T70_ = len__ast_u3190(value_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!!((i_1 == (NI)(T70_ - ((NI)1))))) goto LA71_;
							comma__astalgo_u308(this_p0);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
LA71_: ;
						i_2 += ((NI)1);
					} LA67: ;
				}
			}
			closeBracket__astalgo_u312(this_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA63_: ;
	}
	break;
	}
	closeCurly__astalgo_u306(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u339)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* value_p1) {
	NI indexX60gensym61__1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym63__1;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(value_p1 == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL))) goto LA3_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_57);
		goto BeforeRet_;
	}
LA3_: ;
	indexX60gensym61__1 = getOrDefault__astalgo_u416((*this_p0).visited, ((void*) (value_p1)), ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(indexX60gensym61__1 < ((NI)0))) goto LA7_;
		X5BX5Deq___astalgo_u846((&(*this_p0).visited), ((void*) (value_p1)), (*this_p0).currentLine);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA7_: ;
	{
		{
			if (!(*this_p0).useColor) goto LA12_;
			prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_58);
		}
LA12_: ;
		prepareAdd((&(*this_p0).res), 9);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_59);
		addInt__stdZprivateZdigitsutils_u204((&(*this_p0).res), (NI)((*this_p0).currentLine - indexX60gensym61__1));
		prepareAdd((&(*this_p0).res), 15);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_60);
		{
			if (!(*this_p0).useColor) goto LA16_;
			prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_61);
		}
LA16_: ;
		goto BeforeRet_;
	}
LA5_: ;
	openCurly__astalgo_u304(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_62);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	value__astalgo_u2035(this_p0, (*value_p1).kind);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_67);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	xX60gensym63__1 = (*value_p1).itemId;
	value__astalgo_u320(this_p0, ((NI64) ((NI)((NI)((NU64)(((NI) (xX60gensym63__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym63__1.item))))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*value_p1).sym == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA20_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_69);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		value__astalgo_u345(this_p0, (*value_p1).sym);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA20_: ;
	{
		if (!(((NI)0) < countBits64((*value_p1).flags))) goto LA24_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_70);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		value__astalgo_u2056(this_p0, (*value_p1).flags);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA24_: ;
	{
		NIM_BOOL T28_;
		T28_ = (NIM_BOOL)0;
		T28_ = ((*value_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)1) || (*value_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)2) || (*value_p1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14) || (*value_p1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)31) && (*value_p1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)35) || (*value_p1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)36) && (*value_p1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)39) || (*value_p1).kind >= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)40) && (*value_p1).kind <= ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)44));
		if (!(T28_)) goto LA29_;
		T28_ = !(((*value_p1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA29_: ;
		if (!T28_) goto LA30_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_76);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		value__astalgo_u342(this_p0, (*value_p1).n);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA30_: ;
	key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_114);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	openBracket__astalgo_u310(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* a_1;
		NI i_1;
		a_1 = NIM_NIL;
		i_1 = (NI)0;
		{
			NI i_2;
			NI colontmp_;
			NI T35_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			T35_ = (*value_p1).sons.len;
			colontmp_ = T35_;
			i_3 = ((NI)0);
			{
				while (1) {
					if (!(i_3 < colontmp_)) goto LA37;
					i_2 = i_3;
					i_1 = i_2;
					eqcopy___ast_u3381(&a_1, (*value_p1).sons.p->data[i_2]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					{
						if (!(((NI)0) < i_1)) goto LA40_;
						comma__astalgo_u308(this_p0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					}
LA40_: ;
					value__astalgo_u339(this_p0, a_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
					i_3 += ((NI)1);
				} LA37: ;
			}
		}
		{
			LA33_:;
		}
		{
			oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin33_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	closeBracket__astalgo_u312(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!!(((*value_p1).n == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA46_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_115);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		value__astalgo_u342(this_p0, (*value_p1).n);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA46_: ;
	closeCurly__astalgo_u306(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_u345)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* this_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* value_p1) {
	NI indexX60gensym39__1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym57__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(value_p1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA3_;
		prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_3);
		goto BeforeRet_;
	}
LA3_: ;
	indexX60gensym39__1 = getOrDefault__astalgo_u416((*this_p0).visited, ((void*) (value_p1)), ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(indexX60gensym39__1 < ((NI)0))) goto LA7_;
		X5BX5Deq___astalgo_u846((&(*this_p0).visited), ((void*) (value_p1)), (*this_p0).currentLine);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA5_;
LA7_: ;
	{
		{
			if (!(*this_p0).useColor) goto LA12_;
			prepareAdd((&(*this_p0).res), 5);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_5);
		}
LA12_: ;
		prepareAdd((&(*this_p0).res), 9);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_7);
		addInt__stdZprivateZdigitsutils_u204((&(*this_p0).res), (NI)((*this_p0).currentLine - indexX60gensym39__1));
		prepareAdd((&(*this_p0).res), 15);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_9);
		{
			if (!(*this_p0).useColor) goto LA16_;
			prepareAdd((&(*this_p0).res), 4);
appendString((&(*this_p0).res), TM__uRgrUHgaDgkYkoMPsaodqw_11);
		}
LA16_: ;
		goto BeforeRet_;
	}
LA5_: ;
	openCurly__astalgo_u304(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_23);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	value__astalgo_u1865(this_p0, (*value_p1).kind);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_30);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	value__astalgo_u317(this_p0, (*(*value_p1).name).s);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_37);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	xX60gensym57__1 = (*value_p1).itemId;
	value__astalgo_u320(this_p0, ((NI64) ((NI)((NI)((NU64)(((NI) (xX60gensym57__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym57__1.item))))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*value_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)19) || (*value_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)20) || (*value_p1).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3))) goto LA20_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_42);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		value__astalgo_u320(this_p0, ((NI64) ((*value_p1).position)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA20_: ;
	{
		if (!(((NI)0) < countBits64((*value_p1).flags))) goto LA24_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_44);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		value__astalgo_u1886(this_p0, (*value_p1).flags);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA24_: ;
	{
		NIM_BOOL T28_;
		T28_ = (NIM_BOOL)0;
		T28_ = (*this_p0).renderSymType;
		if (!(T28_)) goto LA29_;
		T28_ = !(((*value_p1).typ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA29_: ;
		if (!T28_) goto LA30_;
		key__astalgo_u314(this_p0, TM__uRgrUHgaDgkYkoMPsaodqw_56);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		value__astalgo_u339(this_p0, (*value_p1).typ);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA30_: ;
	closeCurly__astalgo_u306(this_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3127(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___astalgo_u2372)(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw* dest_p0) {
	eqdestroy___system_u2691((*dest_p0).res);
	eqdestroy___astalgo_u661((*dest_p0).visited.data);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).conf);
		if (!T3_) goto LA4_;
		eqdestroy___options_u1751((&(*(*dest_p0).conf)));
		nimRawDispose((*dest_p0).conf, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, debugSym)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1) {
	tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw this_1;
	tyArray__YgExxhfgKcesA5EOUj1MOA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw));
	nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw));
	this_1.visited = initTable__astalgo_u2329(((NI)32));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	this_1.renderSymType = NIM_TRUE;
	this_1.useColor = NIM_TRUE;
	value__astalgo_u345((&this_1), n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[0] = this_1.res;
	echoBinSafe(T2_, 1);
	{
		LA1_:;
	}
	{
		eqdestroy___astalgo_u2372((&this_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, debugType)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1) {
	tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw this_1;
	tyArray__YgExxhfgKcesA5EOUj1MOA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw));
	nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw));
	this_1.visited = initTable__astalgo_u2329(((NI)32));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	this_1.renderSymType = NIM_TRUE;
	this_1.useColor = NIM_TRUE;
	value__astalgo_u339((&this_1), n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[0] = this_1.res;
	echoBinSafe(T2_, 1);
	{
		LA1_:;
	}
	{
		eqdestroy___astalgo_u2372((&this_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, debugNode)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p1) {
	tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw this_1;
	tyArray__YgExxhfgKcesA5EOUj1MOA T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw));
	nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__2X5zneQgNP1bDk9bkuMN0Fw));
	this_1.visited = initTable__astalgo_u2329(((NI)32));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	this_1.renderSymType = NIM_FALSE;
	this_1.useColor = NIM_TRUE;
	value__astalgo_u342((&this_1), n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_[0] = this_1.res;
	echoBinSafe(T2_, 1);
	{
		LA1_:;
	}
	{
		eqdestroy___astalgo_u2372((&this_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, nextTry__astalgo_u36)(NI h_p0, NI maxHash_p1) {
	NI result;
	result = (NI)((NI)((NI)(((NI)5) * h_p0) + ((NI)1)) & maxHash_p1);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, strTableGet__astalgo_u2726)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg t_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	NI h_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (t_p0.data.len-1);
	h_1 = (NI)((*name_p1).h & T1_);
	{
		while (1) {
			NI T12_;
			eqcopy___ast_u4577(&result, t_p0.data.p->data[h_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA6_;
				goto LA2;
			}
LA6_: ;
			{
				if (!((*(*result).name).id == (*name_p1).id)) goto LA10_;
				goto LA2;
			}
LA10_: ;
			T12_ = (t_p0.data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T12_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA2: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, mustRehash__astalgo_u33)(NI length_p0, NI counter_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NI)(length_p0 * ((NI)2)) < (NI)(counter_p1 * ((NI)3)));
	if (T1_) goto LA2_;
	T1_ = ((NI)(length_p0 - counter_p1) < ((NI)4));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, strTableRawInsert__astalgo_u2586)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* data_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1) {
	NI h_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = ((*data_p0).len-1);
	h_1 = (NI)((*(*n_p1).name).h & T1_);
	{
		while (1) {
			NI T8_;
			if (!!(((*data_p0).p->data[h_1] == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				if (!((*data_p0).p->data[h_1] == n_p1)) goto LA6_;
				goto BeforeRet_;
			}
LA6_: ;
			T8_ = ((*data_p0).len-1);
			h_1 = nextTry__astalgo_u36(h_1, T8_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	eqcopy___ast_u4577(&(*data_p0).p->data[h_1], n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, strTableEnlarge__astalgo_u2640)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0) {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA n_1;
	NI T1_;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA T10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	T1_ = (*t_p0).data.len;
	newSeq__ast_u6323((&n_1), ((NI)(T1_ * ((NI)2))));
	{
		NI i_1;
		NI colontmp_;
		NI T3_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T3_ = ((*t_p0).data.len-1);
		colontmp_ = T3_;
		res_1 = ((NI)0);
		{
			while (1) {
				if (!(res_1 <= colontmp_)) goto LA5;
				i_1 = ((NI) (res_1));
				{
					if (!!(((*t_p0).data.p->data[i_1] == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA8_;
					strTableRawInsert__astalgo_u2586((&n_1), (*t_p0).data.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA8_: ;
				res_1 += ((NI)1);
			} LA5: ;
		}
	}
	T10_.len = 0; T10_.p = NIM_NIL;
	T10_ = (*t_p0).data;
	(*t_p0).data = n_1;
	n_1 = T10_;
	eqdestroy___ast_u4848(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, strTableAdd__astalgo_u2666)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NIM_BOOL T4_;
		T3_ = (*t_p0).data.len;
		T4_ = (NIM_BOOL)0;
		T4_ = mustRehash__astalgo_u33(T3_, (*t_p0).counter);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T4_) goto LA5_;
		strTableEnlarge__astalgo_u2640(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA5_: ;
	strTableRawInsert__astalgo_u2586((&(*t_p0).data), n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*t_p0).counter += ((NI)1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextIter__astalgo_u3121)(tyObject_TTabIter__tBHHtIwJDg4f2qPThAL9ctw* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	{
		while (1) {
			NI T3_;
			T3_ = (tab_p1.data.len-1);
			if (!((*ti_p0).h <= T3_)) goto LA2;
			eqcopy___ast_u4577(&result, tab_p1.data.p->data[(*ti_p0).h]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*ti_p0).h += ((NI)1);
			{
				if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA6_;
				goto LA1;
			}
LA6_: ;
		} LA2: ;
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, initTabIter__astalgo_u3137)(tyObject_TTabIter__tBHHtIwJDg4f2qPThAL9ctw* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	(*ti_p0).h = ((NI)0);
	{
		if (!(tab_p1.counter == ((NI)0))) goto LA3_;
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
	goto LA1_;
LA3_: ;
	{
		result = nextIter__astalgo_u3121(ti_p0, tab_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6254)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getModule__astalgo_u156)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, s_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NIM_BOOL T3_;
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T5_;
			T3_ = (NIM_BOOL)0;
			T3_ = !((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
			if (!(T3_)) goto LA4_;
			T3_ = !(((*result).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)6)));
LA4_: ;
			if (!T3_) goto LA2;
			T5_ = NIM_NIL;
			T5_ = owner__ast_u6254(result);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T5_); goto BeforeRet_;}
			eqsink___ast_u4583(&result, T5_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isNil__astalgo_u3173)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA x_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (x_p0.module == ((NI32)0));
	if (!(T1_)) goto LA2_;
	T1_ = (x_p0.item == ((NI32)0));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__layeredtable_u534)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA t_p0, NI key_p1) {
	NI result;
	NI h_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	h_1 = (NI)0;
	T1_ = (t_p0.data.len-1);
	h_1 = (NI)(key_p1 & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T9_;
			T4_ = (NIM_BOOL)0;
			T4_ = isNil__astalgo_u3173(t_p0.data.p->data[h_1].key);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T4_)) goto LA3;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym4__1;
				xX60gensym4__1 = t_p0.data.p->data[h_1].key;
				if (!((NI)((NI)((NU64)(((NI) (xX60gensym4__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym4__1.item))) == key_p1)) goto LA7_;
				result = h_1;
				goto BeforeRet_;
			}
LA7_: ;
			T9_ = (t_p0.data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	result = ((NI)-1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__layeredtable_u1124)(tySequence__7OXYQ6bHRkhJpRaiS7kiwQ* data_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* val_p2) {
	NI h_1;
	NI keyId_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym10__1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = (NI)0;
	xX60gensym10__1 = key_p1;
	keyId_1 = (NI)((NI)((NU64)(((NI) (xX60gensym10__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym10__1.item)));
	T1_ = ((*data_p0).len-1);
	h_1 = (NI)(keyId_1 & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T5_;
			T4_ = (NIM_BOOL)0;
			T4_ = isNil__astalgo_u3173((*data_p0).p->data[h_1].key);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T4_)) goto LA3;
			T5_ = ((*data_p0).len-1);
			h_1 = nextTry__astalgo_u36(h_1, T5_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	(*data_p0).p->data[h_1].key = key_p1;
	eqcopy___ast_u3381(&(*data_p0).p->data[h_1].val, val_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___layeredtable_u742)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* val_p2) {
	tySequence__7OXYQ6bHRkhJpRaiS7kiwQ n_1;
	NI index_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym7__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	index_1 = (NI)0;
	xX60gensym7__1 = key_p1;
	index_1 = idTableRawGet__layeredtable_u534((*t_p0), (NI)((NI)((NU64)(((NI) (xX60gensym7__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym7__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA3_;
		eqcopy___ast_u3381(&(*t_p0).data.p->data[index_1].val, val_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			NI T12_;
			tySequence__7OXYQ6bHRkhJpRaiS7kiwQ T22_;
			T8_ = (*t_p0).data.len;
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash__astalgo_u33(T8_, (*t_p0).counter);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA10_;
			T12_ = (*t_p0).data.len;
			newSeq__layeredtable_u20((&n_1), ((NI)(T12_ * ((NI)2))));
			{
				NI i_1;
				NI colontmp_;
				NI T14_;
				NI res_1;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T14_ = ((*t_p0).data.len-1);
				colontmp_ = T14_;
				res_1 = ((NI)0);
				{
					while (1) {
						if (!(res_1 <= colontmp_)) goto LA16;
						i_1 = ((NI) (res_1));
						{
							NIM_BOOL T19_;
							T19_ = (NIM_BOOL)0;
							T19_ = isNil__astalgo_u3173((*t_p0).data.p->data[i_1].key);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T19_)) goto LA20_;
							idTableRawInsert__layeredtable_u1124((&n_1), (*t_p0).data.p->data[i_1].key, (*t_p0).data.p->data[i_1].val);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA20_: ;
						res_1 += ((NI)1);
					} LA16: ;
				}
			}
			T22_.len = 0; T22_.p = NIM_NIL;
			T22_ = (*t_p0).data;
			(*t_p0).data = n_1;
			n_1 = T22_;
		}
LA10_: ;
		idTableRawInsert__layeredtable_u1124((&(*t_p0).data), key_p1, val_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t_p0).counter += ((NI)1);
	}
LA1_: ;
	eqdestroy___layeredtable_u168(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, getOrDefault__layeredtable_u519)(tyObject_TIdTable__XZ9cFaLoittQMULJSfBpHrA t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	NI index_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym3__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	xX60gensym3__1 = key_p1;
	index_1 = idTableRawGet__layeredtable_u534(t_p0, (NI)((NI)((NU64)(((NI) (xX60gensym3__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym3__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA3_;
		eqcopy___ast_u3381(&result, t_p0.data.p->data[index_1].val);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = 0;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameValue__astalgo_u63)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	switch ((*a_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
	{
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T6_;
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T7_;
			if (!((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA4_;
			T6_ = getInt__ast_u7046(a_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T7_ = getInt__ast_u7046(b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = eqeq___int128_u412(T6_, T7_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
	{
		{
			if (!((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18))) goto LA11_;
			result = ((*a_p0)._kind_2.floatVal == (*b_p1)._kind_2.floatVal);
		}
LA11_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
	{
		{
			if (!((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22))) goto LA16_;
			result = eqStrings((*a_p0)._kind_3.strVal, (*b_p1)._kind_3.strVal);
		}
LA16_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextIdentIter__astalgo_u2744)(tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* p_1;
	NI h_1;
	NI T1_;
	NI start_1;
	NI T18_;
	NI T19_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	p_1 = NIM_NIL;
	T1_ = (tab_p1.data.len-1);
	h_1 = (NI)((*ti_p0).h & T1_);
	start_1 = h_1;
	p_1 = tab_p1.data.p->data[h_1];
	{
		while (1) {
			NI T8_;
			if (!!((p_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				if (!((*(*p_1).name).id == (*(*ti_p0).name).id)) goto LA6_;
				goto LA2;
			}
LA6_: ;
			T8_ = (tab_p1.data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T8_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(h_1 == start_1)) goto LA11_;
				p_1 = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
				goto LA2;
			}
LA11_: ;
			p_1 = tab_p1.data.p->data[h_1];
		} LA3: ;
	} LA2: ;
	{
		if (!!((p_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA15_;
		eqcopy___ast_u4577(&result, p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA13_;
LA15_: ;
	{
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
LA13_: ;
	T18_ = (tab_p1.data.len-1);
	T19_ = (NI)0;
	T19_ = nextTry__astalgo_u36(h_1, T18_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*ti_p0).h = T19_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, initIdentIter__astalgo_u2768)(tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* s_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	(*ti_p0).h = (*s_p2).h;
	eqcopy___idents_u158(&(*ti_p0).name, s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(tab_p1.counter == ((NI)0))) goto LA3_;
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
	goto LA1_;
LA3_: ;
	{
		result = nextIdentIter__astalgo_u2744(ti_p0, tab_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u3391)(tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.name);
		if (!T3_) goto LA4_;
		eqdestroy___idents_u173((&(*dest_p0.name)));
		nimRawDispose(dest_p0.name, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, strTableInclReportConflict__astalgo_u2677)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1, NIM_BOOL onConflictKeepOld_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	NI h_1;
	NI T1_;
	NI replaceSlot_1;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = ((*t_p0).data.len-1);
	h_1 = (NI)((*(*n_p1).name).h & T1_);
	replaceSlot_1 = ((NI)-1);
	{
		while (1) {
			tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* it_1;
			NI T17_;
			it_1 = NIM_NIL;
			eqcopy___ast_u4577(&it_1, (*t_p0).data.p->data[h_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			{
				if (!(it_1 == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL))) goto LA7_;
				eqdestroy___ast_u4574(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA2;
			}
LA7_: ;
			{
				if (!((*(*it_1).name).id == (*(*n_p1).name).id)) goto LA11_;
				{
					if (!(it_1 == n_p1)) goto LA15_;
					result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
					eqdestroy___ast_u4574(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA15_: ;
				replaceSlot_1 = h_1;
			}
LA11_: ;
			T17_ = ((*t_p0).data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T17_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
			{
				LA4_:;
			}
			{
				oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u4574(it_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin4_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	} LA2: ;
	{
		if (!(((NI)0) <= replaceSlot_1)) goto LA22_;
		eqcopy___ast_u4577(&result, (*t_p0).data.p->data[replaceSlot_1]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!(onConflictKeepOld_p2)) goto LA26_;
			eqcopy___ast_u4577(&(*t_p0).data.p->data[replaceSlot_1], n_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA26_: ;
		goto BeforeRet_;
	}
	goto LA20_;
LA22_: ;
	{
		NI T29_;
		NIM_BOOL T30_;
		T29_ = (*t_p0).data.len;
		T30_ = (NIM_BOOL)0;
		T30_ = mustRehash__astalgo_u33(T29_, (*t_p0).counter);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T30_) goto LA31_;
		strTableEnlarge__astalgo_u2640(t_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		strTableRawInsert__astalgo_u2586((&(*t_p0).data), n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA20_;
LA31_: ;
	{
		eqcopy___ast_u4577(&(*t_p0).data.p->data[h_1], n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA20_: ;
	(*t_p0).counter += ((NI)1);
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getSymFromList__astalgo_u191)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* list_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p1, NI start_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(list_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = start_p2;
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				{
					if (!((*(*list_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA6_;
					eqcopy___ast_u4577(&result, (*(*list_p0)._kind_6.sons.p->data[i_1])._kind_4.sym);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!((*(*result).name).id == (*ident_p1).id)) goto LA10_;
						goto BeforeRet_;
					}
LA10_: ;
				}
				goto LA4_;
LA6_: ;
				{
					result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
					goto BeforeRet_;
				}
LA4_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameIgnoreBacktickGensymInfo__astalgo_u205)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI i_1;
	NI j_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		if (!!(((NU8)(a_p0.p->data[((NI)0)]) == (NU8)(b_p1.p->data[((NI)0)])))) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
LA3_: ;
	alen_1 = (NI)(a_p0.len - ((NI)1));
	{
		while (1) {
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = (((NI)0) < alen_1);
			if (!(T7_)) goto LA8_;
			T7_ = !(((NU8)(a_p0.p->data[alen_1]) == (NU8)(96)));
LA8_: ;
			if (!T7_) goto LA6;
			alen_1 -= ((NI)1);
		} LA6: ;
	}
	{
		if (!(alen_1 <= ((NI)0))) goto LA11_;
		alen_1 = a_p0.len;
	}
LA11_: ;
	i_1 = ((NI)1);
	j_1 = ((NI)1);
	{
		while (1) {
			NIM_CHAR colontmpD_;
			NIM_CHAR colontmpD__2;
			NIM_CHAR colontmpD__3;
			NIM_CHAR colontmpD__4;
			NIM_CHAR aa_1;
			NIM_CHAR bb_1;
			colontmpD_ = (NIM_CHAR)0;
			colontmpD__2 = (NIM_CHAR)0;
			colontmpD__3 = (NIM_CHAR)0;
			colontmpD__4 = (NIM_CHAR)0;
			{
				while (1) {
					NIM_BOOL T17_;
					T17_ = (NIM_BOOL)0;
					T17_ = (i_1 < alen_1);
					if (!(T17_)) goto LA18_;
					T17_ = ((NU8)(a_p0.p->data[i_1]) == (NU8)(95));
LA18_: ;
					if (!T17_) goto LA16;
					i_1 += ((NI)1);
				} LA16: ;
			}
			{
				while (1) {
					NIM_BOOL T21_;
					T21_ = (NIM_BOOL)0;
					T21_ = (j_1 < b_p1.len);
					if (!(T21_)) goto LA22_;
					T21_ = ((NU8)(b_p1.p->data[j_1]) == (NU8)(95));
LA22_: ;
					if (!T21_) goto LA20;
					j_1 += ((NI)1);
				} LA20: ;
			}
			{
				if (!(i_1 < alen_1)) goto LA25_;
				colontmpD_ = nsuToLowerAsciiChar(a_p0.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				aa_1 = colontmpD_;
			}
			goto LA23_;
LA25_: ;
			{
				colontmpD__2 = 0;
				aa_1 = colontmpD__2;
			}
LA23_: ;
			{
				if (!(j_1 < b_p1.len)) goto LA30_;
				colontmpD__3 = nsuToLowerAsciiChar(b_p1.p->data[j_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				bb_1 = colontmpD__3;
			}
			goto LA28_;
LA30_: ;
			{
				colontmpD__4 = 0;
				bb_1 = colontmpD__4;
			}
LA28_: ;
			{
				if (!!(((NU8)(aa_1) == (NU8)(bb_1)))) goto LA35_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
LA35_: ;
			{
				if (!(alen_1 <= i_1)) goto LA39_;
				{
					if (!(b_p1.len <= j_1)) goto LA43_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
LA43_: ;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			goto LA37_;
LA39_: ;
			{
				if (!(b_p1.len <= j_1)) goto LA46_;
				result = NIM_FALSE;
				goto BeforeRet_;
			}
			goto LA37_;
LA46_: ;
LA37_: ;
			i_1 += ((NI)1);
			j_1 += ((NI)1);
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getNamedParamFromList__astalgo_u239)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* list_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(list_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* it_1;
				if (!(i_2 < colontmp_)) goto LA3;
				it_1 = NIM_NIL;
				i_1 = i_2;
				it_1 = (*(*list_p0)._kind_6.sons.p->data[i_1])._kind_4.sym;
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = ((*(*it_1).name).id == (*ident_p1).id);
					if (T6_) goto LA7_;
					T6_ = sameIgnoreBacktickGensymInfo__astalgo_u205((*(*it_1).name).s, (*ident_p1).s);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA7_: ;
					if (!T6_) goto LA8_;
					eqcopy___ast_u4577(&result, it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA8_: ;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__semdata_u1191)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA t_p0, NI key_p1) {
	NI result;
	NI h_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	h_1 = (NI)0;
	T1_ = (t_p0.data.len-1);
	h_1 = (NI)(key_p1 & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T9_;
			T4_ = (NIM_BOOL)0;
			T4_ = isNil__astalgo_u3173(t_p0.data.p->data[h_1].key);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T4_)) goto LA3;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym32__1;
				xX60gensym32__1 = t_p0.data.p->data[h_1].key;
				if (!((NI)((NI)((NU64)(((NI) (xX60gensym32__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym32__1.item))) == key_p1)) goto LA7_;
				result = h_1;
				goto BeforeRet_;
			}
LA7_: ;
			T9_ = (t_p0.data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	result = ((NI)-1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getOrDefault__semdata_u2191)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	NI index_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym43__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	xX60gensym43__1 = key_p1;
	index_1 = idTableRawGet__semdata_u1191(t_p0, (NI)((NI)((NU64)(((NI) (xX60gensym43__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym43__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA3_;
		eqcopy___ast_u4577(&result, t_p0.data.p->data[index_1].val);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = 0;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__semdata_u1739)(tySequence__ZUeR9b415wicThQ9cBWO9aYMw* data_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* val_p2) {
	NI h_1;
	NI keyId_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym35__1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = (NI)0;
	xX60gensym35__1 = key_p1;
	keyId_1 = (NI)((NI)((NU64)(((NI) (xX60gensym35__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym35__1.item)));
	T1_ = ((*data_p0).len-1);
	h_1 = (NI)(keyId_1 & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T5_;
			T4_ = (NIM_BOOL)0;
			T4_ = isNil__astalgo_u3173((*data_p0).p->data[h_1].key);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T4_)) goto LA3;
			T5_ = ((*data_p0).len-1);
			h_1 = nextTry__astalgo_u36(h_1, T5_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	(*data_p0).p->data[h_1].key = key_p1;
	eqcopy___ast_u4577(&(*data_p0).p->data[h_1].val, val_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___semdata_u1173)(tyObject_TIdTable__xRBvhNSbEADzUTJAdtlGtA* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* val_p2) {
	tySequence__ZUeR9b415wicThQ9cBWO9aYMw n_1;
	NI index_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym31__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	index_1 = (NI)0;
	xX60gensym31__1 = key_p1;
	index_1 = idTableRawGet__semdata_u1191((*t_p0), (NI)((NI)((NU64)(((NI) (xX60gensym31__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym31__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA3_;
		eqcopy___ast_u4577(&(*t_p0).data.p->data[index_1].val, val_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			NI T12_;
			tySequence__ZUeR9b415wicThQ9cBWO9aYMw T22_;
			T8_ = (*t_p0).data.len;
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash__astalgo_u33(T8_, (*t_p0).counter);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA10_;
			T12_ = (*t_p0).data.len;
			newSeq__semdata_u1100((&n_1), ((NI)(T12_ * ((NI)2))));
			{
				NI i_1;
				NI colontmp_;
				NI T14_;
				NI res_1;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T14_ = ((*t_p0).data.len-1);
				colontmp_ = T14_;
				res_1 = ((NI)0);
				{
					while (1) {
						if (!(res_1 <= colontmp_)) goto LA16;
						i_1 = ((NI) (res_1));
						{
							NIM_BOOL T19_;
							T19_ = (NIM_BOOL)0;
							T19_ = isNil__astalgo_u3173((*t_p0).data.p->data[i_1].key);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T19_)) goto LA20_;
							idTableRawInsert__semdata_u1739((&n_1), (*t_p0).data.p->data[i_1].key, (*t_p0).data.p->data[i_1].val);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA20_: ;
						res_1 += ((NI)1);
					} LA16: ;
				}
			}
			T22_.len = 0; T22_.p = NIM_NIL;
			T22_ = (*t_p0).data;
			(*t_p0).data = n_1;
			n_1 = T22_;
		}
LA10_: ;
		idTableRawInsert__semdata_u1739((&(*t_p0).data), key_p1, val_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t_p0).counter += ((NI)1);
	}
LA1_: ;
	eqdestroy___semdata_u748(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, nextIdentExcluding__astalgo_u2773)(tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* excluding_p2) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
	NI h_1;
	NI T1_;
	NI start_1;
	NI T16_;
	NI T17_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tab_p1.data.len-1);
	h_1 = (NI)((*ti_p0).h & T1_);
	start_1 = h_1;
	eqcopy___ast_u4577(&result, tab_p1.data.p->data[h_1]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			NI T11_;
			if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				NIM_BOOL T6_;
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym117__1;
				NIM_BOOL T8_;
				T6_ = (NIM_BOOL)0;
				T6_ = ((*(*result).name).id == (*(*ti_p0).name).id);
				if (!(T6_)) goto LA7_;
				xX60gensym117__1 = (*result).itemId;
				T8_ = (NIM_BOOL)0;
				T8_ = contains__astalgo_u2846(excluding_p2, (NI)((NI)((NU64)(((NI) (xX60gensym117__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym117__1.item))));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T6_ = !(T8_);
LA7_: ;
				if (!T6_) goto LA9_;
				goto LA2;
			}
LA9_: ;
			T11_ = (tab_p1.data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T11_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(h_1 == start_1)) goto LA14_;
				eqsink___ast_u4583(&result, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto LA2;
			}
LA14_: ;
			eqcopy___ast_u4577(&result, tab_p1.data.p->data[h_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	} LA2: ;
	T16_ = (tab_p1.data.len-1);
	T17_ = (NI)0;
	T17_ = nextTry__astalgo_u36(h_1, T16_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*ti_p0).h = T17_;
	{
		NIM_BOOL T20_;
		tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym120__1;
		T20_ = (NIM_BOOL)0;
		T20_ = !((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
		if (!(T20_)) goto LA21_;
		xX60gensym120__1 = (*result).itemId;
		T20_ = contains__astalgo_u2846(excluding_p2, (NI)((NI)((NU64)(((NI) (xX60gensym120__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym120__1.item))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA21_: ;
		if (!T20_) goto LA22_;
		eqsink___ast_u4583(&result, ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA22_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, firstIdentExcluding__astalgo_u3113)(tyObject_TIdentIter__y9aVr7t8eNqaJxlweeGSP9ag* ti_p0, tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tab_p1, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* s_p2, tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA* excluding_p3) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	(*ti_p0).h = (*s_p2).h;
	eqcopy___idents_u158(&(*ti_p0).name, s_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(tab_p1.counter == ((NI)0))) goto LA3_;
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
	goto LA1_;
LA3_: ;
	{
		result = nextIdentExcluding__astalgo_u2773(ti_p0, tab_p1, excluding_p3);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, lookupInRecord__astalgo_u30)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* field_p1) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)138):
	{
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T5_;
					if (!(i_2 < colontmp_)) goto LA4;
					i_1 = i_2;
					T5_ = NIM_NIL;
					T5_ = lookupInRecord__astalgo_u30((*n_p0)._kind_6.sons.p->data[i_1], field_p1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T5_); goto BeforeRet_;}
					eqsink___ast_u4583(&result, T5_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA8_;
						goto BeforeRet_;
					}
LA8_: ;
					i_2 += ((NI)1);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139):
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T15_;
		{
			if (!!(((*(*n_p0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3)))) goto LA13_;
			result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
			goto BeforeRet_;
		}
LA13_: ;
		T15_ = NIM_NIL;
		T15_ = lookupInRecord__astalgo_u30((*n_p0)._kind_6.sons.p->data[((NI)0)], field_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T15_); goto BeforeRet_;}
		eqsink___ast_u4583(&result, T15_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA18_;
			goto BeforeRet_;
		}
LA18_: ;
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_4 = ((NI)1);
			{
				while (1) {
					if (!(i_4 < colontmp__2)) goto LA22;
					i_3 = i_4;
					switch ((*(*n_p0)._kind_6.sons.p->data[i_3]).kind) {
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85):
					case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)88):
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* T25_;
						colontmpD_ = NIM_NIL;
						colontmpD_ = lastSon__ast_u5208((*n_p0)._kind_6.sons.p->data[i_3]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						T25_ = NIM_NIL;
						T25_ = lookupInRecord__astalgo_u30(colontmpD_, field_p1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u4574(T25_); goto LA24_;}
						eqsink___ast_u4583(&result, T25_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
						{
							if (!!((result == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA28_;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA28_: ;
						{
							LA24_:;
						}
						{
							oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							*nimErr_ = oldNimErrFin24_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					}
					break;
					default:
					{
						result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
						goto BeforeRet_;
					}
					break;
					}
					i_4 += ((NI)1);
				} LA22: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			if (!((*(*(*n_p0)._kind_4.sym).name).id == (*field_p1).id)) goto LA36_;
			eqcopy___ast_u4577(&result, (*n_p0)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA36_: ;
	}
	break;
	default:
	{
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__transf_u603)(tyObject_TIdTable__8wpQEq0X9akVm73iKe4zg6Q t_p0, NI key_p1) {
	NI result;
	NI h_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	h_1 = (NI)0;
	T1_ = (t_p0.data.len-1);
	h_1 = (NI)(key_p1 & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T9_;
			T4_ = (NIM_BOOL)0;
			T4_ = isNil__astalgo_u3173(t_p0.data.p->data[h_1].key);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T4_)) goto LA3;
			{
				tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym29__1;
				xX60gensym29__1 = t_p0.data.p->data[h_1].key;
				if (!((NI)((NI)((NU64)(((NI) (xX60gensym29__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym29__1.item))) == key_p1)) goto LA7_;
				result = h_1;
				goto BeforeRet_;
			}
LA7_: ;
			T9_ = (t_p0.data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T9_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	result = ((NI)-1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, getOrDefault__transf_u588)(tyObject_TIdTable__8wpQEq0X9akVm73iKe4zg6Q t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NI index_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym28__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	xX60gensym28__1 = key_p1;
	index_1 = idTableRawGet__transf_u603(t_p0, (NI)((NI)((NU64)(((NI) (xX60gensym28__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym28__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA3_;
		eqcopy___ast_u3255(&result, t_p0.data.p->data[index_1].val);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = 0;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__transf_u1294)(tySequence__tt8kXsbz31MUMFUF6Q9aQuQ* data_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_p2) {
	NI h_1;
	NI keyId_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym40__1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	h_1 = (NI)0;
	xX60gensym40__1 = key_p1;
	keyId_1 = (NI)((NI)((NU64)(((NI) (xX60gensym40__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym40__1.item)));
	T1_ = ((*data_p0).len-1);
	h_1 = (NI)(keyId_1 & T1_);
	{
		while (1) {
			NIM_BOOL T4_;
			NI T5_;
			T4_ = (NIM_BOOL)0;
			T4_ = isNil__astalgo_u3173((*data_p0).p->data[h_1].key);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!!(T4_)) goto LA3;
			T5_ = ((*data_p0).len-1);
			h_1 = nextTry__astalgo_u36(h_1, T5_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	(*data_p0).p->data[h_1].key = key_p1;
	eqcopy___ast_u3255(&(*data_p0).p->data[h_1].val, val_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___transf_u912)(tyObject_TIdTable__8wpQEq0X9akVm73iKe4zg6Q* t_p0, tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA key_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* val_p2) {
	tySequence__tt8kXsbz31MUMFUF6Q9aQuQ n_1;
	NI index_1;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA xX60gensym37__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1.len = 0; n_1.p = NIM_NIL;
	index_1 = (NI)0;
	xX60gensym37__1 = key_p1;
	index_1 = idTableRawGet__transf_u603((*t_p0), (NI)((NI)((NU64)(((NI) (xX60gensym37__1.module))) << (NU64)(((NI)24) & (64 - 1))) + ((NI) (xX60gensym37__1.item))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(((NI)0) <= index_1)) goto LA3_;
		eqcopy___ast_u3255(&(*t_p0).data.p->data[index_1].val, val_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		{
			NI T8_;
			NIM_BOOL T9_;
			NI T12_;
			tySequence__tt8kXsbz31MUMFUF6Q9aQuQ T22_;
			T8_ = (*t_p0).data.len;
			T9_ = (NIM_BOOL)0;
			T9_ = mustRehash__astalgo_u33(T8_, (*t_p0).counter);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA10_;
			T12_ = (*t_p0).data.len;
			newSeq__transf_u102((&n_1), ((NI)(T12_ * ((NI)2))));
			{
				NI i_1;
				NI colontmp_;
				NI T14_;
				NI res_1;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				T14_ = ((*t_p0).data.len-1);
				colontmp_ = T14_;
				res_1 = ((NI)0);
				{
					while (1) {
						if (!(res_1 <= colontmp_)) goto LA16;
						i_1 = ((NI) (res_1));
						{
							NIM_BOOL T19_;
							T19_ = (NIM_BOOL)0;
							T19_ = isNil__astalgo_u3173((*t_p0).data.p->data[i_1].key);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!!(T19_)) goto LA20_;
							idTableRawInsert__transf_u1294((&n_1), (*t_p0).data.p->data[i_1].key, (*t_p0).data.p->data[i_1].val);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA20_: ;
						res_1 += ((NI)1);
					} LA16: ;
				}
			}
			T22_.len = 0; T22_.p = NIM_NIL;
			T22_ = (*t_p0).data;
			(*t_p0).data = n_1;
			n_1 = T22_;
		}
LA10_: ;
		idTableRawInsert__transf_u1294((&(*t_p0).data), key_p1, val_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*t_p0).counter += ((NI)1);
	}
LA1_: ;
	eqdestroy___transf_u250(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, cmpStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NI result;
	NI alen_1;
	NI blen_1;
	NI minlen_1;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	minlen_1 = ((alen_1 <= blen_1) ? alen_1 : blen_1);
	{
		int T5_;
		if (!(((NI)0) < minlen_1)) goto LA3_;
		T5_ = (int)0;
		T5_ = memcmp(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), ((size_t) (minlen_1)));
		result = ((NI) (T5_));
		{
			if (!(result == ((NI)0))) goto LA8_;
			result = (NI)(alen_1 - blen_1);
		}
LA8_: ;
	}
	goto LA1_;
LA3_: ;
	{
		result = (NI)(alen_1 - blen_1);
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, leValue__astalgo_u79)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	switch ((*a_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
	{
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T6_;
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T7_;
			if (!((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA4_;
			T6_ = getInt__ast_u7046(a_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T7_ = getInt__ast_u7046(b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = lteq___int128_u408(T6_, T7_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
	{
		{
			if (!((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18))) goto LA11_;
			result = ((*a_p0)._kind_2.floatVal <= (*b_p1)._kind_2.floatVal);
		}
LA11_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
	{
		{
			if (!((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22))) goto LA16_;
			result = (cmpStrings((*a_p0)._kind_3.strVal, (*b_p1)._kind_3.strVal) <= 0);
		}
LA16_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, weakLeValue__astalgo_u95)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*a_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*a_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22)));
		if (T3_) goto LA4_;
		T3_ = !(((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22)));
LA4_: ;
		if (!T3_) goto LA5_;
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	goto LA1_;
LA5_: ;
	{
		tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T8_;
		T8_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = leValue__astalgo_u79(a_p0, b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T11_) goto LA12_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
		}
		goto LA9_;
LA12_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
		}
LA9_: ;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConvCastAndClosure__astalgo_u60)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		while (1) {
			switch ((*result).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)70):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)68):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)69):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
			{
				eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
			{
				eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			break;
			default:
			{
				goto LA1;
			}
			break;
			}
		}
	} LA1: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, listSymbolNames__astalgo_u3461)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** symbols_p0, NI symbols_p0Len_0) {
	NimStringV2 result;
	result = TM__uRgrUHgaDgkYkoMPsaodqw_117;
	{
		tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** sym_1;
		NI i_1;
		sym_1 = (tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg**)0;
		i_1 = ((NI)0);
		{
			while (1) {
				if (!(i_1 < symbols_p0Len_0)) goto LA3;
				sym_1 = &symbols_p0[i_1];
				{
					if (!(((NI)0) < result.len)) goto LA6_;
					prepareAdd((&result), 2);
appendString((&result), TM__uRgrUHgaDgkYkoMPsaodqw_118);
				}
LA6_: ;
				prepareAdd((&result), (*(*(*sym_1)).name).s.len + 0);
appendString((&result), (*(*(*sym_1)).name).s);
				i_1 += ((NI)1);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, symTabReplaceRaw__astalgo_u2611)(tySequence__ZCZaCk14bTmSb6LMW9aWPVA* data_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prevSym_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newSym_p2) {
	NI h_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = ((*data_p0).len-1);
	h_1 = (NI)((*(*prevSym_p1).name).h & T1_);
	{
		while (1) {
			NI T8_;
			if (!!(((*data_p0).p->data[h_1] == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				if (!((*data_p0).p->data[h_1] == prevSym_p1)) goto LA6_;
				eqcopy___ast_u4577(&(*data_p0).p->data[h_1], newSym_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA6_: ;
			T8_ = ((*data_p0).len-1);
			h_1 = nextTry__astalgo_u36(h_1, T8_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, symTabReplace__astalgo_u2636)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* prevSym_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newSym_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	symTabReplaceRaw__astalgo_u2611((&(*t_p0).data), prevSym_p1, newSym_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, strTableIncl__astalgo_u2717)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg* t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1, NIM_BOOL onConflictKeepOld_p2) {
	NIM_BOOL result;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_ = NIM_NIL;
	colontmpD_ = strTableInclReportConflict__astalgo_u2677(t_p0, n_p1, onConflictKeepOld_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = !((colontmpD_ == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)));
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField__astalgo_u3497)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46))) goto LA4_;
		result = (((*(*(*(*n_p0)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)20)))&63U)))!=0);
	}
	goto LA2_;
LA4_: ;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA7_;
		result = (((*(*(*n_p0)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg)20)))&63U)))!=0);
	}
	goto LA2_;
LA7_: ;
	{
		result = NIM_FALSE;
	}
LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, strTableContains__astalgo_u2567)(tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg t_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* n_p1) {
	NIM_BOOL result;
	NI h_1;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (t_p0.data.len-1);
	h_1 = (NI)((*(*n_p1).name).h & T1_);
	{
		while (1) {
			NI T8_;
			if (!!((t_p0.data.p->data[h_1] == ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL)))) goto LA3;
			{
				if (!(t_p0.data.p->data[h_1] == n_p1)) goto LA6_;
				result = NIM_TRUE;
				goto BeforeRet_;
			}
LA6_: ;
			T8_ = (t_p0.data.len-1);
			h_1 = nextTry__astalgo_u36(h_1, T8_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		} LA3: ;
	}
	result = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}
