/* Generated by Nim Compiler v0.13.0 */
/*   (c) 2015 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: Linux, amd64, gcc */
/* Command for C compiler:
   gcc -c  -w -O3 -fno-strict-aliasing  -I/home/ubuntu/nim-ci/Nim/lib -o /home/ubuntu/nim-ci/Nim/compiler/rnimcache/compiler_msgs.o /home/ubuntu/nim-ci/Nim/compiler/rnimcache/compiler_msgs.c */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>
typedef struct Table192430 Table192430;
typedef struct Keyvaluepairseq192433 Keyvaluepairseq192433;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct TY192612 TY192612;
typedef struct Tfileinfo192334 Tfileinfo192334;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct Ropeobj179006 Ropeobj179006;
typedef struct TY192350 TY192350;
typedef struct Cell47305 Cell47305;
typedef struct Cellseq47321 Cellseq47321;
typedef struct Gcheap49818 Gcheap49818;
typedef struct Gcstack49816 Gcstack49816;
typedef struct Memregion29480 Memregion29480;
typedef struct Smallchunk29437 Smallchunk29437;
typedef struct Llchunk29474 Llchunk29474;
typedef struct Bigchunk29439 Bigchunk29439;
typedef struct Intset29414 Intset29414;
typedef struct Trunk29410 Trunk29410;
typedef struct Avlnode29478 Avlnode29478;
typedef struct Gcstat49814 Gcstat49814;
typedef struct Cellset47317 Cellset47317;
typedef struct Pagedesc47313 Pagedesc47313;
typedef struct Tlineinfo192336 Tlineinfo192336;
typedef struct TY193083 TY193083;
typedef struct Erecoverableerror192342 Erecoverableerror192342;
typedef struct Valueerror3646 Valueerror3646;
typedef struct Exception Exception;
typedef struct TNimObject TNimObject;
typedef struct Slice197011 Slice197011;
typedef struct TSafePoint TSafePoint;
typedef struct TY204019 TY204019;
typedef struct Esuggestdone192344 Esuggestdone192344;
typedef struct Keyvaluepair192436 Keyvaluepair192436;
typedef struct Basechunk29435 Basechunk29435;
typedef struct Freecell29427 Freecell29427;
struct  Table192430  {
Keyvaluepairseq192433* data;
NI counter;
};
typedef N_NIMCALL_PTR(void, TY3489) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, TY3494) (void* p);
struct  TNimType  {
NI size;
NU8 kind;
NU8 flags;
TNimType* base;
TNimNode* node;
void* finalizer;
TY3489 marker;
TY3494 deepcopy;
};
struct  TNimNode  {
NU8 kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct  Tfileinfo192334  {
NimStringDesc* fullpath;
NimStringDesc* projpath;
NimStringDesc* shortname;
Ropeobj179006* quotedname;
Ropeobj179006* quotedfullname;
TY192350* lines;
NimStringDesc* dirtyfile;
};
struct  Cell47305  {
NI refcount;
TNimType* typ;
};
struct  Cellseq47321  {
NI len;
NI cap;
Cell47305** d;
};
typedef Smallchunk29437* TY29495[512];
typedef Trunk29410* Trunkbuckets29412[256];
struct  Intset29414  {
Trunkbuckets29412 data;
};
struct  Memregion29480  {
NI minlargeobj;
NI maxlargeobj;
TY29495 freesmallchunks;
Llchunk29474* llmem;
NI currmem;
NI maxmem;
NI freemem;
NI lastsize;
Bigchunk29439* freechunkslist;
Intset29414 chunkstarts;
Avlnode29478* root;
Avlnode29478* deleted;
Avlnode29478* last;
Avlnode29478* freeavlnodes;
NIM_BOOL locked;
};
struct  Gcstat49814  {
NI stackscans;
NI cyclecollections;
NI maxthreshold;
NI maxstacksize;
NI maxstackcells;
NI cycletablesize;
NI64 maxpause;
};
struct  Cellset47317  {
NI counter;
NI max;
Pagedesc47313* head;
Pagedesc47313** data;
};
struct  Gcheap49818  {
Gcstack49816* stack;
void* stackbottom;
NI cyclethreshold;
Cellseq47321 zct;
Cellseq47321 decstack;
Cellseq47321 tempstack;
NI recgclock;
Memregion29480 region;
Gcstat49814 stat;
Cellset47317 marked;
Cellseq47321 additionalroots;
};
struct  Tlineinfo192336  {
NI16 line;
NI16 col;
NI32 fileindex;
};
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (NimStringDesc* output, void* ClEnv);
void* ClEnv;
} TY193104;
typedef struct {
N_NIMCALL_PTR(void, ClPrc) (NU8 err, NimStringDesc* msg, NIM_BOOL usewarning, void* ClEnv);
void* ClEnv;
} TY179017;
typedef NimStringDesc* TY194153[2];
typedef NimStringDesc* TY194140[3];
typedef NimStringDesc* TY192297[291];
typedef NimStringDesc* TY193732[1];
typedef N_CLOSURE_PTR(void, TMP432) (NimStringDesc* output);
typedef NimStringDesc* TY192302[31];
typedef NimStringDesc* TY192307[23];
typedef N_CLOSURE_PTR(void, TMP495) (NimStringDesc* output);
typedef N_CLOSURE_PTR(void, TMP496) (NimStringDesc* output);
typedef N_CLOSURE_PTR(void, TMP505) (NimStringDesc* output);
struct  TNimObject  {
TNimType* m_type;
};
struct  Exception  {
  TNimObject Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
NimStringDesc* trace;
};
struct  Valueerror3646  {
  Exception Sup;
};
struct  Erecoverableerror192342  {
  Valueerror3646 Sup;
};
typedef N_CLOSURE_PTR(void, TMP508) (NU8 err, NimStringDesc* msg, NIM_BOOL usewarning, void* ClEnv);
typedef NimStringDesc* TY195781[4];
typedef N_CLOSURE_PTR(void, TMP1061) (NimStringDesc* output);
typedef N_CLOSURE_PTR(void, TMP1062) (NimStringDesc* output);
struct  Slice197011  {
NU16 a;
NU16 b;
};
typedef N_CLOSURE_PTR(void, TMP1063) (NimStringDesc* output);
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e, void* ClEnv);
void* ClEnv;
} TY17211;
struct  TSafePoint  {
TSafePoint* prev;
NI status;
jmp_buf context;
NIM_BOOL hasRaiseAction;
TY17211 raiseAction;
};
struct TY204019 {
NimStringDesc* Field0;
NI Field1;
};
typedef NU64 TY192361[4];
typedef N_CLOSURE_PTR(void, TMP2141) (NimStringDesc* output);
struct  Esuggestdone192344  {
  Exception Sup;
};
struct Keyvaluepair192436 {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct  Ropeobj179006  {
  TNimObject Sup;
Ropeobj179006* left;
Ropeobj179006* right;
NI length;
NimStringDesc* data;
};
struct  Gcstack49816  {
Gcstack49816* prev;
Gcstack49816* next;
void* starts;
void* pos;
NI maxstacksize;
};
struct  Basechunk29435  {
NI prevsize;
NI size;
NIM_BOOL used;
};
struct  Smallchunk29437  {
  Basechunk29435 Sup;
Smallchunk29437* next;
Smallchunk29437* prev;
Freecell29427* freelist;
NI free;
NI acc;
NF data;
};
struct  Llchunk29474  {
NI size;
NI acc;
Llchunk29474* next;
};
struct  Bigchunk29439  {
  Basechunk29435 Sup;
Bigchunk29439* next;
Bigchunk29439* prev;
NI align;
NF data;
};
typedef NI TY29419[8];
struct  Trunk29410  {
Trunk29410* next;
NI key;
TY29419 bits;
};
typedef Avlnode29478* TY29485[2];
struct  Avlnode29478  {
TY29485 link;
NI key;
NI upperbound;
NI level;
};
struct  Pagedesc47313  {
Pagedesc47313* next;
NI key;
TY29419 bits;
};
struct  Freecell29427  {
Freecell29427* next;
NI zerofield;
};
struct TY192612 {
  TGenericSeq Sup;
  Tfileinfo192334 data[SEQ_DECL_SIZE];
};
struct TY192350 {
  TGenericSeq Sup;
  Ropeobj179006* data[SEQ_DECL_SIZE];
};
struct TY193083 {
  TGenericSeq Sup;
  Tlineinfo192336 data[SEQ_DECL_SIZE];
};
struct Keyvaluepairseq192433 {
  TGenericSeq Sup;
  Keyvaluepair192436 data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, inittable_192422)(NI initialsize, Table192430* Result);
N_NOINLINE(void, chckNil)(void* p);
N_NIMCALL(void, genericReset)(void* dest, TNimType* mt);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
N_NIMCALL(void, TMP147)(void* p, NI op);
N_NIMCALL(void, TMP148)(void* p, NI op);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(Cell47305*, usrtocell_51440)(void* usr);
static N_INLINE(void, rtladdzct_52601)(Cell47305* c);
N_NOINLINE(void, addzct_51417)(Cellseq47321* s, Cell47305* c);
N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_NIMCALL(void, newfileinfo_192667)(NimStringDesc* fullpath, NimStringDesc* projpath, Tfileinfo192334* Result);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_NIMCALL(NimStringDesc*, nosextractFilename)(NimStringDesc* path);
N_NIMCALL(NimStringDesc*, noschangeFileExt)(NimStringDesc* filename, NimStringDesc* ext);
N_NIMCALL(Ropeobj179006*, makecstring_192638)(NimStringDesc* s);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copymem_7478)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, tocchar_192634)(NIM_CHAR c);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, nsuToOctal)(NIM_CHAR c);
N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_NIMCALL(void, add_179482)(Ropeobj179006** a, Ropeobj179006* b);
N_NIMCALL(Ropeobj179006*, rope_179277)(NimStringDesc* s);
N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq, NI elemsize);
N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_NIMCALL(Tlineinfo192336, newlineinfo_193014)(NI32 fileinfoidx, NI line, NI col);
N_NIMCALL(void, TMP155)(void* p, NI op);
N_NIMCALL(Tlineinfo192336, unknownlineinfo_193080)(void);
N_NIMCALL(void, HEX3Aanonymous_197839)(NU8 err, NimStringDesc* msg, NIM_BOOL usewarning);
N_NIMCALL(void, internalerror_197113)(NimStringDesc* errmsg);
N_NIMCALL(void, writecontext_194114)(Tlineinfo192336 lastinfo);
N_NIMCALL(NIM_BOOL, HEX3DHEX3D_194109)(Tlineinfo192336 a, Tlineinfo192336 b);
N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen0);
N_NIMCALL(NimStringDesc*, tomsgfilename_193411)(Tlineinfo192336 info);
N_NIMCALL(NimStringDesc*, coordtostr_193719)(NI coord);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_NIMCALL(NimStringDesc*, getmessagestr_193727)(NU16 msg, NimStringDesc* arg);
N_NIMCALL(NimStringDesc*, msgkindtostring_193723)(NU16 kind);
static N_INLINE(void, writeline_171405)(FILE* f, NimStringDesc** x, NI xLen0);
N_NIMCALL(void, write_14891)(FILE* f, NimStringDesc* s);
N_NIMCALL(void, flushfile_14862)(FILE* f);
N_NIMCALL(void, setstyle_189601)(FILE* f, NU8 style);
N_NIMCALL(void, resetattributes_189203)(FILE* f);
N_NIMCALL(void, rawmessage_195612)(NU16 msg, NimStringDesc* arg);
N_NIMCALL(void, rawmessage_194645)(NU16 msg, NimStringDesc** args, NI argsLen0);
N_NIMCALL(NIM_BOOL, ignoremsgbecauseofidetools_194613)(NU16 msg);
N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_NIMCALL(void, setforegroundcolor_190045)(FILE* f, NU8 fg, NIM_BOOL bright);
N_NIMCALL(void, handleerror_194023)(NU16 msg, NU8 eh, NimStringDesc* s);
N_NIMCALL(void, log_194005)(NimStringDesc* s);
N_NIMCALL(NIM_BOOL, open_14803)(FILE** f, NimStringDesc* filename, NU8 mode, NI bufsize);
N_NIMCALL(void, close_14853)(FILE* f);
N_NIMCALL(void, quit_193739)(NU16 msg);
N_NIMCALL(NIM_BOOL, stacktraceavailable_19672)(void);
N_NIMCALL(void, writestacktrace_18207)(void);
N_NOINLINE(void, raiserecoverableerror_193048)(NimStringDesc* msg) __attribute__((noreturn));
N_NIMCALL(void, TMP506)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
N_NIMCALL(void, raiseException)(Exception* e, NCSTRING ename);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incref_53419)(Cell47305* c);
static N_INLINE(void, decref_53001)(Cell47305* c);
N_NIMCALL(NIM_BOOL, isatty_190420)(FILE* f);
N_NIMCALL(void, limessage_195658)(Tlineinfo192336 info, NU16 msg, NimStringDesc* arg, NU8 eh);
static N_INLINE(NIM_BOOL, contains_197018)(Slice197011 s, NU16 value);
static N_INLINE(Slice197011, HEX2EHEX2E_197002)(NU16 a, NU16 b);
N_NIMCALL(void, writesurroundingsrc_195645)(Tlineinfo192336 info);
N_NIMCALL(void, msgwriteln_193449)(NimStringDesc* s, NU8 flags);
N_NIMCALL(NimStringDesc*, HEX24_179856)(Ropeobj179006* r);
N_NIMCALL(Ropeobj179006*, sourceline_193065)(Tlineinfo192336 i);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_NIMCALL(NimStringDesc*, tofullpath_193257)(NI32 fileidx);
N_NIMCALL(FILE*, open_14817)(NimStringDesc* filename, NU8 mode, NI bufsize);
N_NIMCALL(NIM_BOOL, readline_14915)(FILE* f, NimStringDesc** line);
N_NIMCALL(void, addsourceline_197139)(NI32 fileidx, NimStringDesc* line);
static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src);
static N_INLINE(void, popSafePoint)(void);
N_NIMCALL(void, reraiseException)(void);
N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, getCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_NIMCALL(NimStringDesc*, HEX24_197185)(TY204019 x);
N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_NIMCALL(NI32, fileinfoidx_192699)(NimStringDesc* filename, NIM_BOOL* isknownfile);
N_NIMCALL(NimStringDesc*, canonicalizepath_170405)(NimStringDesc* path);
static N_INLINE(void, shallow_91818)(NimStringDesc** s_91821);
N_NIMCALL(NIM_BOOL, haskey_192709)(Table192430 t, NimStringDesc* key);
N_NIMCALL(NI32*, HEX5BHEX5D_192741)(Table192430* t, NimStringDesc* key);
N_NIMCALL(NimStringDesc*, shortendir_170601)(NimStringDesc* dir);
N_NIMCALL(void, HEX5BHEX5DHEX3D_192835)(Table192430* t, NimStringDesc* key, NI32 val);
N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq, NI elemsize, NI newlen);
N_NIMCALL(void, TMP2869)(void* p, NI op);
static N_INLINE(NimStringDesc*, tofilelinecol_193427)(Tlineinfo192336 info);
N_NIMCALL(NimStringDesc*, tofilename_193253)(NI32 fileidx);
STRING_LITERAL(TMP150, "", 0);
STRING_LITERAL(TMP151, "\"", 1);
STRING_LITERAL(TMP152, "command line", 12);
STRING_LITERAL(TMP153, "compilation artifact", 20);
STRING_LITERAL(TMP157, "$1($2, $3) ", 11);
STRING_LITERAL(TMP158, "???", 3);
STRING_LITERAL(TMP159, "unknown error", 13);
STRING_LITERAL(TMP160, "illformed AST: $1", 17);
STRING_LITERAL(TMP161, "internal error: $1", 18);
STRING_LITERAL(TMP162, "cannot open \'$1\'", 16);
STRING_LITERAL(TMP163, "$1", 2);
STRING_LITERAL(TMP164, "\'$1\' compiler does not support C++", 34);
STRING_LITERAL(TMP165, "string literal expected", 23);
STRING_LITERAL(TMP166, "integer literal expected", 24);
STRING_LITERAL(TMP167, "invalid character constant", 26);
STRING_LITERAL(TMP168, "closing \"\"\" expected, but end of file reached", 45);
STRING_LITERAL(TMP169, "closing \" expected", 18);
STRING_LITERAL(TMP170, "tabulators are not allowed", 26);
STRING_LITERAL(TMP171, "invalid token: $1", 17);
STRING_LITERAL(TMP172, "line too long", 13);
STRING_LITERAL(TMP173, "$1 is not a valid number", 24);
STRING_LITERAL(TMP174, "$1 is not a valid number; did you mean octal? Then use one of \'"
"0o\', \'0c\' or \'0C\'.", 81);
STRING_LITERAL(TMP175, "number $1 out of valid range", 28);
STRING_LITERAL(TMP176, "\\n not allowed in character literal", 35);
STRING_LITERAL(TMP177, "closing \']\' expected, but end of file reached", 45);
STRING_LITERAL(TMP178, "missing final \' for character literal", 37);
STRING_LITERAL(TMP179, "identifier expected, but found \'$1\'", 35);
STRING_LITERAL(TMP180, "newline expected, but found \'$1\'", 32);
STRING_LITERAL(TMP181, "invalid module name: \'$1\'", 25);
STRING_LITERAL(TMP182, "operator expected, but found \'$1\'", 33);
STRING_LITERAL(TMP183, "\'$1\' expected", 13);
STRING_LITERAL(TMP184, "string after \'include\' expected", 31);
STRING_LITERAL(TMP185, "recursive dependency: \'$1\'", 26);
STRING_LITERAL(TMP186, "\'on\' or \'off\' expected", 22);
STRING_LITERAL(TMP187, "\'none\', \'speed\' or \'size\' expected", 34);
STRING_LITERAL(TMP188, "invalid pragma", 14);
STRING_LITERAL(TMP189, "unknown pragma: \'$1\'", 20);
STRING_LITERAL(TMP190, "invalid directive: \'$1\'", 23);
STRING_LITERAL(TMP191, "\'pop\' without a \'push\' pragma", 29);
STRING_LITERAL(TMP192, "empty asm statement", 19);
STRING_LITERAL(TMP193, "invalid indentation", 19);
STRING_LITERAL(TMP194, "exception expected", 18);
STRING_LITERAL(TMP195, "exception already handled", 25);
STRING_LITERAL(TMP196, "\'yield\' only allowed in an iterator", 35);
STRING_LITERAL(TMP197, "\'yield\' cannot be used within \'try\' in a non-inlined iterator", 61);
STRING_LITERAL(TMP198, "invalid number of \'yield\' expressions", 37);
STRING_LITERAL(TMP199, "current routine cannot return an expression", 43);
STRING_LITERAL(TMP200, "redefinition of \'$1\'", 20);
STRING_LITERAL(TMP201, "statement not allowed after \'return\', \'break\', \'raise\' or \'cont"
"inue\'", 68);
STRING_LITERAL(TMP202, "statement expected", 18);
STRING_LITERAL(TMP203, "\'$1\' is no label", 16);
STRING_LITERAL(TMP204, "invalid command line option: \'$1\'", 33);
STRING_LITERAL(TMP205, "argument for command line option expected: \'$1\'", 47);
STRING_LITERAL(TMP206, "invalid argument for command line option: \'$1\'", 46);
STRING_LITERAL(TMP207, "invalid variable substitution in \'$1\'", 37);
STRING_LITERAL(TMP208, "unknown variable: \'$1\'", 22);
STRING_LITERAL(TMP209, "unknown C compiler: \'$1\'", 24);
STRING_LITERAL(TMP210, "\'on\' or \'off\' expected, but \'$1\' found", 38);
STRING_LITERAL(TMP211, "\'on\', \'off\' or \'list\' expected, but \'$1\' found", 46);
STRING_LITERAL(TMP212, "\'none\', \'boehm\' or \'refc\' expected, but \'$1\' found", 50);
STRING_LITERAL(TMP213, "\'none\', \'speed\' or \'size\' expected, but \'$1\' found", 50);
STRING_LITERAL(TMP214, "\'gui\', \'console\' or \'lib\' expected, but \'$1\' found", 50);
STRING_LITERAL(TMP215, "unknown OS: \'$1\'", 16);
STRING_LITERAL(TMP216, "unknown CPU: \'$1\'", 17);
STRING_LITERAL(TMP217, "\'c\', \'c++\' or \'yaml\' expected, but \'$1\' found", 45);
STRING_LITERAL(TMP218, "arguments can only be given if the \'--run\' option is selected", 61);
STRING_LITERAL(TMP219, "multiple assignment is not allowed", 34);
STRING_LITERAL(TMP220, "\':\' or \'=\' expected, but found \'$1\'", 35);
STRING_LITERAL(TMP221, "expression expected, but found \'$1\'", 35);
STRING_LITERAL(TMP222, "undeclared identifier: \'$1\'", 27);
STRING_LITERAL(TMP223, "undeclared field: \'$1\'", 22);
STRING_LITERAL(TMP224, "attempting to call undeclared routine: \'$1\'", 43);
STRING_LITERAL(TMP225, "ambiguous identifier: \'$1\' -- use a qualifier", 45);
STRING_LITERAL(TMP226, "type expected", 13);
STRING_LITERAL(TMP227, "system module needs \'$1\'", 24);
STRING_LITERAL(TMP228, "execution of an external program failed: \'$1\'", 45);
STRING_LITERAL(TMP229, "overloaded \'$1\' leads to ambiguous calls", 40);
STRING_LITERAL(TMP230, "invalid argument for \'$1\'", 25);
STRING_LITERAL(TMP231, "statement has no effect", 23);
STRING_LITERAL(TMP232, "\'$1\' expects a type or value", 28);
STRING_LITERAL(TMP233, "\'$1\' expects an array type", 26);
STRING_LITERAL(TMP234, "\'$1\' cannot be instantiated because its body has not been compi"
"led yet", 70);
STRING_LITERAL(TMP235, "expression \'$1\' ambiguous in this context", 41);
STRING_LITERAL(TMP236, "division by zero", 16);
STRING_LITERAL(TMP237, "ordinal type expected", 21);
STRING_LITERAL(TMP238, "ordinal or float type expected", 30);
STRING_LITERAL(TMP239, "over- or underflow", 18);
STRING_LITERAL(TMP240, "cannot evalutate \'$1\' because type is not defined completely", 60);
STRING_LITERAL(TMP241, "\'chr\' expects an int in the range 0..255", 40);
STRING_LITERAL(TMP242, "\'dynlib\' requires \'exportc\'", 27);
STRING_LITERAL(TMP243, "attempt to access a nil address", 31);
STRING_LITERAL(TMP244, "index out of bounds", 19);
STRING_LITERAL(TMP245, "index types do not match", 24);
STRING_LITERAL(TMP246, "\'[]\' operator invalid for this type", 35);
STRING_LITERAL(TMP247, "value out of set bounds", 23);
STRING_LITERAL(TMP248, "field initialized twice: \'$1\'", 29);
STRING_LITERAL(TMP249, "field \'$1\' not initialized", 26);
STRING_LITERAL(TMP250, "expression \'$1\' cannot be called", 32);
STRING_LITERAL(TMP251, "expression has no type", 22);
STRING_LITERAL(TMP252, "expression \'$1\' has no type (or is ambiguous)", 45);
STRING_LITERAL(TMP253, "\'cast\' not allowed in safe mode", 31);
STRING_LITERAL(TMP254, "expression cannot be casted to $1", 33);
STRING_LITERAL(TMP255, "\',\' or \')\' expected", 19);
STRING_LITERAL(TMP256, "\'{\' or \'(\' expected", 19);
STRING_LITERAL(TMP257, "section (\'type\', \'proc\', etc.) expected", 39);
STRING_LITERAL(TMP258, "range expected", 14);
STRING_LITERAL(TMP259, "\'magic\' only allowed in system module", 37);
STRING_LITERAL(TMP260, "power of two expected", 21);
STRING_LITERAL(TMP261, "string literal may not be empty", 31);
STRING_LITERAL(TMP262, "calling convention expected", 27);
STRING_LITERAL(TMP263, "a proc can only have one calling convention", 43);
STRING_LITERAL(TMP264, "symbol must be imported if \'lib\' pragma is used", 47);
STRING_LITERAL(TMP265, "expression must be of type \'bool\'", 33);
STRING_LITERAL(TMP266, "constant expression expected", 28);
STRING_LITERAL(TMP267, "duplicate case label", 20);
STRING_LITERAL(TMP268, "range is empty", 14);
STRING_LITERAL(TMP269, "selector must be of an ordinal type, float or string", 52);
STRING_LITERAL(TMP270, "selector must be of an ordinal type", 35);
STRING_LITERAL(TMP271, "ord($1) must not be negative", 28);
STRING_LITERAL(TMP272, "len($1) must be less than 32768", 31);
STRING_LITERAL(TMP273, "wrong number of variables", 25);
STRING_LITERAL(TMP274, "only a \'ref object\' can be raised", 33);
STRING_LITERAL(TMP275, "\'break\' only allowed in loop construct", 38);
STRING_LITERAL(TMP276, "type \'$1\' has unknown size", 26);
STRING_LITERAL(TMP277, "a constant can only be initialized with a constant expression", 61);
STRING_LITERAL(TMP278, "a constant needs a value", 24);
STRING_LITERAL(TMP279, "the result type cannot be on open array", 39);
STRING_LITERAL(TMP280, "computing the type\'s size produced an overflow", 46);
STRING_LITERAL(TMP281, "set is too large", 16);
STRING_LITERAL(TMP282, "base type of a set must be an ordinal", 37);
STRING_LITERAL(TMP283, "inheritance only works with non-final objects", 45);
STRING_LITERAL(TMP284, "inheritance only works with an enum", 35);
STRING_LITERAL(TMP285, "illegal recursion in type \'$1\'", 30);
STRING_LITERAL(TMP286, "cannot instantiate: \'$1\'", 24);
STRING_LITERAL(TMP287, "expression has no address", 25);
STRING_LITERAL(TMP288, "address of \'$1\' may not escape its stack frame", 46);
STRING_LITERAL(TMP289, "for a \'var\' type a variable needs to be passed", 46);
STRING_LITERAL(TMP290, "type mismatch", 13);
STRING_LITERAL(TMP291, "type mismatch: got (", 20);
STRING_LITERAL(TMP292, "but expected one of: ", 21);
STRING_LITERAL(TMP293, "but expected \'$1\'", 17);
STRING_LITERAL(TMP294, "ambiguous call; both $1 and $2 match for: $3", 44);
STRING_LITERAL(TMP295, "wrong number of arguments", 25);
STRING_LITERAL(TMP296, "\'$1\' cannot be passed to a procvar", 34);
STRING_LITERAL(TMP297, "$1 cannot be declared in parameter declaration", 46);
STRING_LITERAL(TMP298, "pragmas are only allowed in the header of a proc; redefinition "
"of $1", 68);
STRING_LITERAL(TMP299, "implementation of \'$1\' is not allowed", 37);
STRING_LITERAL(TMP300, "implementation of \'$1\' expected", 31);
STRING_LITERAL(TMP301, "no symbol to borrow from found", 30);
STRING_LITERAL(TMP302, "value of type \'$1\' has to be discarded", 38);
STRING_LITERAL(TMP303, "statement returns no value that can be discarded", 48);
STRING_LITERAL(TMP304, "conversion from $1 to $2 is invalid", 35);
STRING_LITERAL(TMP305, "cannot bind parameter \'$1\' twice", 32);
STRING_LITERAL(TMP306, "invalid order in array constructor", 34);
STRING_LITERAL(TMP307, "invalid order in enum \'$1\'", 26);
STRING_LITERAL(TMP308, "enum \'$1\' has holes", 19);
STRING_LITERAL(TMP309, "\'except\' or \'finally\' expected", 30);
STRING_LITERAL(TMP310, "after catch all \'except\' or \'finally\' no section may follow", 59);
STRING_LITERAL(TMP311, "option expected, but found \'$1\'", 31);
STRING_LITERAL(TMP312, "\'$1\' is not a label", 19);
STRING_LITERAL(TMP313, "not all cases are covered", 25);
STRING_LITERAL(TMP314, "unknown substitution variable: \'$1\'", 35);
STRING_LITERAL(TMP315, "complex statement requires indentation", 38);
STRING_LITERAL(TMP316, "\'$1\' is not callable", 20);
STRING_LITERAL(TMP317, "no pragmas allowed for $1", 25);
STRING_LITERAL(TMP318, "no generic parameters allowed for $1", 36);
STRING_LITERAL(TMP319, "invalid param kind: \'$1\'", 24);
STRING_LITERAL(TMP320, "default argument invalid", 24);
STRING_LITERAL(TMP321, "named parameter has to be an identifier", 39);
STRING_LITERAL(TMP322, "no return type allowed for $1", 29);
STRING_LITERAL(TMP323, "a type conversion needs exactly one argument", 44);
STRING_LITERAL(TMP324, "invalid pragma: $1", 18);
STRING_LITERAL(TMP325, "$1 not allowed here", 19);
STRING_LITERAL(TMP326, "invalid control flow: $1", 24);
STRING_LITERAL(TMP327, "invalid type: \'$1\'", 18);
STRING_LITERAL(TMP328, "\'[]\' needs a pointer or reference type", 38);
STRING_LITERAL(TMP329, "invalid expression", 18);
STRING_LITERAL(TMP330, "invalid expression: \'$1\'", 24);
STRING_LITERAL(TMP331, "enum has no value \'$1\'", 22);
STRING_LITERAL(TMP332, "named expression expected", 25);
STRING_LITERAL(TMP333, "named expression not allowed here", 33);
STRING_LITERAL(TMP334, "\'$1\' expects one type parameter", 31);
STRING_LITERAL(TMP335, "array expects two type parameters", 33);
STRING_LITERAL(TMP336, "invalid visibility: \'$1\'", 24);
STRING_LITERAL(TMP337, "initialization not allowed here", 31);
STRING_LITERAL(TMP338, "\'$1\' cannot be assigned to", 26);
STRING_LITERAL(TMP339, "iterators can only be defined at the module\'s top level", 55);
STRING_LITERAL(TMP340, "$1 needs a return type", 22);
STRING_LITERAL(TMP341, "no return type declared", 23);
STRING_LITERAL(TMP342, "no command given", 16);
STRING_LITERAL(TMP343, "invalid command: \'$1\'", 21);
STRING_LITERAL(TMP344, "\'$1\' is only allowed at top level", 33);
STRING_LITERAL(TMP345, "\'$1\' needs a parameter that has an object type", 46);
STRING_LITERAL(TMP346, "template/macro instantiation too nested", 39);
STRING_LITERAL(TMP347, "template/generic instantiation from here", 40);
STRING_LITERAL(TMP348, "invalid index value for tuple subscript", 39);
STRING_LITERAL(TMP349, "command expects a filename argument", 35);
STRING_LITERAL(TMP350, "please, specify a main module in the project configuration file", 63);
STRING_LITERAL(TMP351, "\'$1\' is not a concrete type.", 28);
STRING_LITERAL(TMP352, "invalid section start", 21);
STRING_LITERAL(TMP353, "grid table is not implemented", 29);
STRING_LITERAL(TMP354, "general parse error", 19);
STRING_LITERAL(TMP355, "new section expected", 20);
STRING_LITERAL(TMP356, "whitespace expected, got \'$1\'", 29);
STRING_LITERAL(TMP357, "\'$1\' is no valid index file", 27);
STRING_LITERAL(TMP358, "cannot render reStructuredText element \'$1\'", 43);
STRING_LITERAL(TMP359, "type \'var var\' is not allowed", 29);
STRING_LITERAL(TMP360, "instantiate \'$1\' explicitly", 27);
STRING_LITERAL(TMP361, "only a call operator can be a delegator", 39);
STRING_LITERAL(TMP362, "\'$1\' is not a variable, constant or a proc name", 47);
STRING_LITERAL(TMP363, "the macro body cannot be compiled, because the parameter \'$1\' h"
"as a generic type", 80);
STRING_LITERAL(TMP364, "Destructor signature is too specific. A destructor must be asso"
"ciated will all instantiations of a generic type", 111);
STRING_LITERAL(TMP365, "inline iterators can be used as parameters only for templates, "
"macros and other inline iterators", 96);
STRING_LITERAL(TMP366, "\'$1\' expects two arguments", 26);
STRING_LITERAL(TMP367, "\'$1\' expects object types", 25);
STRING_LITERAL(TMP368, "\'$1\' can never be of this subtype", 33);
STRING_LITERAL(TMP369, "interpretation requires too many iterations", 43);
STRING_LITERAL(TMP370, "cannot evaluate \'$1\'", 20);
STRING_LITERAL(TMP371, "field \'$1\' cannot be found", 26);
STRING_LITERAL(TMP372, "invalid conversion from type \'$1\'", 33);
STRING_LITERAL(TMP373, "assertion failed", 16);
STRING_LITERAL(TMP374, "cannot generate code for \'$1\'", 29);
STRING_LITERAL(TMP375, "$1 requires one parameter", 25);
STRING_LITERAL(TMP376, "unhandled exception: $1", 23);
STRING_LITERAL(TMP377, "macro returned a cyclic abstract syntax tree", 44);
STRING_LITERAL(TMP378, "\'$1\' is no macro or template", 28);
STRING_LITERAL(TMP379, "\'$1\' can have side effects", 26);
STRING_LITERAL(TMP380, "iterator within for loop context expected", 41);
STRING_LITERAL(TMP381, "\'let\' symbol requires an initialization", 39);
STRING_LITERAL(TMP382, "a thread var cannot be initialized explicitly", 45);
STRING_LITERAL(TMP383, "usage of \'$1\' is a user-defined error", 37);
STRING_LITERAL(TMP384, "illegal capture \'$1\'", 20);
STRING_LITERAL(TMP385, "\'$1\' cannot have \'closure\' calling convention", 45);
STRING_LITERAL(TMP386, "\'$1\' can only be used in compile-time context", 45);
STRING_LITERAL(TMP387, "cannot infer the type of the $1", 31);
STRING_LITERAL(TMP388, "cannot infer the return type of the proc", 40);
STRING_LITERAL(TMP389, "A nested proc can have generic parameters only when it is used "
"as an operand to another routine and the types of the generic pa"
"ramers can be inferred from the expected signature.", 178);
STRING_LITERAL(TMP390, "The current compiler \'$1\' doesn\'t support the requested compila"
"tion target", 74);
STRING_LITERAL(TMP391, "External assembler not found", 28);
STRING_LITERAL(TMP392, "External assembler \'$1\' is not a valid assembler", 48);
STRING_LITERAL(TMP393, "octal escape sequences do not exist; leading zero is ignored", 60);
STRING_LITERAL(TMP394, "\'$1\' is never read", 18);
STRING_LITERAL(TMP395, "\'$1\' might not have been initialized", 36);
STRING_LITERAL(TMP396, "$1 is deprecated", 16);
STRING_LITERAL(TMP397, "config file \'$1\' is deprecated", 30);
STRING_LITERAL(TMP398, "\'l\' should not be used as an identifier; may look like \'1\' (one"
")", 64);
STRING_LITERAL(TMP399, "unknown magic \'$1\' might crash the compiler", 43);
STRING_LITERAL(TMP400, "redefinition of label \'$1\'", 26);
STRING_LITERAL(TMP401, "unknown substitution \'$1\'", 25);
STRING_LITERAL(TMP402, "language \'$1\' not supported", 27);
STRING_LITERAL(TMP403, "field \'$1\' not supported", 24);
STRING_LITERAL(TMP404, "comment \'$1\' ignored", 20);
STRING_LITERAL(TMP405, "\'nil\' statement is deprecated; use an empty \'discard\' statement"
" instead", 71);
STRING_LITERAL(TMP406, "\'$1\' has no type. Typeless parameters are deprecated; only allo"
"wed for \'template\'", 81);
STRING_LITERAL(TMP407, "use {.base.} for base methods; baseless methods are deprecated", 62);
STRING_LITERAL(TMP408, "write to foreign heap", 21);
STRING_LITERAL(TMP409, "unsafe code: \'$1\'", 17);
STRING_LITERAL(TMP410, "each identifier is a tuple", 26);
STRING_LITERAL(TMP411, "shadowed identifier: \'$1\'", 25);
STRING_LITERAL(TMP412, "Cannot prove that \'$1\' is initialized. This will become a compi"
"le time error in the future.", 91);
STRING_LITERAL(TMP413, "cannot prove that field \'$1\' is accessible", 42);
STRING_LITERAL(TMP414, "cannot prove index \'$1\' is valid", 32);
STRING_LITERAL(TMP415, "not GC-safe: \'$1\'", 17);
STRING_LITERAL(TMP416, "\'$1\' uses GC\'ed memory", 22);
STRING_LITERAL(TMP417, "usage of a type with a destructor in a non destructible context"
". This will become a compile time error in the future.", 117);
STRING_LITERAL(TMP418, "Special variable \'result\' is shadowed.", 38);
STRING_LITERAL(TMP419, "operation successful", 20);
STRING_LITERAL(TMP420, "operation successful ($# lines compiled; $# sec total; $#; $#)", 62);
STRING_LITERAL(TMP421, "\'$1\' is declared but not used", 29);
STRING_LITERAL(TMP422, "conversion to base object is not needed", 39);
STRING_LITERAL(TMP423, "conversion from $1 to itself is pointless", 41);
STRING_LITERAL(TMP424, "expression evaluates always to \'$1\'", 35);
STRING_LITERAL(TMP425, "quit() called", 13);
STRING_LITERAL(TMP426, "generated code listing:", 23);
STRING_LITERAL(TMP427, "end of listing", 14);
STRING_LITERAL(TMP428, "used config file \'$1\'", 21);
STRING_LITERAL(TMP429, "added path: \'$1\'", 16);
STRING_LITERAL(TMP430, "condition is always true: \'$1\'", 30);
STRING_LITERAL(TMP431, "name should be: \'$1\'", 20);
NIM_CONST TY192297 Msgkindtostr_192294 = {((NimStringDesc*) &TMP159),
((NimStringDesc*) &TMP160),
((NimStringDesc*) &TMP161),
((NimStringDesc*) &TMP162),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP164),
((NimStringDesc*) &TMP165),
((NimStringDesc*) &TMP166),
((NimStringDesc*) &TMP167),
((NimStringDesc*) &TMP168),
((NimStringDesc*) &TMP169),
((NimStringDesc*) &TMP170),
((NimStringDesc*) &TMP171),
((NimStringDesc*) &TMP172),
((NimStringDesc*) &TMP173),
((NimStringDesc*) &TMP174),
((NimStringDesc*) &TMP175),
((NimStringDesc*) &TMP176),
((NimStringDesc*) &TMP177),
((NimStringDesc*) &TMP178),
((NimStringDesc*) &TMP179),
((NimStringDesc*) &TMP180),
((NimStringDesc*) &TMP181),
((NimStringDesc*) &TMP182),
((NimStringDesc*) &TMP183),
((NimStringDesc*) &TMP184),
((NimStringDesc*) &TMP185),
((NimStringDesc*) &TMP186),
((NimStringDesc*) &TMP187),
((NimStringDesc*) &TMP188),
((NimStringDesc*) &TMP189),
((NimStringDesc*) &TMP190),
((NimStringDesc*) &TMP191),
((NimStringDesc*) &TMP192),
((NimStringDesc*) &TMP193),
((NimStringDesc*) &TMP194),
((NimStringDesc*) &TMP195),
((NimStringDesc*) &TMP196),
((NimStringDesc*) &TMP197),
((NimStringDesc*) &TMP198),
((NimStringDesc*) &TMP199),
((NimStringDesc*) &TMP200),
((NimStringDesc*) &TMP201),
((NimStringDesc*) &TMP202),
((NimStringDesc*) &TMP203),
((NimStringDesc*) &TMP204),
((NimStringDesc*) &TMP205),
((NimStringDesc*) &TMP206),
((NimStringDesc*) &TMP207),
((NimStringDesc*) &TMP208),
((NimStringDesc*) &TMP209),
((NimStringDesc*) &TMP210),
((NimStringDesc*) &TMP211),
((NimStringDesc*) &TMP212),
((NimStringDesc*) &TMP213),
((NimStringDesc*) &TMP214),
((NimStringDesc*) &TMP215),
((NimStringDesc*) &TMP216),
((NimStringDesc*) &TMP217),
((NimStringDesc*) &TMP218),
((NimStringDesc*) &TMP219),
((NimStringDesc*) &TMP220),
((NimStringDesc*) &TMP221),
((NimStringDesc*) &TMP222),
((NimStringDesc*) &TMP223),
((NimStringDesc*) &TMP224),
((NimStringDesc*) &TMP225),
((NimStringDesc*) &TMP226),
((NimStringDesc*) &TMP227),
((NimStringDesc*) &TMP228),
((NimStringDesc*) &TMP229),
((NimStringDesc*) &TMP230),
((NimStringDesc*) &TMP231),
((NimStringDesc*) &TMP232),
((NimStringDesc*) &TMP233),
((NimStringDesc*) &TMP234),
((NimStringDesc*) &TMP235),
((NimStringDesc*) &TMP236),
((NimStringDesc*) &TMP237),
((NimStringDesc*) &TMP238),
((NimStringDesc*) &TMP239),
((NimStringDesc*) &TMP240),
((NimStringDesc*) &TMP241),
((NimStringDesc*) &TMP242),
((NimStringDesc*) &TMP223),
((NimStringDesc*) &TMP243),
((NimStringDesc*) &TMP244),
((NimStringDesc*) &TMP245),
((NimStringDesc*) &TMP246),
((NimStringDesc*) &TMP247),
((NimStringDesc*) &TMP248),
((NimStringDesc*) &TMP249),
((NimStringDesc*) &TMP250),
((NimStringDesc*) &TMP251),
((NimStringDesc*) &TMP252),
((NimStringDesc*) &TMP253),
((NimStringDesc*) &TMP254),
((NimStringDesc*) &TMP255),
((NimStringDesc*) &TMP256),
((NimStringDesc*) &TMP257),
((NimStringDesc*) &TMP258),
((NimStringDesc*) &TMP259),
((NimStringDesc*) &TMP260),
((NimStringDesc*) &TMP261),
((NimStringDesc*) &TMP262),
((NimStringDesc*) &TMP263),
((NimStringDesc*) &TMP264),
((NimStringDesc*) &TMP265),
((NimStringDesc*) &TMP266),
((NimStringDesc*) &TMP267),
((NimStringDesc*) &TMP268),
((NimStringDesc*) &TMP269),
((NimStringDesc*) &TMP270),
((NimStringDesc*) &TMP271),
((NimStringDesc*) &TMP272),
((NimStringDesc*) &TMP273),
((NimStringDesc*) &TMP274),
((NimStringDesc*) &TMP275),
((NimStringDesc*) &TMP276),
((NimStringDesc*) &TMP277),
((NimStringDesc*) &TMP278),
((NimStringDesc*) &TMP279),
((NimStringDesc*) &TMP280),
((NimStringDesc*) &TMP281),
((NimStringDesc*) &TMP282),
((NimStringDesc*) &TMP283),
((NimStringDesc*) &TMP284),
((NimStringDesc*) &TMP285),
((NimStringDesc*) &TMP286),
((NimStringDesc*) &TMP287),
((NimStringDesc*) &TMP288),
((NimStringDesc*) &TMP289),
((NimStringDesc*) &TMP290),
((NimStringDesc*) &TMP291),
((NimStringDesc*) &TMP292),
((NimStringDesc*) &TMP293),
((NimStringDesc*) &TMP294),
((NimStringDesc*) &TMP295),
((NimStringDesc*) &TMP296),
((NimStringDesc*) &TMP297),
((NimStringDesc*) &TMP298),
((NimStringDesc*) &TMP299),
((NimStringDesc*) &TMP300),
((NimStringDesc*) &TMP301),
((NimStringDesc*) &TMP302),
((NimStringDesc*) &TMP303),
((NimStringDesc*) &TMP304),
((NimStringDesc*) &TMP305),
((NimStringDesc*) &TMP306),
((NimStringDesc*) &TMP307),
((NimStringDesc*) &TMP308),
((NimStringDesc*) &TMP309),
((NimStringDesc*) &TMP310),
((NimStringDesc*) &TMP311),
((NimStringDesc*) &TMP312),
((NimStringDesc*) &TMP313),
((NimStringDesc*) &TMP314),
((NimStringDesc*) &TMP315),
((NimStringDesc*) &TMP316),
((NimStringDesc*) &TMP317),
((NimStringDesc*) &TMP318),
((NimStringDesc*) &TMP319),
((NimStringDesc*) &TMP320),
((NimStringDesc*) &TMP321),
((NimStringDesc*) &TMP322),
((NimStringDesc*) &TMP323),
((NimStringDesc*) &TMP324),
((NimStringDesc*) &TMP325),
((NimStringDesc*) &TMP326),
((NimStringDesc*) &TMP327),
((NimStringDesc*) &TMP328),
((NimStringDesc*) &TMP329),
((NimStringDesc*) &TMP330),
((NimStringDesc*) &TMP331),
((NimStringDesc*) &TMP332),
((NimStringDesc*) &TMP333),
((NimStringDesc*) &TMP334),
((NimStringDesc*) &TMP335),
((NimStringDesc*) &TMP336),
((NimStringDesc*) &TMP337),
((NimStringDesc*) &TMP338),
((NimStringDesc*) &TMP339),
((NimStringDesc*) &TMP340),
((NimStringDesc*) &TMP341),
((NimStringDesc*) &TMP342),
((NimStringDesc*) &TMP343),
((NimStringDesc*) &TMP344),
((NimStringDesc*) &TMP345),
((NimStringDesc*) &TMP346),
((NimStringDesc*) &TMP347),
((NimStringDesc*) &TMP348),
((NimStringDesc*) &TMP349),
((NimStringDesc*) &TMP350),
((NimStringDesc*) &TMP183),
((NimStringDesc*) &TMP351),
((NimStringDesc*) &TMP352),
((NimStringDesc*) &TMP353),
((NimStringDesc*) &TMP354),
((NimStringDesc*) &TMP355),
((NimStringDesc*) &TMP356),
((NimStringDesc*) &TMP357),
((NimStringDesc*) &TMP358),
((NimStringDesc*) &TMP359),
((NimStringDesc*) &TMP360),
((NimStringDesc*) &TMP361),
((NimStringDesc*) &TMP362),
((NimStringDesc*) &TMP363),
((NimStringDesc*) &TMP364),
((NimStringDesc*) &TMP365),
((NimStringDesc*) &TMP366),
((NimStringDesc*) &TMP367),
((NimStringDesc*) &TMP368),
((NimStringDesc*) &TMP369),
((NimStringDesc*) &TMP370),
((NimStringDesc*) &TMP371),
((NimStringDesc*) &TMP372),
((NimStringDesc*) &TMP373),
((NimStringDesc*) &TMP374),
((NimStringDesc*) &TMP375),
((NimStringDesc*) &TMP376),
((NimStringDesc*) &TMP377),
((NimStringDesc*) &TMP378),
((NimStringDesc*) &TMP379),
((NimStringDesc*) &TMP380),
((NimStringDesc*) &TMP381),
((NimStringDesc*) &TMP382),
((NimStringDesc*) &TMP383),
((NimStringDesc*) &TMP384),
((NimStringDesc*) &TMP385),
((NimStringDesc*) &TMP386),
((NimStringDesc*) &TMP387),
((NimStringDesc*) &TMP388),
((NimStringDesc*) &TMP389),
((NimStringDesc*) &TMP390),
((NimStringDesc*) &TMP391),
((NimStringDesc*) &TMP392),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP162),
((NimStringDesc*) &TMP393),
((NimStringDesc*) &TMP394),
((NimStringDesc*) &TMP395),
((NimStringDesc*) &TMP396),
((NimStringDesc*) &TMP397),
((NimStringDesc*) &TMP398),
((NimStringDesc*) &TMP399),
((NimStringDesc*) &TMP400),
((NimStringDesc*) &TMP401),
((NimStringDesc*) &TMP402),
((NimStringDesc*) &TMP403),
((NimStringDesc*) &TMP404),
((NimStringDesc*) &TMP405),
((NimStringDesc*) &TMP406),
((NimStringDesc*) &TMP407),
((NimStringDesc*) &TMP408),
((NimStringDesc*) &TMP409),
((NimStringDesc*) &TMP410),
((NimStringDesc*) &TMP411),
((NimStringDesc*) &TMP412),
((NimStringDesc*) &TMP413),
((NimStringDesc*) &TMP414),
((NimStringDesc*) &TMP415),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP395),
((NimStringDesc*) &TMP416),
((NimStringDesc*) &TMP417),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP418),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP419),
((NimStringDesc*) &TMP420),
((NimStringDesc*) &TMP172),
((NimStringDesc*) &TMP421),
((NimStringDesc*) &TMP422),
((NimStringDesc*) &TMP423),
((NimStringDesc*) &TMP424),
((NimStringDesc*) &TMP425),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP426),
((NimStringDesc*) &TMP427),
((NimStringDesc*) &TMP428),
((NimStringDesc*) &TMP429),
((NimStringDesc*) &TMP430),
((NimStringDesc*) &TMP431),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP150),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP163),
((NimStringDesc*) &TMP163)}
;
STRING_LITERAL(TMP435, "\012", 1);
STRING_LITERAL(TMP438, "Error: ", 7);
STRING_LITERAL(TMP439, "Warning: ", 9);
STRING_LITERAL(TMP440, "CannotOpenFile", 14);
STRING_LITERAL(TMP441, "OctalEscape", 11);
STRING_LITERAL(TMP442, "XIsNeverRead", 12);
STRING_LITERAL(TMP443, "XmightNotBeenInit", 17);
STRING_LITERAL(TMP444, "Deprecated", 10);
STRING_LITERAL(TMP445, "ConfigDeprecated", 16);
STRING_LITERAL(TMP446, "SmallLshouldNotBeUsed", 21);
STRING_LITERAL(TMP447, "UnknownMagic", 12);
STRING_LITERAL(TMP448, "RedefinitionOfLabel", 19);
STRING_LITERAL(TMP449, "UnknownSubstitutionX", 20);
STRING_LITERAL(TMP450, "LanguageXNotSupported", 21);
STRING_LITERAL(TMP451, "FieldXNotSupported", 18);
STRING_LITERAL(TMP452, "CommentXIgnored", 15);
STRING_LITERAL(TMP453, "NilStmt", 7);
STRING_LITERAL(TMP454, "TypelessParam", 13);
STRING_LITERAL(TMP455, "UseBase", 7);
STRING_LITERAL(TMP456, "WriteToForeignHeap", 18);
STRING_LITERAL(TMP457, "UnsafeCode", 10);
STRING_LITERAL(TMP458, "EachIdentIsTuple", 16);
STRING_LITERAL(TMP459, "ShadowIdent", 11);
STRING_LITERAL(TMP460, "ProveInit", 9);
STRING_LITERAL(TMP461, "ProveField", 10);
STRING_LITERAL(TMP462, "ProveIndex", 10);
STRING_LITERAL(TMP463, "GcUnsafe", 8);
STRING_LITERAL(TMP464, "GcUnsafe2", 9);
STRING_LITERAL(TMP465, "Uninit", 6);
STRING_LITERAL(TMP466, "GcMem", 5);
STRING_LITERAL(TMP467, "Destructor", 10);
STRING_LITERAL(TMP468, "LockLevel", 9);
STRING_LITERAL(TMP469, "ResultShadowed", 14);
STRING_LITERAL(TMP470, "User", 4);
NIM_CONST TY192302 Warningstostr_192300 = {((NimStringDesc*) &TMP440),
((NimStringDesc*) &TMP441),
((NimStringDesc*) &TMP442),
((NimStringDesc*) &TMP443),
((NimStringDesc*) &TMP444),
((NimStringDesc*) &TMP445),
((NimStringDesc*) &TMP446),
((NimStringDesc*) &TMP447),
((NimStringDesc*) &TMP448),
((NimStringDesc*) &TMP449),
((NimStringDesc*) &TMP450),
((NimStringDesc*) &TMP451),
((NimStringDesc*) &TMP452),
((NimStringDesc*) &TMP453),
((NimStringDesc*) &TMP454),
((NimStringDesc*) &TMP455),
((NimStringDesc*) &TMP456),
((NimStringDesc*) &TMP457),
((NimStringDesc*) &TMP458),
((NimStringDesc*) &TMP459),
((NimStringDesc*) &TMP460),
((NimStringDesc*) &TMP461),
((NimStringDesc*) &TMP462),
((NimStringDesc*) &TMP463),
((NimStringDesc*) &TMP464),
((NimStringDesc*) &TMP465),
((NimStringDesc*) &TMP466),
((NimStringDesc*) &TMP467),
((NimStringDesc*) &TMP468),
((NimStringDesc*) &TMP469),
((NimStringDesc*) &TMP470)}
;
STRING_LITERAL(TMP471, "Hint: ", 6);
STRING_LITERAL(TMP472, "Success", 7);
STRING_LITERAL(TMP473, "SuccessX", 8);
STRING_LITERAL(TMP474, "LineTooLong", 11);
STRING_LITERAL(TMP475, "XDeclaredButNotUsed", 19);
STRING_LITERAL(TMP476, "ConvToBaseNotNeeded", 19);
STRING_LITERAL(TMP477, "ConvFromXtoItselfNotNeeded", 26);
STRING_LITERAL(TMP478, "ExprAlwaysX", 11);
STRING_LITERAL(TMP479, "QuitCalled", 10);
STRING_LITERAL(TMP480, "Processing", 10);
STRING_LITERAL(TMP481, "CodeBegin", 9);
STRING_LITERAL(TMP482, "CodeEnd", 7);
STRING_LITERAL(TMP483, "Conf", 4);
STRING_LITERAL(TMP484, "Path", 4);
STRING_LITERAL(TMP485, "CondTrue", 8);
STRING_LITERAL(TMP486, "Name", 4);
STRING_LITERAL(TMP487, "Pattern", 7);
STRING_LITERAL(TMP488, "Exec", 4);
STRING_LITERAL(TMP489, "Link", 4);
STRING_LITERAL(TMP490, "Dependency", 10);
STRING_LITERAL(TMP491, "Source", 6);
STRING_LITERAL(TMP492, "StackTrace", 10);
STRING_LITERAL(TMP493, "GCStats", 7);
NIM_CONST TY192307 Hintstostr_192305 = {((NimStringDesc*) &TMP472),
((NimStringDesc*) &TMP473),
((NimStringDesc*) &TMP474),
((NimStringDesc*) &TMP475),
((NimStringDesc*) &TMP476),
((NimStringDesc*) &TMP477),
((NimStringDesc*) &TMP478),
((NimStringDesc*) &TMP479),
((NimStringDesc*) &TMP480),
((NimStringDesc*) &TMP481),
((NimStringDesc*) &TMP482),
((NimStringDesc*) &TMP483),
((NimStringDesc*) &TMP484),
((NimStringDesc*) &TMP485),
((NimStringDesc*) &TMP486),
((NimStringDesc*) &TMP487),
((NimStringDesc*) &TMP488),
((NimStringDesc*) &TMP489),
((NimStringDesc*) &TMP490),
((NimStringDesc*) &TMP491),
((NimStringDesc*) &TMP492),
((NimStringDesc*) &TMP493),
((NimStringDesc*) &TMP470)}
;
STRING_LITERAL(TMP494, " [$1]", 5);
STRING_LITERAL(TMP502, "nimsuggest.log", 14);
STRING_LITERAL(TMP503, "No stack traceback available\012To create a stacktrace, rerun comp"
"ilation with ./koch temp ", 88);
STRING_LITERAL(TMP504, " <file>", 7);
STRING_LITERAL(TMP507, "ropes: invalid format string: ", 30);
STRING_LITERAL(TMP1064, "  ", 2);
STRING_LITERAL(TMP1078, "compiler/msgs.nim", 17);
NIM_CONST TY204019 TMP1077 = {((NimStringDesc*) &TMP1078),
((NI) 1020)}
;
STRING_LITERAL(TMP1973, "Warnings:", 9);
STRING_LITERAL(TMP1974, "  [$1] $2", 9);
STRING_LITERAL(TMP1975, "x", 1);
STRING_LITERAL(TMP1976, " ", 1);
STRING_LITERAL(TMP2034, "Hints:", 6);
NIM_CONST TY192361 Notesverbosity_192359 = {IL64(9060521224962047),
IL64(9558054531497983),
IL64(15762598695796735),
IL64(18014398509481983)}
;
STRING_LITERAL(TMP2870, "suggest done", 12);
STRING_LITERAL(TMP3347, "(", 1);
STRING_LITERAL(TMP3348, ",", 1);
STRING_LITERAL(TMP3349, ")", 1);
NIM_CONST TY204019 TMP4086 = {((NimStringDesc*) &TMP1078),
((NI) 1027)}
;
NU64 Foreignpackagenotes_192420;
Table192430 filenametoindextbl_192611;
extern TNimType NTI192430; /* Table */
TY192612* fileinfos_192629;
TNimType NTI192334; /* TFileInfo */
extern TNimType NTI138; /* string */
extern TNimType NTI179004; /* Rope */
TNimType NTI192350; /* seq[Rope] */
TNimType NTI192612; /* seq[TFileInfo] */
extern Gcheap49818 gch_49855;
NI32 systemfileidx_192630;
extern NimStringDesc* tnl_177625;
extern NU64 gglobaloptions_170127;
Tlineinfo192336 gcmdlineinfo_193036;
Tlineinfo192336 gcodegenlineinfo_193047;
NU64 gnotes_193068;
NI gerrorcounter_193069;
NI ghintcounter_193070;
NI gwarncounter_193071;
NI gerrormax_193072;
NU64 gmainpackagenotes_193073;
TY193083* msgcontext_193100;
TNimType NTI192336; /* TLineInfo */
extern TNimType NTI108; /* int16 */
extern TNimType NTI110; /* int32 */
TNimType NTI193083; /* seq[TLineInfo] */
Tlineinfo192336 lasterror_193101;
NU8 erroroutputs_193103;
TY193104 writelnhook_193107;
Tlineinfo192336 gtrackpos_193441;
extern TY179017 errorhandler_179022;
extern NU8 gcmd_170129;
extern NIM_BOOL glistfullpaths_170141;
extern NU32 goptions_170125;
extern NimStringDesc* command_170212;
extern NI8 gexitcode_170128;
extern TNimType NTI3646; /* ValueError */
TNimType NTI192342; /* ERecoverableError */
TNimType NTI193055; /* ref ERecoverableError */
extern TSafePoint* exchandler_18837;
extern TNimType NTI3628; /* IOError */
extern Exception* currexception_18839;
TNimType NTI192002; /* TMsgKind */
TNimType NTI192330; /* TNoteKind */
TNimType NTI192332; /* TNoteKinds */
extern TNimType NTI3624; /* Exception */
TNimType NTI192344; /* ESuggestDone */
TNimType NTI193154; /* ref ESuggestDone */
N_NIMCALL(void, TMP147)(void* p, NI op) {
	TY192350* a;
	NI LOC1;
	a = (TY192350*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1], op);
	}
}
N_NIMCALL(void, TMP148)(void* p, NI op) {
	TY192612* a;
	NI LOC1;
	a = (TY192612*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	nimGCvisit((void*)a->data[LOC1].fullpath, op);
	nimGCvisit((void*)a->data[LOC1].projpath, op);
	nimGCvisit((void*)a->data[LOC1].shortname, op);
	nimGCvisit((void*)a->data[LOC1].quotedname, op);
	nimGCvisit((void*)a->data[LOC1].quotedfullname, op);
	nimGCvisit((void*)a->data[LOC1].lines, op);
	nimGCvisit((void*)a->data[LOC1].dirtyfile, op);
	}
}

