aboutsummaryrefslogtreecommitdiff
/* Generated by Nim Compiler v1.6.12 */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw;
typedef struct tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA;
typedef struct tyObject_GcHeap__iDiTSZpQ7px0t5vNrxVbUA tyObject_GcHeap__iDiTSZpQ7px0t5vNrxVbUA;
typedef struct tyObject_GcStack__UCyPjkT5JTcDkiVmdF9b1Hg tyObject_GcStack__UCyPjkT5JTcDkiVmdF9b1Hg;
typedef struct tyObject_MemRegion__Gp1H3ulLE0JSwys9chSegUQ tyObject_MemRegion__Gp1H3ulLE0JSwys9chSegUQ;
typedef struct tyObject_SmallChunk__IlnS2SZ9b9a9aa7geF7H7WlTQ tyObject_SmallChunk__IlnS2SZ9b9a9aa7geF7H7WlTQ;
typedef struct tyObject_BigChunk__w1NV79cuBqFbXit4Tp17eOg tyObject_BigChunk__w1NV79cuBqFbXit4Tp17eOg;
typedef struct tyObject_LLChunk__SQF3x9cXavsoHTw29byqkDLw tyObject_LLChunk__SQF3x9cXavsoHTw29byqkDLw;
typedef struct tyObject_IntSet__2jdqyVr8TdkdzxtDR9cMNeA tyObject_IntSet__2jdqyVr8TdkdzxtDR9cMNeA;
typedef struct tyObject_Trunk__49cO1kD2eWrtb8yk3xFe3Mg tyObject_Trunk__49cO1kD2eWrtb8yk3xFe3Mg;
typedef struct tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw;
typedef struct tyObject_HeapLinks__F5ahjOdOdTkYY2d0Q2Gl8A tyObject_HeapLinks__F5ahjOdOdTkYY2d0Q2Gl8A;
typedef struct tyTuple__KO8Ebr67mzOYgVGVXIV5PQ tyTuple__KO8Ebr67mzOYgVGVXIV5PQ;
typedef struct tyObject_GcStat__VaNnSVm7WoX0lNTqTCv50w tyObject_GcStat__VaNnSVm7WoX0lNTqTCv50w;
typedef struct tyObject_CellSet__1gT1qjnSW9cWCbrErC2YjgA tyObject_CellSet__1gT1qjnSW9cWCbrErC2YjgA;
typedef struct tyObject_PageDesc__2k4DJQa4eGP2jIhQQvG7aQ tyObject_PageDesc__2k4DJQa4eGP2jIhQQvG7aQ;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg {
NimStringDesc* name;
NI age;
};
typedef tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg tyArray__3ZLM5yW0QMKoSQQYqBR4sQ[2];
typedef NU8 tyEnum_TNimKind__dRYPikfx8C6QeI2ANiRwTw;
typedef NU8 tySet_tyEnum_TNimTypeFlag__L6XiVPmbiz6rQWqIFXIsjg;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__dRYPikfx8C6QeI2ANiRwTw kind;
tySet_tyEnum_TNimTypeFlag__L6XiVPmbiz6rQWqIFXIsjg flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__zmvn9aqxMUIOpaIc6RYBPNg;
struct TNimNode {
tyEnum_TNimNodeKind__zmvn9aqxMUIOpaIc6RYBPNg kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__UCyPjkT5JTcDkiVmdF9b1Hg {
void* bottom;
};
struct tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA {
NI len;
NI cap;
tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw** d;
};
typedef tyObject_SmallChunk__IlnS2SZ9b9a9aa7geF7H7WlTQ* tyArray__M5QRq6N4svLoIwlZOmQxHQ[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__w1NV79cuBqFbXit4Tp17eOg* tyArray__ncS3w2BYKGi9bXT5b1e3WWA[32];
typedef tyArray__ncS3w2BYKGi9bXT5b1e3WWA tyArray__O9b1hn09cFfHywfOftglH4MQ[24];
typedef tyObject_Trunk__49cO1kD2eWrtb8yk3xFe3Mg* tyArray__K9awrF1N4sTg9c39conY9aozxw[256];
struct tyObject_IntSet__2jdqyVr8TdkdzxtDR9cMNeA {
tyArray__K9awrF1N4sTg9c39conY9aozxw data;
};
typedef tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw* tyArray__Jee6tsSzFCBDKArKW15qfA[2];
struct tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw {
tyArray__Jee6tsSzFCBDKArKW15qfA link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__KO8Ebr67mzOYgVGVXIV5PQ {
tyObject_BigChunk__w1NV79cuBqFbXit4Tp17eOg* Field0;
NI Field1;
};
typedef tyTuple__KO8Ebr67mzOYgVGVXIV5PQ tyArray__FxF33lwaa0ndwuf7R7TmBw[30];
struct tyObject_HeapLinks__F5ahjOdOdTkYY2d0Q2Gl8A {
NI len;
tyArray__FxF33lwaa0ndwuf7R7TmBw chunks;
tyObject_HeapLinks__F5ahjOdOdTkYY2d0Q2Gl8A* next;
};
struct tyObject_MemRegion__Gp1H3ulLE0JSwys9chSegUQ {
NI minLargeObj;
NI maxLargeObj;
tyArray__M5QRq6N4svLoIwlZOmQxHQ freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__O9b1hn09cFfHywfOftglH4MQ matrix;
tyObject_LLChunk__SQF3x9cXavsoHTw29byqkDLw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__2jdqyVr8TdkdzxtDR9cMNeA chunkStarts;
tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw* root;
tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw* deleted;
tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw* last;
tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IYoO7WMK5SrBWxv8MOtVcw bottomData;
tyObject_HeapLinks__F5ahjOdOdTkYY2d0Q2Gl8A heapLinks;
};
struct tyObject_GcStat__VaNnSVm7WoX0lNTqTCv50w {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__1gT1qjnSW9cWCbrErC2YjgA {
NI counter;
NI max;
tyObject_PageDesc__2k4DJQa4eGP2jIhQQvG7aQ* head;
tyObject_PageDesc__2k4DJQa4eGP2jIhQQvG7aQ** data;
};
struct tyObject_GcHeap__iDiTSZpQ7px0t5vNrxVbUA {
tyObject_GcStack__UCyPjkT5JTcDkiVmdF9b1Hg stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA zct;
tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA decStack;
tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA tempStack;
NI recGcLock;
tyObject_MemRegion__Gp1H3ulLE0JSwys9chSegUQ region;
tyObject_GcStat__VaNnSVm7WoX0lNTqTCv50w stat;
tyObject_CellSet__1gT1qjnSW9cWCbrErC2YjgA marked;
tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA additionalRoots;
NI gcThreadId;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef NI tyArray__oXFh4MvEDAk4hEbFQSH7yQ[6];
typedef NimStringDesc* tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4];
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_3)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_7)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5310)(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5308)(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5259)(tyObject_CellSeq__6qQxmDUC9aUb88gPyztChFA* s, tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* c);
static N_INLINE(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw*, usrToCell__system_5265)(void* usr);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5303)(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_8)(void);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(void, formatValue__pureZstrformat_162)(NimStringDesc** result, NimStringDesc* value, NimStringDesc* specifier);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, formatValue__example_46)(NimStringDesc** result, NI value, NimStringDesc* specifier);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_14)(void);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmexampledotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
N_LIB_PRIVATE TNimType NTIperson__NF2Erj5R8mAkjQbMRdkMjg_;
extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
extern TNimType NTIint__hLlQjbV9bLNq5PFxYcqacsA_;
N_LIB_PRIVATE TNimType NTIarrayL48OO49_personT__3ZLM5yW0QMKoSQQYqBR4sQ_;
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_5, "John", 4);
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_6, "Kate", 4);
static NIM_CONST tyArray__3ZLM5yW0QMKoSQQYqBR4sQ TM__DfQaFFoJOv5Rj9bYYIj8A9cg_4 = {{((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_5), ((NI) 45)}
,
{((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_6), ((NI) 30)}
}
;
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_9, " is ", 4);
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_10, " years old", 10);
static NIM_CONST tyArray__oXFh4MvEDAk4hEbFQSH7yQ TM__DfQaFFoJOv5Rj9bYYIj8A9cg_12 = {((NI) 3),
((NI) 6),
((NI) 9),
((NI) 12),
((NI) 15),
((NI) 18)}
;
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_15, "mov", 3);
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_16, "btc", 3);
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_17, "cli", 3);
STRING_LITERAL(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_18, "xor", 3);
N_LIB_PRIVATE NIM_CONST tyArray__sMpvt1sOxOJ3LFGulnbeMQ opcodes__example_187 = {((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_15),
((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_16),
((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_17),
((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_18)}
;
N_LIB_PRIVATE tyArray__3ZLM5yW0QMKoSQQYqBR4sQ people__example_5;
N_LIB_PRIVATE tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg person__example_31;
extern tyObject_GcHeap__iDiTSZpQ7px0t5vNrxVbUA gch__system_5212;
N_LIB_PRIVATE NimStringDesc* fmtRes__example_40;
N_LIB_PRIVATE NI odd__example_154;
N_LIB_PRIVATE NimStringDesc* o__example_213;
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_3)(void) {
	NI T1_;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < 2; T1_++) {
	nimGCvisit((void*)people__example_5[T1_].name, 0);
	}
}
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_7)(void) {
	nimGCvisit((void*)person__example_31.name, 0);
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__system_5308)(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* c) {
	addZCT__system_5259((&gch__system_5212.zct), c);
}
static N_INLINE(void, decRef__system_5310)(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* c) {
	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__system_5308(c);
	}
	LA4_: ;
}
static N_INLINE(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw*, usrToCell__system_5265)(void* usr) {
	tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* result;
	NI T1_;
	result = (tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw*) (T1_));
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* T1_;
	T1_ = (tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw*)0;
	T1_ = usrToCell__system_5265(p);
	decRef__system_5310(T1_);
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__system_5303)(tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* c) {
	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw*)0;
		T5_ = usrToCell__system_5265(src);
		incRef__system_5303(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__bP7dB0nNeqVXKcR6F9axfyw*)0;
		T10_ = usrToCell__system_5265((*dest));
		decRef__system_5310(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_8)(void) {
	nimGCvisit((void*)fmtRes__example_40, 0);
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_NIMCALL(void, TM__DfQaFFoJOv5Rj9bYYIj8A9cg_14)(void) {
	nimGCvisit((void*)o__example_213, 0);
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
	nimGC_setStackBottom(locals);
}

N_LIB_PRIVATE void PreMainInner(void) {
}

N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
	void (*volatile inner)(void);
	inner = PreMainInner;
	atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_DatInit000();
	initStackBottomWith((void *)&inner);
	atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_Init000();
	atmexampledotnim_DatInit000();
	(*inner)();
}

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

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