static N_INLINE(Cell47305*, usrtocell_51440)(void* usr) {
	Cell47305* result;
	result = 0;
	result = ((Cell47305*) ((NI)((NU64)(((NI) (usr))) - (NU64)(((NI)sizeof(Cell47305))))));
	return result;
}

static N_INLINE(void, rtladdzct_52601)(Cell47305* c) {
	addzct_51417((&gch_49855.zct), c);
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	Cell47305* c;
	c = usrtocell_51440(p);
	{
		(*c).refcount -= ((NI) 8);
		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3;
		rtladdzct_52601(c);
	}
	LA3: ;
}

static N_INLINE(void, copymem_7478)(void* dest, void* source, NI size) {
	void* LOC1;
	LOC1 = 0;
	LOC1 = memcpy(dest, source, ((size_t) (size)));
}

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

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

N_NIMCALL(NimStringDesc*, tocchar_192634)(NIM_CHAR c) {
	NimStringDesc* result;
	result = 0;
	switch (((NU8)(c))) {
	case 0 ... 31:
	case 128 ... 255:
	{
		NimStringDesc* LOC2;
		NimStringDesc* LOC3;
		LOC2 = 0;
		LOC3 = 0;
		LOC3 = nsuToOctal(c);
		LOC2 = rawNewString(LOC3->Sup.len + 1);
appendChar(LOC2, 92);
appendString(LOC2, LOC3);
		result = LOC2;
	}
	break;
	case 39:
	case 34:
	case 92:
	{
		NimStringDesc* LOC5;
		LOC5 = 0;
		LOC5 = rawNewString(2);
appendChar(LOC5, 92);
appendChar(LOC5, c);
		result = LOC5;
	}
	break;
	default:
	{
		result = nimCharToStr(c);
	}
	break;
	}
	return result;
}

N_NIMCALL(Ropeobj179006*, makecstring_192638)(NimStringDesc* s) {
	Ropeobj179006* result;
	NimStringDesc* res;
	Ropeobj179006* LOC9;
	result = 0;
	result = NIM_NIL;
	res = rawNewString(((NI) ((NI)(((NI) (((NF)(((double) ((s ? s->Sup.len : 0)))) * (NF)(1.1000000000000001e+00)))) + ((NI) 1)))));
	res = resizeString(res, 1);
appendString(res, ((NimStringDesc*) &TMP151));
	{
		NI i_192655;
		NI HEX3Atmp_192660;
		NI res_192663;
		i_192655 = 0;
		HEX3Atmp_192660 = 0;
		HEX3Atmp_192660 = (NI)((s ? s->Sup.len : 0) - ((NI) 1));
		res_192663 = ((NI) 0);
		{
			while (1) {
				NimStringDesc* LOC8;
				if (!(res_192663 <= HEX3Atmp_192660)) goto LA3;
				i_192655 = res_192663;
				{
					if (!(((NI) ((NI)((NI)(i_192655 + ((NI) 1)) % ((NI) 64)))) == ((NI) 0))) goto LA6;
					res = addChar(res, 34);
					res = resizeString(res, tnl_177625->Sup.len + 0);
appendString(res, tnl_177625);
					res = addChar(res, 34);
				}
				LA6: ;
				LOC8 = 0;
				LOC8 = tocchar_192634(s->data[i_192655]);
				res = resizeString(res, LOC8->Sup.len + 0);
appendString(res, LOC8);
				res_192663 += ((NI) 1);
			} LA3: ;
		}
	}
	res = addChar(res, 34);
	LOC9 = 0;
	LOC9 = rope_179277(res);
	add_179482(&result, LOC9);
	return result;
}