int main(int argc, char** args, char** env) {
	cmdLine = args;
	cmdCount = argc;
	gEnv = env;
	NimMain();
	return nim_program_result;
}

N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
	TFrame FR_; FR_.len = 0;

	nimRegisterGlobalMarker(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_3);


	nimRegisterGlobalMarker(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_7);


	nimRegisterGlobalMarker(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_8);


	nimRegisterGlobalMarker(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_14);

}/* preInitProc end */
{
	genericAssign((void*)people__example_5, (void*)TM__DfQaFFoJOv5Rj9bYYIj8A9cg_4, (&NTIarrayL48OO49_personT__3ZLM5yW0QMKoSQQYqBR4sQ_));
	{
		NI i;
		i = ((NI) 0);
		{
			while (1) {
				NimStringDesc* T4_;
				tyArray__nHXaesL0DJZHyVS07ARPRA T5_;
				NI TM__DfQaFFoJOv5Rj9bYYIj8A9cg_11;
				T4_ = NIM_NIL;
				T4_ = person__example_31.name; person__example_31.name = copyStringRC1(people__example_5[(i)- 0].name);
				if (T4_) nimGCunrefNoCycle(T4_);
				person__example_31.age = people__example_5[(i)- 0].age;
				nimZeroMem((void*)T5_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
				asgnRef((void**) (&fmtRes__example_40), NIM_NIL);
				asgnRef((void**) (&fmtRes__example_40), rawNewString(((NI) 59)));
				formatValue__pureZstrformat_162((&fmtRes__example_40), person__example_31.name, ((NimStringDesc*) NIM_NIL));
				asgnRef((void**) (&fmtRes__example_40), resizeString(fmtRes__example_40, 4));
appendString(fmtRes__example_40, ((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_9));
				formatValue__example_46((&fmtRes__example_40), person__example_31.age, ((NimStringDesc*) NIM_NIL));
				asgnRef((void**) (&fmtRes__example_40), resizeString(fmtRes__example_40, 10));
appendString(fmtRes__example_40, ((NimStringDesc*) &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_10));
				T5_[0] = copyString(fmtRes__example_40);
				echoBinSafe(T5_, 1);
				{
					if (!(((NI) 1) <= ((NI) (i)))) goto LA8_;
					goto LA2;
				}
				LA8_: ;
				if (nimAddInt(i, ((NI) 1), &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_11)) { raiseOverflow(); };
				if (TM__DfQaFFoJOv5Rj9bYYIj8A9cg_11 < 0 || TM__DfQaFFoJOv5Rj9bYYIj8A9cg_11 > 1){ raiseOverflow(); }
				i = (NI)(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_11);
			}
		} LA2: ;
	}
	{
		{
			NI x;
			NI i_2;
			x = (NI)0;
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM__DfQaFFoJOv5Rj9bYYIj8A9cg_13;
					x = TM__DfQaFFoJOv5Rj9bYYIj8A9cg_12[(i_2)- 0];
					{
						tyArray__nHXaesL0DJZHyVS07ARPRA T18_;
						if (!((NI)(x % ((NI) 2)) == ((NI) 1))) goto LA16_;
						odd__example_154 = x;
						nimZeroMem((void*)T18_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
						T18_[0] = dollar___systemZdollars_3(odd__example_154);
						echoBinSafe(T18_, 1);
					}
					LA16_: ;
					{
						if (!(((NI) 5) <= ((NI) (i_2)))) goto LA21_;
						goto LA12;
					}
					LA21_: ;
					if (nimAddInt(i_2, ((NI) 1), &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_13)) { raiseOverflow(); };
					if (TM__DfQaFFoJOv5Rj9bYYIj8A9cg_13 < 0 || TM__DfQaFFoJOv5Rj9bYYIj8A9cg_13 > 5){ raiseOverflow(); }
					i_2 = (NI)(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_13);
				}
			} LA12: ;
		}
	}
	{
		NI i_3;
		i_3 = ((NI) 0);
		{
			while (1) {
				NimStringDesc* T26_;
				tyArray__nHXaesL0DJZHyVS07ARPRA T27_;
				NI TM__DfQaFFoJOv5Rj9bYYIj8A9cg_19;
				T26_ = NIM_NIL;
				T26_ = o__example_213; o__example_213 = copyStringRC1(opcodes__example_187[(i_3)- 0]);
				if (T26_) nimGCunrefNoCycle(T26_);
				nimZeroMem((void*)T27_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
				T27_[0] = copyString(o__example_213);
				echoBinSafe(T27_, 1);
				{
					if (!(((NI) 3) <= ((NI) (i_3)))) goto LA30_;
					goto LA24;
				}
				LA30_: ;
				if (nimAddInt(i_3, ((NI) 1), &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_19)) { raiseOverflow(); };
				if (TM__DfQaFFoJOv5Rj9bYYIj8A9cg_19 < 0 || TM__DfQaFFoJOv5Rj9bYYIj8A9cg_19 > 3){ raiseOverflow(); }
				i_3 = (NI)(TM__DfQaFFoJOv5Rj9bYYIj8A9cg_19);
			}
		} LA24: ;
	}
}
}

N_LIB_PRIVATE N_NIMCALL(void, atmexampledotnim_DatInit000)(void) {
static TNimNode* TM__DfQaFFoJOv5Rj9bYYIj8A9cg_2_2[2];
static TNimNode TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[3];
NTIperson__NF2Erj5R8mAkjQbMRdkMjg_.size = sizeof(tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg);
NTIperson__NF2Erj5R8mAkjQbMRdkMjg_.align = NIM_ALIGNOF(tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg);
NTIperson__NF2Erj5R8mAkjQbMRdkMjg_.kind = 18;
NTIperson__NF2Erj5R8mAkjQbMRdkMjg_.base = 0;
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_2_2[0] = &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[1];
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[1].kind = 1;
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[1].offset = offsetof(tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg, name);
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[1].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[1].name = "name";
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_2_2[1] = &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[2];
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[2].kind = 1;
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[2].offset = offsetof(tyObject_Person__NF2Erj5R8mAkjQbMRdkMjg, age);
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[2].typ = (&NTIint__hLlQjbV9bLNq5PFxYcqacsA_);
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[2].name = "age";
TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[0].len = 2; TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[0].kind = 2; TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[0].sons = &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_2_2[0];
NTIperson__NF2Erj5R8mAkjQbMRdkMjg_.node = &TM__DfQaFFoJOv5Rj9bYYIj8A9cg_0[0];
NTIarrayL48OO49_personT__3ZLM5yW0QMKoSQQYqBR4sQ_.size = sizeof(tyArray__3ZLM5yW0QMKoSQQYqBR4sQ);
NTIarrayL48OO49_personT__3ZLM5yW0QMKoSQQYqBR4sQ_.align = NIM_ALIGNOF(tyArray__3ZLM5yW0QMKoSQQYqBR4sQ);
NTIarrayL48OO49_personT__3ZLM5yW0QMKoSQQYqBR4sQ_.kind = 16;
NTIarrayL48OO49_personT__3ZLM5yW0QMKoSQQYqBR4sQ_.base = (&NTIperson__NF2Erj5R8mAkjQbMRdkMjg_);
}