N_NIMCALL(void, newfileinfo_192667)(NimStringDesc* fullpath, NimStringDesc* projpath, Tfileinfo192334* Result) {
	NimStringDesc* filename;
	unsureAsgnRef((void**) (&(*Result).fullpath), copyString(fullpath));
	unsureAsgnRef((void**) (&(*Result).projpath), copyString(projpath));
	filename = nosextractFilename(projpath);
	unsureAsgnRef((void**) (&(*Result).shortname), noschangeFileExt(filename, ((NimStringDesc*) &TMP150)));
	unsureAsgnRef((void**) (&(*Result).quotedname), makecstring_192638(filename));
	unsureAsgnRef((void**) (&(*Result).quotedfullname), makecstring_192638(fullpath));
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = ((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 28))&63U)))!=0);
		if (LOC3) goto LA4;
		LOC3 = NIM_TRUE;
		LA4: ;
		if (!LOC3) goto LA5;
		unsureAsgnRef((void**) (&(*Result).lines), (TY192350*) newSeq((&NTI192350), 0));
	}
	LA5: ;
}

N_NIMCALL(Tlineinfo192336, newlineinfo_193014)(NI32 fileinfoidx, NI line, NI col) {
	Tlineinfo192336 result;
	memset((void*)(&result), 0, sizeof(result));
	result.fileindex = fileinfoidx;
	result.line = ((NI16) (line));
	result.col = ((NI16) (col));
	return result;
}
N_NIMCALL(void, TMP155)(void* p, NI op) {
	TY193083* a;
	NI LOC1;
	a = (TY193083*)p;
	LOC1 = 0;
	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
	}
}

N_NIMCALL(Tlineinfo192336, unknownlineinfo_193080)(void) {
	Tlineinfo192336 result;
	memset((void*)(&result), 0, sizeof(result));
	result.line = ((NI16) -1);
	result.col = ((NI16) -1);
	result.fileindex = ((NI32) -1);
	return result;
}

N_NIMCALL(NIM_BOOL, HEX3DHEX3D_194109)(Tlineinfo192336 a, Tlineinfo192336 b) {
	NIM_BOOL result;
	NIM_BOOL LOC1;
	result = 0;
	LOC1 = 0;
	LOC1 = (a.line == b.line);
	if (!(LOC1)) goto LA2;
	LOC1 = (a.fileindex == b.fileindex);
	LA2: ;
	result = LOC1;
	return result;
}

N_NIMCALL(NimStringDesc*, tomsgfilename_193411)(Tlineinfo192336 info) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(info.fileindex < ((NI32) 0))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP158));
	}
	goto LA1;
	LA3: ;
	{
		if (!glistfullpaths_170141) goto LA6;
		result = copyString(fileinfos_192629->data[info.fileindex].fullpath);
	}
	goto LA1;
	LA6: ;
	{
		result = copyString(fileinfos_192629->data[info.fileindex].projpath);
	}
	LA1: ;
	return result;
}

N_NIMCALL(NimStringDesc*, coordtostr_193719)(NI coord) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(coord == ((NI) -1))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP158));
	}
	goto LA1;
	LA3: ;
	{
		result = nimIntToStr(coord);
	}
	LA1: ;
	return result;
}

N_NIMCALL(NimStringDesc*, msgkindtostring_193723)(NU16 kind) {
	NimStringDesc* result;
	result = 0;
	result = copyString(Msgkindtostr_192294[(kind)- 0]);
	return result;
}

N_NIMCALL(NimStringDesc*, getmessagestr_193727)(NU16 msg, NimStringDesc* arg) {
	NimStringDesc* result;
	NimStringDesc* LOC1;
	TY193732 LOC2;
	result = 0;
	LOC1 = 0;
	LOC1 = msgkindtostring_193723(msg);
	memset((void*)LOC2, 0, sizeof(LOC2));
	LOC2[0] = copyString(arg);
	result = nsuFormatOpenArray(LOC1, LOC2, 1);
	return result;
}

static N_INLINE(void, writeline_171405)(FILE* f, NimStringDesc** x, NI xLen0) {
	{
		NimStringDesc* i_171420;
		NI i_171428;
		i_171420 = 0;
		i_171428 = ((NI) 0);
		{
			while (1) {
				if (!(i_171428 < xLen0)) goto LA3;
				i_171420 = x[i_171428];
				write_14891(f, i_171420);
				i_171428 += ((NI) 1);
			} LA3: ;
		}
	}
	write_14891(f, ((NimStringDesc*) &TMP435));
}

N_NIMCALL(void, writecontext_194114)(Tlineinfo192336 lastinfo) {
	Tlineinfo192336 info;
	info = lastinfo;
	{
		NI i_194137;
		NI HEX3Atmp_194606;
		NI res_194609;
		i_194137 = 0;
		HEX3Atmp_194606 = 0;
		HEX3Atmp_194606 = (NI)((msgcontext_193100 ? msgcontext_193100->Sup.len : 0) - ((NI) 1));
		res_194609 = ((NI) 0);
		{
			while (1) {
				if (!(res_194609 <= HEX3Atmp_194606)) goto LA3;
				i_194137 = res_194609;
				{
					NIM_BOOL LOC6;
					NIM_BOOL LOC7;
					NIM_BOOL LOC9;
					LOC6 = 0;
					LOC7 = 0;
					LOC7 = HEX3DHEX3D_194109(msgcontext_193100->data[i_194137], lastinfo);
					LOC6 = !(LOC7);
					if (!(LOC6)) goto LA8;
					LOC9 = 0;
					LOC9 = HEX3DHEX3D_194109(msgcontext_193100->data[i_194137], info);
					LOC6 = !(LOC9);
					LA8: ;
					if (!LOC6) goto LA10;
					{
						NimStringDesc* s_194156;
						if (!!(writelnhook_193107.ClPrc == 0)) goto LA14;
						s_194156 = copyString(((NimStringDesc*) &TMP150));
						{
							NimStringDesc* arg_194158;
							NI i_194605;
							arg_194158 = 0;
							i_194605 = ((NI) 0);
							{
								while (1) {
									TY194153 LOC19;
									TY194140 LOC20;
									if (!(i_194605 < ((NI) 2))) goto LA18;
									memset((void*)LOC19, 0, sizeof(LOC19));
									memset((void*)LOC20, 0, sizeof(LOC20));
									LOC20[0] = tomsgfilename_193411(msgcontext_193100->data[i_194137]);
									LOC20[1] = coordtostr_193719(((NI) (msgcontext_193100->data[i_194137].line)));
									LOC20[2] = coordtostr_193719(((NI) ((NI16)(msgcontext_193100->data[i_194137].col + ((NI16) 1)))));
									LOC19[0] = nsuFormatOpenArray(((NimStringDesc*) &TMP157), LOC20, 3);
									LOC19[1] = getmessagestr_193727(((NU16) 189), ((NimStringDesc*) &TMP150));
									arg_194158 = LOC19[(i_194605)- 0];
									s_194156 = resizeString(s_194156, arg_194158->Sup.len + 0);
appendString(s_194156, arg_194158);
									i_194605 += ((NI) 1);
								} LA18: ;
							}
						}
						writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s_194156, writelnhook_193107.ClEnv):((TMP432)(writelnhook_193107.ClPrc))(s_194156);
					}
					goto LA12;
					LA14: ;
					{
						if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 23))&63U)))!=0)) goto LA22;
						{
							TY194153 LOC28;
							TY194140 LOC29;
							if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA26;
							memset((void*)LOC28, 0, sizeof(LOC28));
							memset((void*)LOC29, 0, sizeof(LOC29));
							LOC29[0] = tomsgfilename_193411(msgcontext_193100->data[i_194137]);
							LOC29[1] = coordtostr_193719(((NI) (msgcontext_193100->data[i_194137].line)));
							LOC29[2] = coordtostr_193719(((NI) ((NI16)(msgcontext_193100->data[i_194137].col + ((NI16) 1)))));
							LOC28[0] = nsuFormatOpenArray(((NimStringDesc*) &TMP157), LOC29, 3);
							LOC28[1] = getmessagestr_193727(((NU16) 189), ((NimStringDesc*) &TMP150));
							writeline_171405(stdout, LOC28, 2);
							flushfile_14862(stdout);
						}
						LA26: ;
					}
					goto LA12;
					LA22: ;
					{
						{
							if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA33;
							{
								TY194140 LOC39;
								NimStringDesc* LOC40;
								NimStringDesc* LOC41;
								if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 21))&63U)))!=0)) goto LA37;
								setstyle_189601(stderr, 1);
								memset((void*)LOC39, 0, sizeof(LOC39));
								LOC39[0] = tomsgfilename_193411(msgcontext_193100->data[i_194137]);
								LOC39[1] = coordtostr_193719(((NI) (msgcontext_193100->data[i_194137].line)));
								LOC39[2] = coordtostr_193719(((NI) ((NI16)(msgcontext_193100->data[i_194137].col + ((NI16) 1)))));
								LOC40 = 0;
								LOC40 = nsuFormatOpenArray(((NimStringDesc*) &TMP157), LOC39, 3);
								write_14891(stderr, LOC40);
								resetattributes_189203(stderr);
								LOC41 = 0;
								LOC41 = getmessagestr_193727(((NU16) 189), ((NimStringDesc*) &TMP150));
								write_14891(stderr, LOC41);
								write_14891(stderr, ((NimStringDesc*) &TMP435));
								resetattributes_189203(stderr);
							}
							goto LA35;
							LA37: ;
							{
								TY194153 LOC43;
								TY194140 LOC44;
								memset((void*)LOC43, 0, sizeof(LOC43));
								memset((void*)LOC44, 0, sizeof(LOC44));
								LOC44[0] = tomsgfilename_193411(msgcontext_193100->data[i_194137]);
								LOC44[1] = coordtostr_193719(((NI) (msgcontext_193100->data[i_194137].line)));
								LOC44[2] = coordtostr_193719(((NI) ((NI16)(msgcontext_193100->data[i_194137].col + ((NI16) 1)))));
								LOC43[0] = nsuFormatOpenArray(((NimStringDesc*) &TMP157), LOC44, 3);
								LOC43[1] = getmessagestr_193727(((NU16) 189), ((NimStringDesc*) &TMP150));
								writeline_171405(stderr, LOC43, 2);
							}
							LA35: ;
						}
						LA33: ;
					}
					LA12: ;
				}
				LA10: ;
				info = msgcontext_193100->data[i_194137];
				res_194609 += ((NI) 1);
			} LA3: ;
		}
	}
}

N_NIMCALL(NIM_BOOL, ignoremsgbecauseofidetools_194613)(NU16 msg) {
	NIM_BOOL result;
	NIM_BOOL LOC1;
	NIM_BOOL LOC2;
	result = 0;
	LOC1 = 0;
	LOC2 = 0;
	LOC2 = (((NU16) 4) <= msg);
	if (!(LOC2)) goto LA3;
	LOC2 = (gcmd_170129 == ((NU8) 15));
	LA3: ;
	LOC1 = LOC2;
	if (!(LOC1)) goto LA4;
	LOC1 = !(((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 29))&63U)))!=0));
	LA4: ;
	result = LOC1;
	return result;
}

N_NIMCALL(void, log_194005)(NimStringDesc* s) {
	FILE* f;
	f = 0;
	{
		NIM_BOOL LOC3;
		TY193732 LOC6;
		LOC3 = 0;
		LOC3 = open_14803(&f, ((NimStringDesc*) &TMP502), ((NU8) 4), ((NI) -1));
		if (!LOC3) goto LA4;
		memset((void*)LOC6, 0, sizeof(LOC6));
		LOC6[0] = copyString(s);
		writeline_171405(f, LOC6, 1);
		close_14853(f);
	}
	LA4: ;
}

N_NIMCALL(void, quit_193739)(NU16 msg) {
	{
		NIM_BOOL LOC3;
		NIM_BOOL LOC4;
		LOC3 = 0;
		LOC4 = 0;
		LOC4 = NIM_FALSE;
		if (LOC4) goto LA5;
		LOC4 = (msg == ((NU16) 2));
		LA5: ;
		LOC3 = LOC4;
		if (LOC3) goto LA6;
		LOC3 = ((gnotes_193068 &((NU64)1<<((NU)((((NU16) 288)- 237))&63U)))!=0);
		LA6: ;
		if (!LOC3) goto LA7;
		{
			NIM_BOOL LOC11;
			LOC11 = 0;
			LOC11 = stacktraceavailable_19672();
			if (!(LOC11)) goto LA12;
			LOC11 = writelnhook_193107.ClPrc == 0;
			LA12: ;
			if (!LOC11) goto LA13;
			writestacktrace_18207();
		}
		goto LA9;
		LA13: ;
		{
			{
				NimStringDesc* s_193783;
				if (!!(writelnhook_193107.ClPrc == 0)) goto LA18;
				s_193783 = copyString(((NimStringDesc*) &TMP150));
				{
					NimStringDesc* arg_193785;
					NI i_194004;
					arg_193785 = 0;
					i_194004 = ((NI) 0);
					{
						while (1) {
							TY193732 LOC23;
							NimStringDesc* LOC24;
							if (!(i_194004 < ((NI) 1))) goto LA22;
							memset((void*)LOC23, 0, sizeof(LOC23));
							LOC24 = 0;
							LOC24 = rawNewString(command_170212->Sup.len + 95);
appendString(LOC24, ((NimStringDesc*) &TMP503));
appendString(LOC24, command_170212);
appendString(LOC24, ((NimStringDesc*) &TMP504));
							LOC23[0] = LOC24;
							arg_193785 = LOC23[(i_194004)- 0];
							s_193783 = resizeString(s_193783, arg_193785->Sup.len + 0);
appendString(s_193783, arg_193785);
							i_194004 += ((NI) 1);
						} LA22: ;
					}
				}
				writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s_193783, writelnhook_193107.ClEnv):((TMP505)(writelnhook_193107.ClPrc))(s_193783);
			}
			goto LA16;
			LA18: ;
			{
				if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 23))&63U)))!=0)) goto LA26;
				{
					TY193732 LOC32;
					NimStringDesc* LOC33;
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA30;
					memset((void*)LOC32, 0, sizeof(LOC32));
					LOC33 = 0;
					LOC33 = rawNewString(command_170212->Sup.len + 95);
appendString(LOC33, ((NimStringDesc*) &TMP503));
appendString(LOC33, command_170212);
appendString(LOC33, ((NimStringDesc*) &TMP504));
					LOC32[0] = LOC33;
					writeline_171405(stdout, LOC32, 1);
					flushfile_14862(stdout);
				}
				LA30: ;
			}
			goto LA16;
			LA26: ;
			{
				{
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA37;
					{
						NimStringDesc* LOC43;
						if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 21))&63U)))!=0)) goto LA41;
						setforegroundcolor_190045(stderr, ((NU8) 31), NIM_FALSE);
						LOC43 = 0;
						LOC43 = rawNewString(command_170212->Sup.len + 95);
appendString(LOC43, ((NimStringDesc*) &TMP503));
appendString(LOC43, command_170212);
appendString(LOC43, ((NimStringDesc*) &TMP504));
						write_14891(stderr, LOC43);
						write_14891(stderr, ((NimStringDesc*) &TMP435));
						resetattributes_189203(stderr);
					}
					goto LA39;
					LA41: ;
					{
						TY193732 LOC45;
						NimStringDesc* LOC46;
						memset((void*)LOC45, 0, sizeof(LOC45));
						LOC46 = 0;
						LOC46 = rawNewString(command_170212->Sup.len + 95);
appendString(LOC46, ((NimStringDesc*) &TMP503));
appendString(LOC46, command_170212);
appendString(LOC46, ((NimStringDesc*) &TMP504));
						LOC45[0] = LOC46;
						writeline_171405(stderr, LOC45, 1);
					}
					LA39: ;
				}
				LA37: ;
			}
			LA16: ;
		}
		LA9: ;
	}
	LA7: ;
	exit(((NI) 1));
}
N_NIMCALL(void, TMP506)(void* p, NI op) {
	Erecoverableerror192342* a;
	a = (Erecoverableerror192342*)p;
	nimGCvisit((void*)(*a).Sup.Sup.parent, op);
	nimGCvisit((void*)(*a).Sup.Sup.message, op);
	nimGCvisit((void*)(*a).Sup.Sup.trace, op);
}

N_NOINLINE(void, raiserecoverableerror_193048)(NimStringDesc* msg) {
	Erecoverableerror192342* e_193054;
	NimStringDesc* LOC1;
	e_193054 = 0;
	e_193054 = (Erecoverableerror192342*) newObj((&NTI193055), sizeof(Erecoverableerror192342));
	(*e_193054).Sup.Sup.Sup.m_type = (&NTI192342);
	LOC1 = 0;
	LOC1 = (*e_193054).Sup.Sup.message; (*e_193054).Sup.Sup.message = copyStringRC1(msg);
	if (LOC1) nimGCunrefNoCycle(LOC1);
	raiseException((Exception*)e_193054, "ERecoverableError");
}

N_NIMCALL(void, handleerror_194023)(NU16 msg, NU8 eh, NimStringDesc* s) {
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = (((NU16) 0) <= msg);
		if (!(LOC3)) goto LA4;
		LOC3 = (msg <= ((NU16) 2));
		LA4: ;
		if (!LOC3) goto LA5;
		{
			if (!(gcmd_170129 == ((NU8) 15))) goto LA9;
			log_194005(s);
		}
		LA9: ;
		quit_193739(msg);
	}
	LA5: ;
	{
		NIM_BOOL LOC13;
		LOC13 = 0;
		LOC13 = (((NU16) 0) <= msg);
		if (!(LOC13)) goto LA14;
		LOC13 = (msg <= ((NU16) 236));
		LA14: ;
		if (!LOC13) goto LA15;
		gerrorcounter_193069 += ((NI) 1);
		gexitcode_170128 = ((NI8) 1);
		{
			if (!(gerrormax_193072 <= gerrorcounter_193069)) goto LA19;
			quit_193739(msg);
		}
		goto LA17;
		LA19: ;
		{
			NIM_BOOL LOC22;
			LOC22 = 0;
			LOC22 = (eh == ((NU8) 1));
			if (!(LOC22)) goto LA23;
			LOC22 = !((gcmd_170129 == ((NU8) 15)));
			LA23: ;
			if (!LOC22) goto LA24;
			quit_193739(msg);
		}
		goto LA17;
		LA24: ;
		{
			if (!(eh == ((NU8) 2))) goto LA27;
			raiserecoverableerror_193048(s);
		}
		goto LA17;
		LA27: ;
		LA17: ;
	}
	LA15: ;
}

N_NIMCALL(void, rawmessage_194645)(NU16 msg, NimStringDesc** args, NI argsLen0) {
	NimStringDesc* title;
	NU8 color;
	NimStringDesc* kind;
	NimStringDesc* s_194747;
	NimStringDesc* LOC22;
{	title = 0;
	color = 0;
	kind = 0;
	switch (msg) {
	case ((NU16) 0) ... ((NU16) 236):
	{
		Tlineinfo192336 LOC2;
		LOC2 = unknownlineinfo_193080();
		writecontext_194114(LOC2);
		title = copyString(((NimStringDesc*) &TMP438));
		color = ((NU8) 31);
	}
	break;
	case ((NU16) 237) ... ((NU16) 267):
	{
		Tlineinfo192336 LOC12;
		{
			if (!!(((goptions_170125 &(1U<<((NU)(((NU8) 11))&31U)))!=0))) goto LA6;
			goto BeforeRet;
		}
		LA6: ;
		{
			if (!!(((gnotes_193068 &((NU64)1<<((NU)((((NU16) (msg))- 237))&63U)))!=0))) goto LA10;
			goto BeforeRet;
		}
		LA10: ;
		LOC12 = unknownlineinfo_193080();
		writecontext_194114(LOC12);
		title = copyString(((NimStringDesc*) &TMP439));
		color = ((NU8) 33);
		kind = copyString(Warningstostr_192300[((NI)(((NI) (msg)) - ((NI) 237)))- 0]);
		gwarncounter_193071 += ((NI) 1);
	}
	break;
	case ((NU16) 268) ... ((NU16) 290):
	{
		{
			if (!!(((goptions_170125 &(1U<<((NU)(((NU8) 12))&31U)))!=0))) goto LA16;
			goto BeforeRet;
		}
		LA16: ;
		{
			if (!!(((gnotes_193068 &((NU64)1<<((NU)((((NU16) (msg))- 237))&63U)))!=0))) goto LA20;
			goto BeforeRet;
		}
		LA20: ;
		title = copyString(((NimStringDesc*) &TMP471));
		color = ((NU8) 32);
		kind = copyString(Hintstostr_192305[((NI)(((NI) (msg)) - ((NI) 268)))- 0]);
		ghintcounter_193070 += ((NI) 1);
	}
	break;
	}
	LOC22 = 0;
	LOC22 = msgkindtostring_193723(msg);
	s_194747 = nsuFormatOpenArray(LOC22, args, argsLen0);
	{
		NIM_BOOL LOC25;
		LOC25 = 0;
		LOC25 = ignoremsgbecauseofidetools_194613(msg);
		if (!!(LOC25)) goto LA26;
		{
			if (!!((kind == NIM_NIL))) goto LA30;
			{
				NimStringDesc* s_194765;
				if (!!(writelnhook_193107.ClPrc == 0)) goto LA34;
				s_194765 = copyString(((NimStringDesc*) &TMP150));
				{
					NimStringDesc* arg_194767;
					NI i_195607;
					arg_194767 = 0;
					i_195607 = ((NI) 0);
					{
						while (1) {
							TY194140 LOC39;
							if (!(i_195607 < ((NI) 3))) goto LA38;
							memset((void*)LOC39, 0, sizeof(LOC39));
							LOC39[0] = copyString(title);
							LOC39[1] = copyString(s_194747);
							LOC39[2] = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
							arg_194767 = LOC39[(i_195607)- 0];
							s_194765 = resizeString(s_194765, arg_194767->Sup.len + 0);
appendString(s_194765, arg_194767);
							i_195607 += ((NI) 1);
						} LA38: ;
					}
				}
				writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s_194765, writelnhook_193107.ClEnv):((TMP495)(writelnhook_193107.ClPrc))(s_194765);
			}
			goto LA32;
			LA34: ;
			{
				if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 23))&63U)))!=0)) goto LA41;
				{
					TY194140 LOC47;
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA45;
					memset((void*)LOC47, 0, sizeof(LOC47));
					LOC47[0] = copyString(title);
					LOC47[1] = copyString(s_194747);
					LOC47[2] = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
					writeline_171405(stdout, LOC47, 3);
					flushfile_14862(stdout);
				}
				LA45: ;
			}
			goto LA32;
			LA41: ;
			{
				{
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA51;
					{
						NimStringDesc* LOC57;
						if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 21))&63U)))!=0)) goto LA55;
						setforegroundcolor_190045(stderr, color, NIM_FALSE);
						write_14891(stderr, title);
						resetattributes_189203(stderr);
						write_14891(stderr, s_194747);
						setforegroundcolor_190045(stderr, ((NU8) 36), NIM_FALSE);
						LOC57 = 0;
						LOC57 = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
						write_14891(stderr, LOC57);
						write_14891(stderr, ((NimStringDesc*) &TMP435));
						resetattributes_189203(stderr);
					}
					goto LA53;
					LA55: ;
					{
						TY194140 LOC59;
						memset((void*)LOC59, 0, sizeof(LOC59));
						LOC59[0] = copyString(title);
						LOC59[1] = copyString(s_194747);
						LOC59[2] = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
						writeline_171405(stderr, LOC59, 3);
					}
					LA53: ;
				}
				LA51: ;
			}
			LA32: ;
		}
		goto LA28;
		LA30: ;
		{
			{
				NimStringDesc* s_195217;
				if (!!(writelnhook_193107.ClPrc == 0)) goto LA63;
				s_195217 = copyString(((NimStringDesc*) &TMP150));
				{
					NimStringDesc* arg_195219;
					NI i_195611;
					arg_195219 = 0;
					i_195611 = ((NI) 0);
					{
						while (1) {
							TY194153 LOC68;
							if (!(i_195611 < ((NI) 2))) goto LA67;
							memset((void*)LOC68, 0, sizeof(LOC68));
							LOC68[0] = copyString(title);
							LOC68[1] = copyString(s_194747);
							arg_195219 = LOC68[(i_195611)- 0];
							s_195217 = resizeString(s_195217, arg_195219->Sup.len + 0);
appendString(s_195217, arg_195219);
							i_195611 += ((NI) 1);
						} LA67: ;
					}
				}
				writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s_195217, writelnhook_193107.ClEnv):((TMP496)(writelnhook_193107.ClPrc))(s_195217);
			}
			goto LA61;
			LA63: ;
			{
				if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 23))&63U)))!=0)) goto LA70;
				{
					TY194153 LOC76;
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA74;
					memset((void*)LOC76, 0, sizeof(LOC76));
					LOC76[0] = copyString(title);
					LOC76[1] = copyString(s_194747);
					writeline_171405(stdout, LOC76, 2);
					flushfile_14862(stdout);
				}
				LA74: ;
			}
			goto LA61;
			LA70: ;
			{
				{
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA80;
					{
						if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 21))&63U)))!=0)) goto LA84;
						setforegroundcolor_190045(stderr, color, NIM_FALSE);
						write_14891(stderr, title);
						resetattributes_189203(stderr);
						write_14891(stderr, s_194747);
						write_14891(stderr, ((NimStringDesc*) &TMP435));
						resetattributes_189203(stderr);
					}
					goto LA82;
					LA84: ;
					{
						TY194153 LOC87;
						memset((void*)LOC87, 0, sizeof(LOC87));
						LOC87[0] = copyString(title);
						LOC87[1] = copyString(s_194747);
						writeline_171405(stderr, LOC87, 2);
					}
					LA82: ;
				}
				LA80: ;
			}
			LA61: ;
		}
		LA28: ;
	}
	LA26: ;
	handleerror_194023(msg, ((NU8) 1), s_194747);
	}BeforeRet: ;
}

N_NIMCALL(void, rawmessage_195612)(NU16 msg, NimStringDesc* arg) {
	TY193732 LOC1;
	memset((void*)LOC1, 0, sizeof(LOC1));
	LOC1[0] = copyString(arg);
	rawmessage_194645(msg, LOC1, 1);
}

N_NIMCALL(void, internalerror_197113)(NimStringDesc* errmsg) {
	Tlineinfo192336 LOC5;
{	{
		if (!(gcmd_170129 == ((NU8) 15))) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	LOC5 = unknownlineinfo_193080();
	writecontext_194114(LOC5);
	rawmessage_195612(((NU16) 2), errmsg);
	}BeforeRet: ;
}

N_NIMCALL(void, HEX3Aanonymous_197839)(NU8 err, NimStringDesc* msg, NIM_BOOL usewarning) {
	switch (err) {
	case ((NU8) 1):
	{
		NimStringDesc* LOC2;
		LOC2 = 0;
		LOC2 = rawNewString(msg->Sup.len + 30);
appendString(LOC2, ((NimStringDesc*) &TMP507));
appendString(LOC2, msg);
		internalerror_197113(LOC2);
	}
	break;
	case ((NU8) 0):
	{
		NU16 LOC4;
		LOC4 = 0;
		{
			if (!usewarning) goto LA7;
			LOC4 = ((NU16) 237);
		}
		goto LA5;
		LA7: ;
		{
			LOC4 = ((NU16) 3);
		}
		LA5: ;
		rawmessage_195612(LOC4, msg);
	}
	break;
	}
}

static N_INLINE(void, incref_53419)(Cell47305* c) {
	(*c).refcount = (NI)((NU64)((*c).refcount) + (NU64)(((NI) 8)));
}

static N_INLINE(void, decref_53001)(Cell47305* c) {
	{
		(*c).refcount -= ((NI) 8);
		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3;
		rtladdzct_52601(c);
	}
	LA3: ;
}

static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		Cell47305* LOC5;
		if (!!((src == NIM_NIL))) goto LA3;
		LOC5 = 0;
		LOC5 = usrtocell_51440(src);
		incref_53419(LOC5);
	}
	LA3: ;
	{
		Cell47305* LOC10;
		if (!!(((*dest) == NIM_NIL))) goto LA8;
		LOC10 = 0;
		LOC10 = usrtocell_51440((*dest));
		decref_53001(LOC10);
	}
	LA8: ;
	(*dest) = src;
}

static N_INLINE(NIM_BOOL, contains_197018)(Slice197011 s, NU16 value) {
	NIM_BOOL result;
	NIM_BOOL LOC1;
	result = 0;
	LOC1 = 0;
	LOC1 = (s.a <= value);
	if (!(LOC1)) goto LA2;
	LOC1 = (value <= s.b);
	LA2: ;
	result = LOC1;
	return result;
}

static N_INLINE(Slice197011, HEX2EHEX2E_197002)(NU16 a, NU16 b) {
	Slice197011 result;
	memset((void*)(&result), 0, sizeof(result));
	result.a = a;
	result.b = b;
	return result;
}

N_NIMCALL(void, msgwriteln_193449)(NimStringDesc* s, NU8 flags) {
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = !(writelnhook_193107.ClPrc == 0);
		if (!(LOC3)) goto LA4;
		LOC3 = !(((flags &(1U<<((NU)(((NU8) 1))&7U)))!=0));
		LA4: ;
		if (!LOC3) goto LA5;
		writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s, writelnhook_193107.ClEnv):((TMP1063)(writelnhook_193107.ClPrc))(s);
	}
	goto LA1;
	LA5: ;
	{
		NIM_BOOL LOC8;
		LOC8 = 0;
		LOC8 = ((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 23))&63U)))!=0);
		if (LOC8) goto LA9;
		LOC8 = ((flags &(1U<<((NU)(((NU8) 0))&7U)))!=0);
		LA9: ;
		if (!LOC8) goto LA10;
		{
			TY193732 LOC16;
			if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA14;
			memset((void*)LOC16, 0, sizeof(LOC16));
			LOC16[0] = copyString(s);
			writeline_171405(stdout, LOC16, 1);
			flushfile_14862(stdout);
		}
		LA14: ;
	}
	goto LA1;
	LA10: ;
	{
		{
			TY193732 LOC22;
			if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA20;
			memset((void*)LOC22, 0, sizeof(LOC22));
			LOC22[0] = copyString(s);
			writeline_171405(stderr, LOC22, 1);
		}
		LA20: ;
	}
	LA1: ;
}

static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).hasRaiseAction = NIM_FALSE;
	(*s).prev = exchandler_18837;
	exchandler_18837 = s;
}

N_NIMCALL(NimStringDesc*, tofullpath_193257)(NI32 fileidx) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(fileidx < ((NI32) 0))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP158));
	}
	goto LA1;
	LA3: ;
	{
		result = copyString(fileinfos_192629->data[fileidx].fullpath);
	}
	LA1: ;
	return result;
}

static N_INLINE(void, asgnRefNoCycle)(void** dest, void* src) {
	{
		Cell47305* c;
		if (!!((src == NIM_NIL))) goto LA3;
		c = usrtocell_51440(src);
		(*c).refcount += ((NI) 8);
	}
	LA3: ;
	{
		Cell47305* c;
		if (!!(((*dest) == NIM_NIL))) goto LA7;
		c = usrtocell_51440((*dest));
		{
			(*c).refcount -= ((NI) 8);
			if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA11;
			rtladdzct_52601(c);
		}
		LA11: ;
	}
	LA7: ;
	(*dest) = src;
}

N_NIMCALL(void, addsourceline_197139)(NI32 fileidx, NimStringDesc* line) {
	Ropeobj179006* LOC1;
	LOC1 = 0;
	LOC1 = rope_179277(line);
	fileinfos_192629->data[fileidx].lines = (TY192350*) incrSeqV2(&(fileinfos_192629->data[fileidx].lines)->Sup, sizeof(Ropeobj179006*));
	asgnRefNoCycle((void**) (&fileinfos_192629->data[fileidx].lines->data[fileinfos_192629->data[fileidx].lines->Sup.len]), LOC1);
	++fileinfos_192629->data[fileidx].lines->Sup.len;
}

static N_INLINE(void, popSafePoint)(void) {
	exchandler_18837 = (*exchandler_18837).prev;
}

static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = 0;
	result = currexception_18839;
	return result;
}

static N_INLINE(void, popCurrentException)(void) {
	asgnRef((void**) (&currexception_18839), NIM_NIL);
}

N_NIMCALL(Ropeobj179006*, sourceline_193065)(Tlineinfo192336 i) {
	Ropeobj179006* result;
{	result = 0;
	{
		if (!(i.fileindex < ((NI32) 0))) goto LA3;
		result = NIM_NIL;
		goto BeforeRet;
	}
	LA3: ;
	{
		NIM_BOOL LOC7;
		TSafePoint TMP1065;
		LOC7 = 0;
		LOC7 = !(((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 28))&63U)))!=0));
		if (!(LOC7)) goto LA8;
		LOC7 = ((fileinfos_192629->data[i.fileindex].lines ? fileinfos_192629->data[i.fileindex].lines->Sup.len : 0) == ((NI) 0));
		LA8: ;
		if (!LOC7) goto LA9;
		pushSafePoint(&TMP1065);
		TMP1065.status = setjmp(TMP1065.context);
		if (TMP1065.status == 0) {
			{
				NimStringDesc* line_197175;
				NimStringDesc* HEX3Atmp_197811;
				FILE* f_197814;
				TSafePoint TMP1067;
				line_197175 = 0;
				HEX3Atmp_197811 = 0;
				HEX3Atmp_197811 = tofullpath_193257(i.fileindex);
				f_197814 = open_14817(HEX3Atmp_197811, ((NU8) 0), ((NI) 8000));
				pushSafePoint(&TMP1067);
				TMP1067.status = setjmp(TMP1067.context);
				if (TMP1067.status == 0) {
					NimStringDesc* res_197816;
					res_197816 = rawNewString(((NI) 80));
					{
						while (1) {
							NIM_BOOL LOC16;
							LOC16 = 0;
							LOC16 = readline_14915(f_197814, (&res_197816));
							if (!LOC16) goto LA15;
							line_197175 = res_197816;
							addsourceline_197139(i.fileindex, line_197175);
						} LA15: ;
					}
					popSafePoint();
				}
				else {
					popSafePoint();
				}
				{
					close_14853(f_197814);
				}
				if (TMP1067.status != 0) reraiseException();
			}
			popSafePoint();
		}
		else {
			popSafePoint();
			if (isObj(getCurrentException()->Sup.m_type, (&NTI3628))) {
				TMP1065.status = 0;
				popCurrentException();
			}
		}
		if (TMP1065.status != 0) reraiseException();
	}
	LA9: ;
	{
		NimStringDesc* LOC25;
		if (!!((((NI) (i.fileindex)) < (fileinfos_192629 ? fileinfos_192629->Sup.len : 0)))) goto LA23;
		LOC25 = 0;
		LOC25 = HEX24_197185(TMP1077);
		internalerror_197113(LOC25);
	}
	LA23: ;
	{
		if (!((fileinfos_192629->data[i.fileindex].lines ? fileinfos_192629->data[i.fileindex].lines->Sup.len : 0) < ((NI) (i.line)))) goto LA28;
		result = NIM_NIL;
		goto BeforeRet;
	}
	LA28: ;
	result = fileinfos_192629->data[i.fileindex].lines->data[(NI16)(i.line - ((NI16) 1))];
	}BeforeRet: ;
	return result;
}

N_NIMCALL(void, writesurroundingsrc_195645)(Tlineinfo192336 info) {
	NimStringDesc* LOC1;
	Ropeobj179006* LOC2;
	NimStringDesc* LOC3;
	NimStringDesc* LOC4;
	NimStringDesc* LOC5;
	LOC1 = 0;
	LOC2 = 0;
	LOC2 = sourceline_193065(info);
	LOC3 = 0;
	LOC3 = HEX24_179856(LOC2);
	LOC1 = rawNewString(LOC3->Sup.len + 2);
appendString(LOC1, ((NimStringDesc*) &TMP1064));
appendString(LOC1, LOC3);
	msgwriteln_193449(LOC1, 0);
	LOC4 = 0;
	LOC5 = 0;
	LOC5 = nsuRepeatChar(32, ((NI) (info.col)));
	LOC4 = rawNewString(LOC5->Sup.len + 3);
appendString(LOC4, ((NimStringDesc*) &TMP1064));
appendString(LOC4, LOC5);
appendChar(LOC4, 94);
	msgwriteln_193449(LOC4, 0);
}

N_NIMCALL(void, limessage_195658)(Tlineinfo192336 info, NU16 msg, NimStringDesc* arg, NU8 eh) {
	NimStringDesc* title;
	NU8 color;
	NimStringDesc* kind;
	NIM_BOOL ignoremsg;
	NimStringDesc* x;
	TY194140 LOC12;
	NimStringDesc* s_195765;
	title = 0;
	color = 0;
	kind = 0;
	ignoremsg = NIM_FALSE;
	switch (msg) {
	case ((NU16) 0) ... ((NU16) 236):
	{
		writecontext_194114(info);
		title = copyString(((NimStringDesc*) &TMP438));
		color = ((NU8) 31);
		lasterror_193101 = info;
	}
	break;
	case ((NU16) 237) ... ((NU16) 267):
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = !(((goptions_170125 &(1U<<((NU)(((NU8) 11))&31U)))!=0));
		if (LOC3) goto LA4;
		LOC3 = !(((gnotes_193068 &((NU64)1<<((NU)((((NU16) (msg))- 237))&63U)))!=0));
		LA4: ;
		ignoremsg = LOC3;
		{
			if (!!(ignoremsg)) goto LA7;
			writecontext_194114(info);
		}
		LA7: ;
		title = copyString(((NimStringDesc*) &TMP439));
		color = ((NU8) 33);
		kind = copyString(Warningstostr_192300[((NI)(((NI) (msg)) - ((NI) 237)))- 0]);
		gwarncounter_193071 += ((NI) 1);
	}
	break;
	case ((NU16) 268) ... ((NU16) 290):
	{
		NIM_BOOL LOC10;
		LOC10 = 0;
		LOC10 = !(((goptions_170125 &(1U<<((NU)(((NU8) 12))&31U)))!=0));
		if (LOC10) goto LA11;
		LOC10 = !(((gnotes_193068 &((NU64)1<<((NU)((((NU16) (msg))- 237))&63U)))!=0));
		LA11: ;
		ignoremsg = LOC10;
		title = copyString(((NimStringDesc*) &TMP471));
		color = ((NU8) 32);
		kind = copyString(Hintstostr_192305[((NI)(((NI) (msg)) - ((NI) 268)))- 0]);
		ghintcounter_193070 += ((NI) 1);
	}
	break;
	}
	memset((void*)LOC12, 0, sizeof(LOC12));
	LOC12[0] = tomsgfilename_193411(info);
	LOC12[1] = coordtostr_193719(((NI) (info.line)));
	LOC12[2] = coordtostr_193719(((NI) ((NI16)(info.col + ((NI16) 1)))));
	x = nsuFormatOpenArray(((NimStringDesc*) &TMP157), LOC12, 3);
	s_195765 = getmessagestr_193727(msg, arg);
	{
		NIM_BOOL LOC15;
		NIM_BOOL LOC17;
		LOC15 = 0;
		LOC15 = !(ignoremsg);
		if (!(LOC15)) goto LA16;
		LOC17 = 0;
		LOC17 = ignoremsgbecauseofidetools_194613(msg);
		LOC15 = !(LOC17);
		LA16: ;
		if (!LOC15) goto LA18;
		{
			if (!!((kind == NIM_NIL))) goto LA22;
			{
				NimStringDesc* s_195784;
				if (!!(writelnhook_193107.ClPrc == 0)) goto LA26;
				s_195784 = copyString(((NimStringDesc*) &TMP150));
				{
					NimStringDesc* arg_195786;
					NI i_197061;
					arg_195786 = 0;
					i_197061 = ((NI) 0);
					{
						while (1) {
							TY195781 LOC31;
							if (!(i_197061 < ((NI) 4))) goto LA30;
							memset((void*)LOC31, 0, sizeof(LOC31));
							LOC31[0] = copyString(x);
							LOC31[1] = copyString(title);
							LOC31[2] = copyString(s_195765);
							LOC31[3] = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
							arg_195786 = LOC31[(i_197061)- 0];
							s_195784 = resizeString(s_195784, arg_195786->Sup.len + 0);
appendString(s_195784, arg_195786);
							i_197061 += ((NI) 1);
						} LA30: ;
					}
				}
				writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s_195784, writelnhook_193107.ClEnv):((TMP1061)(writelnhook_193107.ClPrc))(s_195784);
			}
			goto LA24;
			LA26: ;
			{
				if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 23))&63U)))!=0)) goto LA33;
				{
					TY195781 LOC39;
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA37;
					memset((void*)LOC39, 0, sizeof(LOC39));
					LOC39[0] = copyString(x);
					LOC39[1] = copyString(title);
					LOC39[2] = copyString(s_195765);
					LOC39[3] = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
					writeline_171405(stdout, LOC39, 4);
					flushfile_14862(stdout);
				}
				LA37: ;
			}
			goto LA24;
			LA33: ;
			{
				{
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA43;
					{
						NimStringDesc* LOC49;
						if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 21))&63U)))!=0)) goto LA47;
						setstyle_189601(stderr, 1);
						write_14891(stderr, x);
						resetattributes_189203(stderr);
						setforegroundcolor_190045(stderr, color, NIM_FALSE);
						write_14891(stderr, title);
						resetattributes_189203(stderr);
						write_14891(stderr, s_195765);
						setforegroundcolor_190045(stderr, ((NU8) 36), NIM_FALSE);
						LOC49 = 0;
						LOC49 = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
						write_14891(stderr, LOC49);
						write_14891(stderr, ((NimStringDesc*) &TMP435));
						resetattributes_189203(stderr);
					}
					goto LA45;
					LA47: ;
					{
						TY195781 LOC51;
						memset((void*)LOC51, 0, sizeof(LOC51));
						LOC51[0] = copyString(x);
						LOC51[1] = copyString(title);
						LOC51[2] = copyString(s_195765);
						LOC51[3] = nsuFormatSingleElem(((NimStringDesc*) &TMP494), kind);
						writeline_171405(stderr, LOC51, 4);
					}
					LA45: ;
				}
				LA43: ;
			}
			LA24: ;
		}
		goto LA20;
		LA22: ;
		{
			{
				NimStringDesc* s_196418;
				if (!!(writelnhook_193107.ClPrc == 0)) goto LA55;
				s_196418 = copyString(((NimStringDesc*) &TMP150));
				{
					NimStringDesc* arg_196420;
					NI i_197065;
					arg_196420 = 0;
					i_197065 = ((NI) 0);
					{
						while (1) {
							TY194140 LOC60;
							if (!(i_197065 < ((NI) 3))) goto LA59;
							memset((void*)LOC60, 0, sizeof(LOC60));
							LOC60[0] = copyString(x);
							LOC60[1] = copyString(title);
							LOC60[2] = copyString(s_195765);
							arg_196420 = LOC60[(i_197065)- 0];
							s_196418 = resizeString(s_196418, arg_196420->Sup.len + 0);
appendString(s_196418, arg_196420);
							i_197065 += ((NI) 1);
						} LA59: ;
					}
				}
				writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s_196418, writelnhook_193107.ClEnv):((TMP1062)(writelnhook_193107.ClPrc))(s_196418);
			}
			goto LA53;
			LA55: ;
			{
				if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 23))&63U)))!=0)) goto LA62;
				{
					TY194140 LOC68;
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA66;
					memset((void*)LOC68, 0, sizeof(LOC68));
					LOC68[0] = copyString(x);
					LOC68[1] = copyString(title);
					LOC68[2] = copyString(s_195765);
					writeline_171405(stdout, LOC68, 3);
					flushfile_14862(stdout);
				}
				LA66: ;
			}
			goto LA53;
			LA62: ;
			{
				{
					if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 1))&7U)))!=0)) goto LA72;
					{
						if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 21))&63U)))!=0)) goto LA76;
						setstyle_189601(stderr, 1);
						write_14891(stderr, x);
						resetattributes_189203(stderr);
						setforegroundcolor_190045(stderr, color, NIM_FALSE);
						write_14891(stderr, title);
						resetattributes_189203(stderr);
						write_14891(stderr, s_195765);
						write_14891(stderr, ((NimStringDesc*) &TMP435));
						resetattributes_189203(stderr);
					}
					goto LA74;
					LA76: ;
					{
						TY194140 LOC79;
						memset((void*)LOC79, 0, sizeof(LOC79));
						LOC79[0] = copyString(x);
						LOC79[1] = copyString(title);
						LOC79[2] = copyString(s_195765);
						writeline_171405(stderr, LOC79, 3);
					}
					LA74: ;
				}
				LA72: ;
			}
			LA53: ;
		}
		LA20: ;
		{
			NIM_BOOL LOC82;
			Slice197011 LOC83;
			LOC82 = 0;
			LOC83 = HEX2EHEX2E_197002(((NU16) 0), ((NU16) 236));
			LOC82 = contains_197018(LOC83, msg);
			if (!(LOC82)) goto LA84;
			LOC82 = ((gnotes_193068 &((NU64)1<<((NU)((((NU16) 287)- 237))&63U)))!=0);
			LA84: ;
			if (!LOC82) goto LA85;
			writesurroundingsrc_195645(info);
		}
		LA85: ;
	}
	LA18: ;
	handleerror_194023(msg, eh, s_195765);
}

N_NIMCALL(void, internalerror_197100)(Tlineinfo192336 info, NimStringDesc* errmsg) {
{	{
		if (!(gcmd_170129 == ((NU8) 15))) goto LA3;
		goto BeforeRet;
	}
	LA3: ;
	writecontext_194114(info);
	limessage_195658(info, ((NU16) 2), errmsg, ((NU8) 1));
	}BeforeRet: ;
}

N_NIMCALL(void, localerror_197085)(Tlineinfo192336 info, NimStringDesc* arg) {
	limessage_195658(info, ((NU16) 4), arg, ((NU8) 0));
}

N_NIMCALL(void, localerror_197080)(Tlineinfo192336 info, NU16 msg, NimStringDesc* arg) {
	limessage_195658(info, msg, arg, ((NU8) 0));
}

N_NIMCALL(NimStringDesc*, tofullpathconsiderdirty_193401)(NI32 fileidx) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(fileidx < ((NI32) 0))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP158));
	}
	goto LA1;
	LA3: ;
	{
		if (!!(fileinfos_192629->data[fileidx].dirtyfile == 0)) goto LA6;
		result = copyString(fileinfos_192629->data[fileidx].dirtyfile);
	}
	goto LA1;
	LA6: ;
	{
		result = copyString(fileinfos_192629->data[fileidx].fullpath);
	}
	LA1: ;
	return result;
}

N_NIMCALL(void, message_197095)(Tlineinfo192336 info, NU16 msg, NimStringDesc* arg) {
	limessage_195658(info, msg, arg, ((NU8) 0));
}

static N_INLINE(void, shallow_91818)(NimStringDesc** s_91821) {
	TGenericSeq* s;
	s = ((TGenericSeq*) ((*s_91821)));
	(*s).reserved = (NI)((*s).reserved | ((NI) (IL64(-9223372036854775807) - IL64(1))));
}

N_NIMCALL(NI32, fileinfoidx_192699)(NimStringDesc* filename, NIM_BOOL* isknownfile) {
	NI32 result;
	NimStringDesc* volatile canon;
	NIM_BOOL pseudopath;
	TSafePoint TMP1275;
	result = 0;
	canon = 0;
	pseudopath = NIM_FALSE;
	pushSafePoint(&TMP1275);
	TMP1275.status = setjmp(TMP1275.context);
	if (TMP1275.status == 0) {
		canon = canonicalizepath_170405(filename);
		shallow_91818((&canon));
		popSafePoint();
	}
	else {
		popSafePoint();
		{
			TMP1275.status = 0;
			canon = copyString(filename);
			pseudopath = NIM_TRUE;
			popCurrentException();
		}
	}
	if (TMP1275.status != 0) reraiseException();
	{
		NIM_BOOL LOC6;
		NI32* LOC9;
		LOC6 = 0;
		LOC6 = haskey_192709(filenametoindextbl_192611, canon);
		if (!LOC6) goto LA7;
		LOC9 = 0;
		LOC9 = HEX5BHEX5D_192741((&filenametoindextbl_192611), canon);
		result = (*LOC9);
	}
	goto LA4;
	LA7: ;
	{
		NimStringDesc* LOC11;
		Tfileinfo192334 LOC17;
		(*isknownfile) = NIM_FALSE;
		result = ((NI32) ((fileinfos_192629 ? fileinfos_192629->Sup.len : 0)));
		LOC11 = 0;
		{
			if (!pseudopath) goto LA14;
			LOC11 = copyString(filename);
		}
		goto LA12;
		LA14: ;
		{
			LOC11 = shortendir_170601(canon);
		}
		LA12: ;
		memset((void*)(&LOC17), 0, sizeof(LOC17));
		newfileinfo_192667(canon, LOC11, (&LOC17));
		fileinfos_192629 = (TY192612*) incrSeqV2(&(fileinfos_192629)->Sup, sizeof(Tfileinfo192334));
		genericAssign((void*)(&fileinfos_192629->data[fileinfos_192629->Sup.len]), (void*)(&LOC17), (&NTI192334));
		++fileinfos_192629->Sup.len;
		HEX5BHEX5DHEX3D_192835((&filenametoindextbl_192611), canon, result);
	}
	LA4: ;
	return result;
}

N_NIMCALL(NI32, fileinfoidx_193007)(NimStringDesc* filename) {
	NI32 result;
	NIM_BOOL dummy;
	result = 0;
	dummy = 0;
	result = fileinfoidx_192699(filename, (&dummy));
	return result;
}

N_NIMCALL(NimStringDesc*, tofilename_193253)(NI32 fileidx) {
	NimStringDesc* result;
	result = 0;
	{
		if (!(fileidx < ((NI32) 0))) goto LA3;
		result = copyString(((NimStringDesc*) &TMP158));
	}
	goto LA1;
	LA3: ;
	{
		result = copyString(fileinfos_192629->data[fileidx].projpath);
	}
	LA1: ;
	return result;
}

N_NIMCALL(void, listwarnings_197844)(void) {
	msgwriteln_193449(((NimStringDesc*) &TMP1973), 0);
	{
		NU16 warn_198014;
		NI res_198048;
		warn_198014 = 0;
		res_198048 = ((NI) 237);
		{
			while (1) {
				TY194153 LOC4;
				NimStringDesc* LOC10;
				if (!(res_198048 <= ((NI) 267))) goto LA3;
				warn_198014 = ((NU16) (res_198048));
				memset((void*)LOC4, 0, sizeof(LOC4));
				{
					if (!((gnotes_193068 &((NU64)1<<((NU)((((NU16) (warn_198014))- 237))&63U)))!=0)) goto LA7;
					LOC4[0] = copyString(((NimStringDesc*) &TMP1975));
				}
				goto LA5;
				LA7: ;
				{
					LOC4[0] = copyString(((NimStringDesc*) &TMP1976));
				}
				LA5: ;
				LOC4[1] = copyString(Warningstostr_192300[((NI)(((NI) (warn_198014)) - ((NI) 237)))- 0]);
				LOC10 = 0;
				LOC10 = nsuFormatOpenArray(((NimStringDesc*) &TMP1974), LOC4, 2);
				msgwriteln_193449(LOC10, 0);
				res_198048 += ((NI) 1);
			} LA3: ;
		}
	}
}

N_NIMCALL(void, listhints_198051)(void) {
	msgwriteln_193449(((NimStringDesc*) &TMP2034), 0);
	{
		NU16 hint_198062;
		NI res_198096;
		hint_198062 = 0;
		res_198096 = ((NI) 268);
		{
			while (1) {
				TY194153 LOC4;
				NimStringDesc* LOC10;
				if (!(res_198096 <= ((NI) 290))) goto LA3;
				hint_198062 = ((NU16) (res_198096));
				memset((void*)LOC4, 0, sizeof(LOC4));
				{
					if (!((gnotes_193068 &((NU64)1<<((NU)((((NU16) (hint_198062))- 237))&63U)))!=0)) goto LA7;
					LOC4[0] = copyString(((NimStringDesc*) &TMP1975));
				}
				goto LA5;
				LA7: ;
				{
					LOC4[0] = copyString(((NimStringDesc*) &TMP1976));
				}
				LA5: ;
				LOC4[1] = copyString(Hintstostr_192305[((NI)(((NI) (hint_198062)) - ((NI) 268)))- 0]);
				LOC10 = 0;
				LOC10 = nsuFormatOpenArray(((NimStringDesc*) &TMP1974), LOC4, 2);
				msgwriteln_193449(LOC10, 0);
				res_198096 += ((NI) 1);
			} LA3: ;
		}
	}
}

N_NIMCALL(void, msgquit_193142)(NI8 x) {
	exit(((NI) (x)));
}

N_NIMCALL(void, setdirtyfile_193261)(NI32 fileidx, NimStringDesc* filename) {
	NimStringDesc* LOC1;
	LOC1 = 0;
	LOC1 = fileinfos_192629->data[fileidx].dirtyfile; fileinfos_192629->data[fileidx].dirtyfile = copyStringRC1(filename);
	if (LOC1) nimGCunrefNoCycle(LOC1);
}

N_NIMCALL(void, suggestwriteln_193110)(NimStringDesc* s) {
	{
		if (!((erroroutputs_193103 &(1U<<((NU)(((NU8) 0))&7U)))!=0)) goto LA3;
		{
			TY193732 LOC9;
			if (!writelnhook_193107.ClPrc == 0) goto LA7;
			memset((void*)LOC9, 0, sizeof(LOC9));
			LOC9[0] = copyString(s);
			writeline_171405(stdout, LOC9, 1);
			flushfile_14862(stdout);
		}
		goto LA5;
		LA7: ;
		{
			writelnhook_193107.ClEnv? writelnhook_193107.ClPrc(s, writelnhook_193107.ClEnv):((TMP2141)(writelnhook_193107.ClPrc))(s);
		}
		LA5: ;
	}
	LA3: ;
}

N_NIMCALL(void, globalerror_197071)(Tlineinfo192336 info, NU16 msg, NimStringDesc* arg) {
	limessage_195658(info, msg, arg, ((NU8) 2));
}

N_NIMCALL(void, pushinfocontext_193197)(Tlineinfo192336 info) {
	msgcontext_193100 = (TY193083*) incrSeqV2(&(msgcontext_193100)->Sup, sizeof(Tlineinfo192336));
	msgcontext_193100->data[msgcontext_193100->Sup.len] = info;
	++msgcontext_193100->Sup.len;
}

N_NIMCALL(void, popinfocontext_193210)(void) {
	msgcontext_193100 = (TY193083*) setLengthSeq(&(msgcontext_193100)->Sup, sizeof(Tlineinfo192336), ((NI) ((NI)((msgcontext_193100 ? msgcontext_193100->Sup.len : 0) - ((NI) 1)))));
}
N_NIMCALL(void, TMP2869)(void* p, NI op) {
	Esuggestdone192344* a;
	a = (Esuggestdone192344*)p;
	nimGCvisit((void*)(*a).Sup.parent, op);
	nimGCvisit((void*)(*a).Sup.message, op);
	nimGCvisit((void*)(*a).Sup.trace, op);
}

N_NIMCALL(void, suggestquit_193148)(void) {
	Esuggestdone192344* e_193153;
	NimStringDesc* LOC1;
	e_193153 = 0;
	e_193153 = (Esuggestdone192344*) newObj((&NTI193154), sizeof(Esuggestdone192344));
	(*e_193153).Sup.Sup.m_type = (&NTI192344);
	LOC1 = 0;
	LOC1 = (*e_193153).Sup.message; (*e_193153).Sup.message = copyStringRC1(((NimStringDesc*) &TMP2870));
	if (LOC1) nimGCunrefNoCycle(LOC1);
	raiseException((Exception*)e_193153, "ESuggestDone");
}

N_NIMCALL(void, globalerror_197076)(Tlineinfo192336 info, NimStringDesc* arg) {
	limessage_195658(info, ((NU16) 4), arg, ((NU8) 2));
}

N_NIMCALL(NimStringDesc*, formatmsg_195649)(Tlineinfo192336 info, NU16 msg, NimStringDesc* arg) {
	NimStringDesc* result;
	NimStringDesc* title;
	NimStringDesc* LOC4;
	TY194140 LOC5;
	NimStringDesc* LOC6;
	NimStringDesc* LOC7;
	result = 0;
	switch (msg) {
	case ((NU16) 237) ... ((NU16) 267):
	{
		title = copyString(((NimStringDesc*) &TMP439));
	}
	break;
	case ((NU16) 268) ... ((NU16) 290):
	{
		title = copyString(((NimStringDesc*) &TMP471));
	}
	break;
	default:
	{
		title = copyString(((NimStringDesc*) &TMP438));
	}
	break;
	}
	LOC4 = 0;
	memset((void*)LOC5, 0, sizeof(LOC5));
	LOC5[0] = tomsgfilename_193411(info);
	LOC5[1] = coordtostr_193719(((NI) (info.line)));
	LOC5[2] = coordtostr_193719(((NI) ((NI16)(info.col + ((NI16) 1)))));
	LOC6 = 0;
	LOC6 = nsuFormatOpenArray(((NimStringDesc*) &TMP157), LOC5, 3);
	LOC7 = 0;
	LOC7 = getmessagestr_193727(msg, arg);
	LOC4 = rawNewString(LOC6->Sup.len + title->Sup.len + LOC7->Sup.len + 0);
appendString(LOC4, LOC6);
appendString(LOC4, title);
appendString(LOC4, LOC7);
	result = LOC4;
	return result;
}

N_NIMCALL(void, fatal_197066)(Tlineinfo192336 info, NU16 msg, NimStringDesc* arg) {
	limessage_195658(info, msg, arg, ((NU8) 1));
}

N_NIMCALL(Tlineinfo192336, getinfocontext_193230)(NI index) {
	Tlineinfo192336 result;
	NI L;
	NI i;
	memset((void*)(&result), 0, sizeof(result));
	L = (msgcontext_193100 ? msgcontext_193100->Sup.len : 0);
	{
		if (!(index < ((NI) 0))) goto LA3;
		i = (NI)(L + index);
	}
	goto LA1;
	LA3: ;
	{
		i = index;
	}
	LA1: ;
	{
		if (!((NU64)(L) <= (NU64)(i))) goto LA8;
		result = unknownlineinfo_193080();
	}
	goto LA6;
	LA8: ;
	{
		result = msgcontext_193100->data[i];
	}
	LA6: ;
	return result;
}

static N_INLINE(NimStringDesc*, tofilelinecol_193427)(Tlineinfo192336 info) {
	NimStringDesc* result;
	NimStringDesc* LOC1;
	NimStringDesc* LOC2;
	NimStringDesc* LOC3;
	NimStringDesc* LOC4;
	result = 0;
	LOC1 = 0;
	LOC2 = 0;
	LOC2 = tofilename_193253(info.fileindex);
	LOC3 = 0;
	LOC3 = nimIntToStr(((NI) (info.line)));
	LOC4 = 0;
	LOC4 = nimIntToStr(((NI) (info.col)));
	LOC1 = rawNewString(LOC2->Sup.len + LOC3->Sup.len + LOC4->Sup.len + 3);
appendString(LOC1, LOC2);
appendString(LOC1, ((NimStringDesc*) &TMP3347));
appendString(LOC1, LOC3);
appendString(LOC1, ((NimStringDesc*) &TMP3348));
appendString(LOC1, LOC4);
appendString(LOC1, ((NimStringDesc*) &TMP3349));
	result = LOC1;
	return result;
}

N_NIMCALL(NimStringDesc*, HEX24_193431)(Tlineinfo192336 info) {
	NimStringDesc* result;
	result = 0;
	result = tofilelinecol_193427(info);
	return result;
}

N_NIMCALL(NI, getinfocontextlen_193173)(void) {
	NI result;
{	result = 0;
	result = (msgcontext_193100 ? msgcontext_193100->Sup.len : 0);
	goto BeforeRet;
	}BeforeRet: ;
	return result;
}

N_NIMCALL(void, setinfocontextlen_193184)(NI L) {
	msgcontext_193100 = (TY193083*) setLengthSeq(&(msgcontext_193100)->Sup, sizeof(Tlineinfo192336), ((NI) (L)));
}

N_NIMCALL(Ropeobj179006*, quotedfilename_197818)(Tlineinfo192336 i) {
	Ropeobj179006* result;
	result = 0;
	{
		NimStringDesc* LOC5;
		if (!!((((NI32) 0) <= i.fileindex))) goto LA3;
		LOC5 = 0;
		LOC5 = HEX24_197185(TMP4086);
		internalerror_197113(LOC5);
	}
	LA3: ;
	{
		if (!((gglobaloptions_170127 &((NU64)1<<((NU)(((NU8) 32))&63U)))!=0)) goto LA8;
		result = fileinfos_192629->data[i.fileindex].quotedfullname;
	}
	goto LA6;
	LA8: ;
	{
		result = fileinfos_192629->data[i.fileindex].quotedname;
	}
	LA6: ;
	return result;
}

N_NIMCALL(void, resetattributes_195618)(void) {
	{
		if (!((10485760 & gglobaloptions_170127) == 2097152)) goto LA3;
		resetattributes_189203(stderr);
	}
	LA3: ;
}
NIM_EXTERNC N_NOINLINE(void, compiler_msgsInit000)(void) {
	Tfileinfo192334 LOC1;
	Tfileinfo192334 LOC2;
	NI LOC3;
	NI LOC4;
	NI LOC5;
	NI LOC6;
	NI LOC7;
	NI LOC8;
	TY179017 LOC9;
	Foreignpackagenotes_192420 = IL64(141562122076288);
	chckNil((void*)(&filenametoindextbl_192611));
	genericReset((void*)(&filenametoindextbl_192611), (&NTI192430));
	inittable_192422(((NI) 64), (&filenametoindextbl_192611));
	if (fileinfos_192629) nimGCunrefNoCycle(fileinfos_192629);
	fileinfos_192629 = (TY192612*) newSeqRC1((&NTI192612), 0);
	memset((void*)(&LOC1), 0, sizeof(LOC1));
	newfileinfo_192667(((NimStringDesc*) &TMP150), ((NimStringDesc*) &TMP152), (&LOC1));
	fileinfos_192629 = (TY192612*) incrSeqV2(&(fileinfos_192629)->Sup, sizeof(Tfileinfo192334));
	genericAssign((void*)(&fileinfos_192629->data[fileinfos_192629->Sup.len]), (void*)(&LOC1), (&NTI192334));
	++fileinfos_192629->Sup.len;
	gcmdlineinfo_193036 = newlineinfo_193014(((NI32) 0), ((NI) 1), ((NI) 1));
	memset((void*)(&LOC2), 0, sizeof(LOC2));
	newfileinfo_192667(((NimStringDesc*) &TMP150), ((NimStringDesc*) &TMP153), (&LOC2));
	fileinfos_192629 = (TY192612*) incrSeqV2(&(fileinfos_192629)->Sup, sizeof(Tfileinfo192334));
	genericAssign((void*)(&fileinfos_192629->data[fileinfos_192629->Sup.len]), (void*)(&LOC2), (&NTI192334));
	++fileinfos_192629->Sup.len;
	gcodegenlineinfo_193047 = newlineinfo_193014(((NI32) 1), ((NI) 1), ((NI) 1));
	gnotes_193068 = 0;
	LOC3 = 0;
	for (LOC3 = (((NU16) 237)- 237); LOC3 <= (((NU16) 255)- 237); LOC3++) 
gnotes_193068 |=((NU64)(1)<<((LOC3)%(sizeof(NU64)*8)));
	gnotes_193068 |=((NU64)(1)<<(((((NU16) 257)- 237))%(sizeof(NU64)*8)));
	gnotes_193068 |=((NU64)(1)<<(((((NU16) 261)- 237))%(sizeof(NU64)*8)));
	LOC4 = 0;
	for (LOC4 = (((NU16) 263)- 237); LOC4 <= (((NU16) 276)- 237); LOC4++) 
gnotes_193068 |=((NU64)(1)<<((LOC4)%(sizeof(NU64)*8)));
	gnotes_193068 |=((NU64)(1)<<(((((NU16) 279)- 237))%(sizeof(NU64)*8)));
	LOC5 = 0;
	for (LOC5 = (((NU16) 281)- 237); LOC5 <= (((NU16) 285)- 237); LOC5++) 
gnotes_193068 |=((NU64)(1)<<((LOC5)%(sizeof(NU64)*8)));
	gnotes_193068 |=((NU64)(1)<<(((((NU16) 290)- 237))%(sizeof(NU64)*8)));
	gerrorcounter_193069 = ((NI) 0);
	ghintcounter_193070 = ((NI) 0);
	gwarncounter_193071 = ((NI) 0);
	gerrormax_193072 = ((NI) 1);
	gmainpackagenotes_193073 = 0;
	LOC6 = 0;
	for (LOC6 = (((NU16) 237)- 237); LOC6 <= (((NU16) 255)- 237); LOC6++) 
gmainpackagenotes_193073 |=((NU64)(1)<<((LOC6)%(sizeof(NU64)*8)));
	gmainpackagenotes_193073 |=((NU64)(1)<<(((((NU16) 257)- 237))%(sizeof(NU64)*8)));
	gmainpackagenotes_193073 |=((NU64)(1)<<(((((NU16) 261)- 237))%(sizeof(NU64)*8)));
	LOC7 = 0;
	for (LOC7 = (((NU16) 263)- 237); LOC7 <= (((NU16) 276)- 237); LOC7++) 
gmainpackagenotes_193073 |=((NU64)(1)<<((LOC7)%(sizeof(NU64)*8)));
	gmainpackagenotes_193073 |=((NU64)(1)<<(((((NU16) 279)- 237))%(sizeof(NU64)*8)));
	LOC8 = 0;
	for (LOC8 = (((NU16) 281)- 237); LOC8 <= (((NU16) 285)- 237); LOC8++) 
gmainpackagenotes_193073 |=((NU64)(1)<<((LOC8)%(sizeof(NU64)*8)));
	gmainpackagenotes_193073 |=((NU64)(1)<<(((((NU16) 290)- 237))%(sizeof(NU64)*8)));
	if (msgcontext_193100) nimGCunrefNoCycle(msgcontext_193100);
	msgcontext_193100 = (TY193083*) newSeqRC1((&NTI193083), 0);
	lasterror_193101 = unknownlineinfo_193080();
	erroroutputs_193103 = 3;
	memset((void*)(&LOC9), 0, sizeof(LOC9));
	LOC9.ClPrc = ((TMP508) (HEX3Aanonymous_197839)); LOC9.ClEnv = NIM_NIL;
	asgnRef((void**) (&errorhandler_179022.ClEnv), LOC9.ClEnv);
	errorhandler_179022.ClPrc = LOC9.ClPrc;
	{
		NIM_BOOL LOC12;
		LOC12 = 0;
		LOC12 = isatty_190420(stderr);
		if (!LOC12) goto LA13;
		gglobaloptions_170127 |= ((NU64)1)<<((((NU8) 21))%(sizeof(NU64)*8));
	}
	LA13: ;
}

NIM_EXTERNC N_NOINLINE(void, compiler_msgsDatInit000)(void) {
static TNimNode* TMP146[7];
static TNimNode* TMP154[3];
static TNimNode* TMP2134[291];
NI TMP2136;
static char* NIM_CONST TMP2135[291] = {
"errUnknown", 
"errIllFormedAstX", 
"errInternal", 
"errCannotOpenFile", 
"errGenerated", 
"errXCompilerDoesNotSupportCpp", 
"errStringLiteralExpected", 
"errIntLiteralExpected", 
"errInvalidCharacterConstant", 
"errClosingTripleQuoteExpected", 
"errClosingQuoteExpected", 
"errTabulatorsAreNotAllowed", 
"errInvalidToken", 
"errLineTooLong", 
"errInvalidNumber", 
"errInvalidNumberOctalCode", 
"errNumberOutOfRange", 
"errNnotAllowedInCharacter", 
"errClosingBracketExpected", 
"errMissingFinalQuote", 
"errIdentifierExpected", 
"errNewlineExpected", 
"errInvalidModuleName", 
"errOperatorExpected", 
"errTokenExpected", 
"errStringAfterIncludeExpected", 
"errRecursiveDependencyX", 
"errOnOrOffExpected", 
"errNoneSpeedOrSizeExpected", 
"errInvalidPragma", 
"errUnknownPragma", 
"errInvalidDirectiveX", 
"errAtPopWithoutPush", 
"errEmptyAsm", 
"errInvalidIndentation", 
"errExceptionExpected", 
"errExceptionAlreadyHandled", 
"errYieldNotAllowedHere", 
"errYieldNotAllowedInTryStmt", 
"errInvalidNumberOfYieldExpr", 
"errCannotReturnExpr", 
"errAttemptToRedefine", 
"errStmtInvalidAfterReturn", 
"errStmtExpected", 
"errInvalidLabel", 
"errInvalidCmdLineOption", 
"errCmdLineArgExpected", 
"errCmdLineNoArgExpected", 
"errInvalidVarSubstitution", 
"errUnknownVar", 
"errUnknownCcompiler", 
"errOnOrOffExpectedButXFound", 
"errOnOffOrListExpectedButXFound", 
"errNoneBoehmRefcExpectedButXFound", 
"errNoneSpeedOrSizeExpectedButXFound", 
"errGuiConsoleOrLibExpectedButXFound", 
"errUnknownOS", 
"errUnknownCPU", 
"errGenOutExpectedButXFound", 
"errArgsNeedRunOption", 
"errInvalidMultipleAsgn", 
"errColonOrEqualsExpected", 
"errExprExpected", 
"errUndeclaredIdentifier", 
"errUndeclaredField", 
"errUndeclaredRoutine", 
"errUseQualifier", 
"errTypeExpected", 
"errSystemNeeds", 
"errExecutionOfProgramFailed", 
"errNotOverloadable", 
"errInvalidArgForX", 
"errStmtHasNoEffect", 
"errXExpectsTypeOrValue", 
"errXExpectsArrayType", 
"errIteratorCannotBeInstantiated", 
"errExprXAmbiguous", 
"errConstantDivisionByZero", 
"errOrdinalTypeExpected", 
"errOrdinalOrFloatTypeExpected", 
"errOverOrUnderflow", 
"errCannotEvalXBecauseIncompletelyDefined", 
"errChrExpectsRange0_255", 
"errDynlibRequiresExportc", 
"errUndeclaredFieldX", 
"errNilAccess", 
"errIndexOutOfBounds", 
"errIndexTypesDoNotMatch", 
"errBracketsInvalidForType", 
"errValueOutOfSetBounds", 
"errFieldInitTwice", 
"errFieldNotInit", 
"errExprXCannotBeCalled", 
"errExprHasNoType", 
"errExprXHasNoType", 
"errCastNotInSafeMode", 
"errExprCannotBeCastedToX", 
"errCommaOrParRiExpected", 
"errCurlyLeOrParLeExpected", 
"errSectionExpected", 
"errRangeExpected", 
"errMagicOnlyInSystem", 
"errPowerOfTwoExpected", 
"errStringMayNotBeEmpty", 
"errCallConvExpected", 
"errProcOnlyOneCallConv", 
"errSymbolMustBeImported", 
"errExprMustBeBool", 
"errConstExprExpected", 
"errDuplicateCaseLabel", 
"errRangeIsEmpty", 
"errSelectorMustBeOfCertainTypes", 
"errSelectorMustBeOrdinal", 
"errOrdXMustNotBeNegative", 
"errLenXinvalid", 
"errWrongNumberOfVariables", 
"errExprCannotBeRaised", 
"errBreakOnlyInLoop", 
"errTypeXhasUnknownSize", 
"errConstNeedsConstExpr", 
"errConstNeedsValue", 
"errResultCannotBeOpenArray", 
"errSizeTooBig", 
"errSetTooBig", 
"errBaseTypeMustBeOrdinal", 
"errInheritanceOnlyWithNonFinalObjects", 
"errInheritanceOnlyWithEnums", 
"errIllegalRecursionInTypeX", 
"errCannotInstantiateX", 
"errExprHasNoAddress", 
"errXStackEscape", 
"errVarForOutParamNeeded", 
"errPureTypeMismatch", 
"errTypeMismatch", 
"errButExpected", 
"errButExpectedX", 
"errAmbiguousCallXYZ", 
"errWrongNumberOfArguments", 
"errXCannotBePassedToProcVar", 
"errXCannotBeInParamDecl", 
"errPragmaOnlyInHeaderOfProcX", 
"errImplOfXNotAllowed", 
"errImplOfXexpected", 
"errNoSymbolToBorrowFromFound", 
"errDiscardValueX", 
"errInvalidDiscard", 
"errIllegalConvFromXtoY", 
"errCannotBindXTwice", 
"errInvalidOrderInArrayConstructor", 
"errInvalidOrderInEnumX", 
"errEnumXHasHoles", 
"errExceptExpected", 
"errInvalidTry", 
"errOptionExpected", 
"errXisNoLabel", 
"errNotAllCasesCovered", 
"errUnknownSubstitionVar", 
"errComplexStmtRequiresInd", 
"errXisNotCallable", 
"errNoPragmasAllowedForX", 
"errNoGenericParamsAllowedForX", 
"errInvalidParamKindX", 
"errDefaultArgumentInvalid", 
"errNamedParamHasToBeIdent", 
"errNoReturnTypeForX", 
"errConvNeedsOneArg", 
"errInvalidPragmaX", 
"errXNotAllowedHere", 
"errInvalidControlFlowX", 
"errXisNoType", 
"errCircumNeedsPointer", 
"errInvalidExpression", 
"errInvalidExpressionX", 
"errEnumHasNoValueX", 
"errNamedExprExpected", 
"errNamedExprNotAllowed", 
"errXExpectsOneTypeParam", 
"errArrayExpectsTwoTypeParams", 
"errInvalidVisibilityX", 
"errInitHereNotAllowed", 
"errXCannotBeAssignedTo", 
"errIteratorNotAllowed", 
"errXNeedsReturnType", 
"errNoReturnTypeDeclared", 
"errNoCommand", 
"errInvalidCommandX", 
"errXOnlyAtModuleScope", 
"errXNeedsParamObjectType", 
"errTemplateInstantiationTooNested", 
"errInstantiationFrom", 
"errInvalidIndexValueForTuple", 
"errCommandExpectsFilename", 
"errMainModuleMustBeSpecified", 
"errXExpected", 
"errTIsNotAConcreteType", 
"errInvalidSectionStart", 
"errGridTableNotImplemented", 
"errGeneralParseError", 
"errNewSectionExpected", 
"errWhitespaceExpected", 
"errXisNoValidIndexFile", 
"errCannotRenderX", 
"errVarVarTypeNotAllowed", 
"errInstantiateXExplicitly", 
"errOnlyACallOpCanBeDelegator", 
"errUsingNoSymbol", 
"errMacroBodyDependsOnGenericTypes", 
"errDestructorNotGenericEnough", 
"errInlineIteratorsAsProcParams", 
"errXExpectsTwoArguments", 
"errXExpectsObjectTypes", 
"errXcanNeverBeOfThisSubtype", 
"errTooManyIterations", 
"errCannotInterpretNodeX", 
"errFieldXNotFound", 
"errInvalidConversionFromTypeX", 
"errAssertionFailed", 
"errCannotGenerateCodeForX", 
"errXRequiresOneArgument", 
"errUnhandledExceptionX", 
"errCyclicTree", 
"errXisNoMacroOrTemplate", 
"errXhasSideEffects", 
"errIteratorExpected", 
"errLetNeedsInit", 
"errThreadvarCannotInit", 
"errWrongSymbolX", 
"errIllegalCaptureX", 
"errXCannotBeClosure", 
"errXMustBeCompileTime", 
"errCannotInferTypeOfTheLiteral", 
"errCannotInferReturnType", 
"errGenericLambdaNotAllowed", 
"errCompilerDoesntSupportTarget", 
"errExternalAssemblerNotFound", 
"errExternalAssemblerNotValid", 
"errUser", 
"warnCannotOpenFile", 
"warnOctalEscape", 
"warnXIsNeverRead", 
"warnXmightNotBeenInit", 
"warnDeprecated", 
"warnConfigDeprecated", 
"warnSmallLshouldNotBeUsed", 
"warnUnknownMagic", 
"warnRedefinitionOfLabel", 
"warnUnknownSubstitutionX", 
"warnLanguageXNotSupported", 
"warnFieldXNotSupported", 
"warnCommentXIgnored", 
"warnNilStatement", 
"warnTypelessParam", 
"warnUseBase", 
"warnWriteToForeignHeap", 
"warnUnsafeCode", 
"warnEachIdentIsTuple", 
"warnShadowIdent", 
"warnProveInit", 
"warnProveField", 
"warnProveIndex", 
"warnGcUnsafe", 
"warnGcUnsafe2", 
"warnUninit", 
"warnGcMem", 
"warnDestructor", 
"warnLockLevel", 
"warnResultShadowed", 
"warnUser", 
"hintSuccess", 
"hintSuccessX", 
"hintLineTooLong", 
"hintXDeclaredButNotUsed", 
"hintConvToBaseNotNeeded", 
"hintConvFromXtoItselfNotNeeded", 
"hintExprAlwaysX", 
"hintQuitCalled", 
"hintProcessing", 
"hintCodeBegin", 
"hintCodeEnd", 
"hintConf", 
"hintPath", 
"hintConditionAlwaysTrue", 
"hintName", 
"hintPattern", 
"hintExecuting", 
"hintLinking", 
"hintDependency", 
"hintSource", 
"hintStackTrace", 
"hintGCStats", 
"hintUser"};
static TNimNode TMP21[307];
NTI192334.size = sizeof(Tfileinfo192334);
NTI192334.kind = 18;
NTI192334.base = 0;
NTI192334.flags = 2;
TMP146[0] = &TMP21[1];
TMP21[1].kind = 1;
TMP21[1].offset = offsetof(Tfileinfo192334, fullpath);
TMP21[1].typ = (&NTI138);
TMP21[1].name = "fullPath";
TMP146[1] = &TMP21[2];
TMP21[2].kind = 1;
TMP21[2].offset = offsetof(Tfileinfo192334, projpath);
TMP21[2].typ = (&NTI138);
TMP21[2].name = "projPath";
TMP146[2] = &TMP21[3];
TMP21[3].kind = 1;
TMP21[3].offset = offsetof(Tfileinfo192334, shortname);
TMP21[3].typ = (&NTI138);
TMP21[3].name = "shortName";
TMP146[3] = &TMP21[4];
TMP21[4].kind = 1;
TMP21[4].offset = offsetof(Tfileinfo192334, quotedname);
TMP21[4].typ = (&NTI179004);
TMP21[4].name = "quotedName";
TMP146[4] = &TMP21[5];
TMP21[5].kind = 1;
TMP21[5].offset = offsetof(Tfileinfo192334, quotedfullname);
TMP21[5].typ = (&NTI179004);
TMP21[5].name = "quotedFullName";
TMP146[5] = &TMP21[6];
NTI192350.size = sizeof(TY192350*);
NTI192350.kind = 24;
NTI192350.base = (&NTI179004);
NTI192350.flags = 2;
NTI192350.marker = TMP147;
TMP21[6].kind = 1;
TMP21[6].offset = offsetof(Tfileinfo192334, lines);
TMP21[6].typ = (&NTI192350);
TMP21[6].name = "lines";
TMP146[6] = &TMP21[7];
TMP21[7].kind = 1;
TMP21[7].offset = offsetof(Tfileinfo192334, dirtyfile);
TMP21[7].typ = (&NTI138);
TMP21[7].name = "dirtyfile";
TMP21[0].len = 7; TMP21[0].kind = 2; TMP21[0].sons = &TMP146[0];
NTI192334.node = &TMP21[0];
NTI192612.size = sizeof(TY192612*);
NTI192612.kind = 24;
NTI192612.base = (&NTI192334);
NTI192612.flags = 2;
NTI192612.marker = TMP148;
NTI192336.size = sizeof(Tlineinfo192336);
NTI192336.kind = 18;
NTI192336.base = 0;
NTI192336.flags = 3;
TMP154[0] = &TMP21[9];
TMP21[9].kind = 1;
TMP21[9].offset = offsetof(Tlineinfo192336, line);
TMP21[9].typ = (&NTI108);
TMP21[9].name = "line";
TMP154[1] = &TMP21[10];
TMP21[10].kind = 1;
TMP21[10].offset = offsetof(Tlineinfo192336, col);
TMP21[10].typ = (&NTI108);
TMP21[10].name = "col";
TMP154[2] = &TMP21[11];
TMP21[11].kind = 1;
TMP21[11].offset = offsetof(Tlineinfo192336, fileindex);
TMP21[11].typ = (&NTI110);
TMP21[11].name = "fileIndex";
TMP21[8].len = 3; TMP21[8].kind = 2; TMP21[8].sons = &TMP154[0];
NTI192336.node = &TMP21[8];
NTI193083.size = sizeof(TY193083*);
NTI193083.kind = 24;
NTI193083.base = (&NTI192336);
NTI193083.flags = 2;
NTI193083.marker = TMP155;
NTI192342.size = sizeof(Erecoverableerror192342);
NTI192342.kind = 17;
NTI192342.base = (&NTI3646);
TMP21[12].len = 0; TMP21[12].kind = 2;
NTI192342.node = &TMP21[12];
NTI193055.size = sizeof(Erecoverableerror192342*);
NTI193055.kind = 22;
NTI193055.base = (&NTI192342);
NTI193055.marker = TMP506;
NTI192002.size = sizeof(NU16);
NTI192002.kind = 14;
NTI192002.base = 0;
NTI192002.flags = 3;
for (TMP2136 = 0; TMP2136 < 291; TMP2136++) {
TMP21[TMP2136+13].kind = 1;
TMP21[TMP2136+13].offset = TMP2136;
TMP21[TMP2136+13].name = TMP2135[TMP2136];
TMP2134[TMP2136] = &TMP21[TMP2136+13];
}
TMP21[304].len = 291; TMP21[304].kind = 2; TMP21[304].sons = &TMP2134[0];
NTI192002.node = &TMP21[304];
NTI192330.size = sizeof(NU16);
NTI192330.kind = 20;
NTI192330.base = (&NTI192002);
NTI192330.flags = 3;
NTI192332.size = sizeof(NU64);
NTI192332.kind = 19;
NTI192332.base = (&NTI192330);
NTI192332.flags = 3;
TMP21[305].len = 237; TMP21[305].kind = 0;
NTI192332.node = &TMP21[305];
NTI192344.size = sizeof(Esuggestdone192344);
NTI192344.kind = 17;
NTI192344.base = (&NTI3624);
TMP21[306].len = 0; TMP21[306].kind = 2;
NTI192344.node = &TMP21[306];
NTI193154.size = sizeof(Esuggestdone192344*);
NTI193154.kind = 22;
NTI193154.base = (&NTI192344);
NTI193154.marker = TMP2869;
}

