/ nimble-linux / @m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@ssystem@sio.nim.c
@m..@s..@s..@s..@s.choosenim@stoolchains@snim-@hversion-1-6@slib@ssystem@sio.nim.c
   1  /* Generated by Nim Compiler v1.6.11 */
   2  #define NIM_INTBITS 64
   3  
   4  #include "nimbase.h"
   5  #include <stdio.h>
   6  #include <string.h>
   7  #include <errno.h>
   8  #include <fcntl.h>
   9  #include <sys/stat.h>
  10  #include <sys/types.h>
  11  #include <setjmp.h>
  12  #include <sys/ioctl.h>
  13  #undef LANGUAGE_C
  14  #undef MIPSEB
  15  #undef MIPSEL
  16  #undef PPC
  17  #undef R3000
  18  #undef R4000
  19  #undef i386
  20  #undef linux
  21  #undef mips
  22  #undef near
  23  #undef far
  24  #undef powerpc
  25  #undef unix
  26    #  define nimfr_(proc, file) \
  27        TFrame FR_; \
  28        FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
  29  
  30    #  define nimfrs_(proc, file, slots, length) \
  31        struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
  32        FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
  33  
  34    #  define nimln_(n, file) \
  35        FR_.line = n; FR_.filename = file;
  36    typedef struct TNimType TNimType;
  37  typedef struct TNimNode TNimNode;
  38  typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
  39  typedef struct TGenericSeq TGenericSeq;
  40  typedef struct NimStringDesc NimStringDesc;
  41  typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
  42  typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
  43  typedef struct Exception Exception;
  44  typedef struct RootObj RootObj;
  45  typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
  46  typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
  47  typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
  48  typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
  49  typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
  50  typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
  51  typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
  52  typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
  53  typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
  54  typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
  55  typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
  56  typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
  57  typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
  58  typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
  59  typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
  60  typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
  61  typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
  62  typedef struct TSafePoint TSafePoint;
  63  typedef struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg;
  64  typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
  65  typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
  66  typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
  67  typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
  68  typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
  69  struct TNimType {
  70  NI size;
  71  NI align;
  72  tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
  73  tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
  74  TNimType* base;
  75  TNimNode* node;
  76  void* finalizer;
  77  tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
  78  tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
  79  };
  80  typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
  81  struct TNimNode {
  82  tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
  83  NI offset;
  84  TNimType* typ;
  85  NCSTRING name;
  86  NI len;
  87  TNimNode** sons;
  88  };
  89  struct TGenericSeq {
  90  NI len;
  91  NI reserved;
  92  };
  93  struct NimStringDesc {
  94    TGenericSeq Sup;
  95  NIM_CHAR data[SEQ_DECL_SIZE];
  96  };
  97  struct RootObj {
  98  TNimType* m_type;
  99  };
 100  struct Exception {
 101    RootObj Sup;
 102  Exception* parent;
 103  NCSTRING name;
 104  NimStringDesc* message;
 105  tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
 106  Exception* up;
 107  };
 108  struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
 109    Exception Sup;
 110  };
 111  struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
 112    tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
 113  };
 114  struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
 115  NI refcount;
 116  TNimType* typ;
 117  };
 118  struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
 119  void* bottom;
 120  };
 121  struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
 122  NI len;
 123  NI cap;
 124  tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
 125  };
 126  typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
 127  typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
 128  typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
 129  typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
 130  typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
 131  struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
 132  tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
 133  };
 134  typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
 135  struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
 136  tyArray__0aOLqZchNi8nWtMTi8ND8w link;
 137  NI key;
 138  NI upperBound;
 139  NI level;
 140  };
 141  struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
 142  tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
 143  NI Field1;
 144  };
 145  typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
 146  struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
 147  NI len;
 148  tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
 149  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
 150  };
 151  struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
 152  NI minLargeObj;
 153  NI maxLargeObj;
 154  tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
 155  NU32 flBitmap;
 156  tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
 157  tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
 158  tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
 159  NI currMem;
 160  NI maxMem;
 161  NI freeMem;
 162  NI occ;
 163  NI lastSize;
 164  tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
 165  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
 166  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
 167  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
 168  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
 169  NIM_BOOL locked;
 170  NIM_BOOL blockChunkSizeIncrease;
 171  NI nextChunkSize;
 172  tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
 173  tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
 174  };
 175  struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
 176  NI stackScans;
 177  NI cycleCollections;
 178  NI maxThreshold;
 179  NI maxStackSize;
 180  NI maxStackCells;
 181  NI cycleTableSize;
 182  NI64 maxPause;
 183  };
 184  struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
 185  NI counter;
 186  NI max;
 187  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
 188  tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
 189  };
 190  struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
 191  tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
 192  NI cycleThreshold;
 193  NI zctThreshold;
 194  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
 195  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
 196  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
 197  NI recGcLock;
 198  tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
 199  tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
 200  tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
 201  tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
 202  NI gcThreadId;
 203  };
 204  typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
 205  typedef NCSTRING tyArray__Djap3EijveoDksCG9bY8s5w[5];
 206  typedef NIM_CHAR tyArray__PbS9a6gkxCuxWEnFq4lOU9aw[24];
 207  typedef NIM_CHAR tyArray__hToc9cajraNwyrQdTvLCS3A[116];
 208  typedef NU8 tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw;
 209  typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
 210  struct TSafePoint {
 211  TSafePoint* prev;
 212  NI status;
 213  jmp_buf context;
 214  };
 215  struct tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg {
 216    tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw Sup;
 217  };
 218  struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
 219  NCSTRING procname;
 220  NI line;
 221  NCSTRING filename;
 222  };
 223  struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
 224    TGenericSeq Sup;
 225    NimStringDesc* data[SEQ_DECL_SIZE];
 226  };
 227  struct tySequence__uB9b75OUPRENsBAu4AnoePA {
 228    TGenericSeq Sup;
 229    tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
 230  };
 231  N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
 232  static N_NIMCALL(void, Marker_tySequence__sM4lkSb7zS6F7OVMvW9cffQ)(void* p, NI op);
 233  N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__systemZio_176)(FILE* f, void* buffer, NI len);
 234  N_LIB_PRIVATE N_NIMCALL(void, checkErr__systemZio_141)(FILE* f);
 235  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
 236  static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
 237  static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
 238  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
 239  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
 240  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
 241  N_LIB_PRIVATE N_NOINLINE(void, raiseEIO__systemZio_96)(NimStringDesc* msg) __attribute__((noreturn));
 242  N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
 243  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
 244  static N_INLINE(void, nimGCunrefNoCycle)(void* p);
 245  static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 246  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
 247  static N_INLINE(void, nimFrame)(TFrame* s);
 248  N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
 249  static N_INLINE(void, popFrame)(void);
 250  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
 251  static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 252  N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5293)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 253  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr);
 254  static N_INLINE(void, asgnRef)(void** dest, void* src);
 255  static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
 256  static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
 257  N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
 258  static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
 259  N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
 260  N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
 261  N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
 262  N_LIB_PRIVATE N_NIMCALL(int, getFileHandle__systemZio_228)(FILE* f);
 263  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, modeIsDir__systemZio_377)(mode_t m);
 264  N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f);
 265  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
 266  N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
 267  static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y);
 268  N_LIB_PRIVATE N_NIMCALL(NI64, getFilePos__systemZio_452)(FILE* f);
 269  N_LIB_PRIVATE N_NIMCALL(void, setFilePos__systemZio_439)(FILE* f, NI64 pos, tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw relativeTo);
 270  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_392)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
 271  static N_INLINE(void, pushSafePoint)(TSafePoint* s);
 272  N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(FILE* f, NimStringDesc* s);
 273  static N_INLINE(void, popSafePoint)(void);
 274  static N_INLINE(TFrame*, getFrame)(void);
 275  static N_INLINE(void, setFrame)(TFrame* s);
 276  N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
 277  N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
 278  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, setInheritable__systemZio_234)(int f, NIM_BOOL inheritable);
 279  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAll__systemZio_350)(FILE* file);
 280  N_LIB_PRIVATE N_NIMCALL(NI64, rawFileSize__systemZio_333)(FILE* file);
 281  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllFile__systemZio_341)(FILE* file, NI64 len);
 282  N_NIMCALL(NimStringDesc*, mnewString)(NI len);
 283  N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__systemZio_144)(FILE* f, void* buffer, NI len);
 284  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endOfFile__systemZio_337)(FILE* f);
 285  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllBuffer__systemZio_328)(FILE* file);
 286  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
 287  N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
 288  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__systemZio_238)(FILE* f, NimStringDesc** line);
 289  N_LIB_PRIVATE N_NOINLINE(void, raiseEOF__systemZio_117)(void) __attribute__((noreturn));
 290  N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorU)(NU64 i, NU64 a, NU64 b);
 291  extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
 292  N_LIB_PRIVATE TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
 293  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_2, "errno: ", 7);
 294  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_3, " `", 2);
 295  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_4, "`", 1);
 296  extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
 297  extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
 298  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_5, "cannot write string to file", 27);
 299  N_LIB_PRIVATE NIM_CONST tyArray__Djap3EijveoDksCG9bY8s5w FormatOpen__systemZio_371 = {"rbe",
 300  "wbe",
 301  "w+be",
 302  "r+be",
 303  "abe"}
 304  ;
 305  N_LIB_PRIVATE TNimType NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_;
 306  N_LIB_PRIVATE TNimType NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_;
 307  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_7, "cannot set file position", 24);
 308  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_8, "cannot retrieve file position", 29);
 309  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_23, "cannot open: ", 13);
 310  N_LIB_PRIVATE TNimType NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_;
 311  extern TNimType NTIrefeoferror__LEclZrWX2FQAodlapxGITw_;
 312  extern TNimType NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_;
 313  STRING_LITERAL(TM__MnCJ0VAmeZ9aTATUB39cx60Q_25, "EOF reached", 11);
 314  extern TFrame* framePtr__system_2564;
 315  extern TFrame* framePtr__system_2564;
 316  extern TFrame* framePtr__system_2564;
 317  extern TFrame* framePtr__system_2564;
 318  extern TFrame* framePtr__system_2564;
 319  extern TFrame* framePtr__system_2564;
 320  extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5246;
 321  extern TSafePoint* excHandler__system_2565;
 322  extern TSafePoint* excHandler__system_2565;
 323  extern TSafePoint* excHandler__system_2565;
 324  extern TSafePoint* excHandler__system_2565;
 325  extern TFrame* framePtr__system_2564;
 326  extern TFrame* framePtr__system_2564;
 327  static N_NIMCALL(void, Marker_tySequence__sM4lkSb7zS6F7OVMvW9cffQ)(void* p, NI op) {
 328  	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* a;
 329  	NI T1_;
 330  	a = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)p;
 331  	T1_ = (NI)0;
 332  	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
 333  	nimGCvisit((void*)a->data[T1_], op);
 334  	}
 335  }
 336  static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
 337  	void* T1_;
 338  	T1_ = (void*)0;
 339  	T1_ = memcpy(dest, source, ((size_t) (size)));
 340  }
 341  static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
 342  	nimCopyMem(dest, source, size);
 343  }
 344  static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
 345  	{
 346  		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
 347  		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
 348  		(*dest).Sup.len += (*src).Sup.len;
 349  	}
 350  	LA3_: ;
 351  }
 352  static N_INLINE(void, nimFrame)(TFrame* s) {
 353  	{
 354  		if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
 355  		(*s).calldepth = ((NI16) 0);
 356  	}
 357  	goto LA1_;
 358  	LA3_: ;
 359  	{
 360  		(*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
 361  	}
 362  	LA1_: ;
 363  	(*s).prev = framePtr__system_2564;
 364  	framePtr__system_2564 = s;
 365  	{
 366  		if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
 367  		callDepthLimitReached__system_2997();
 368  	}
 369  	LA8_: ;
 370  }
 371  static N_INLINE(void, popFrame)(void) {
 372  	framePtr__system_2564 = (*framePtr__system_2564).prev;
 373  }
 374  static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
 375  	NI result;
 376  	nimfr_("-%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 377  	result = (NI)0;
 378  	nimln_(414, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 379  	nimln_(418, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 380  	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 381  	popFrame();
 382  	return result;
 383  }
 384  static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
 385  	NIM_BOOL result;
 386  	nimfr_("<%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
 387  	result = (NIM_BOOL)0;
 388  	nimln_(186, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
 389  	nimln_(188, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim");
 390  	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 391  	popFrame();
 392  	return result;
 393  }
 394  static N_INLINE(void, rtlAddZCT__system_5342)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 395  	nimfr_("rtlAddZCT", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 396  	nimln_(243, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 397  	addZCT__system_5293((&gch__system_5246.zct), c);
 398  	popFrame();
 399  }
 400  static N_INLINE(void, decRef__system_5344)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 401  	nimfr_("decRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 402  	nimln_(248, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 403  	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
 404  	nimln_(249, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 405  	{
 406  		NIM_BOOL T3_;
 407  		T3_ = (NIM_BOOL)0;
 408  		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
 409  		if (!T3_) goto LA4_;
 410  		nimln_(250, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 411  		rtlAddZCT__system_5342(c);
 412  	}
 413  	LA4_: ;
 414  	popFrame();
 415  }
 416  static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5299)(void* usr) {
 417  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
 418  	NI T1_;
 419  	nimfr_("usrToCell", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 420  	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 421  	nimln_(177, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 422  	T1_ = (NI)0;
 423  	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 424  	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
 425  	popFrame();
 426  	return result;
 427  }
 428  static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
 429  	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
 430  	nimfr_("nimGCunrefNoCycle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 431  	nimln_(276, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 432  	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 433  	T1_ = usrToCell__system_5299(p);
 434  	decRef__system_5344(T1_);
 435  	popFrame();
 436  }
 437  static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
 438  	NI result;
 439  	nimfr_("+%", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 440  	result = (NI)0;
 441  	nimln_(403, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 442  	nimln_(407, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim");
 443  	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 444  	popFrame();
 445  	return result;
 446  }
 447  static N_INLINE(void, incRef__system_5337)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
 448  	nimfr_("incRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 449  	nimln_(231, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 450  	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
 451  	popFrame();
 452  }
 453  static N_INLINE(void, asgnRef)(void** dest, void* src) {
 454  	nimfr_("asgnRef", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 455  	nimln_(286, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 456  	{
 457  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
 458  		if (!!((src == NIM_NIL))) goto LA3_;
 459  		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 460  		T5_ = usrToCell__system_5299(src);
 461  		incRef__system_5337(T5_);
 462  	}
 463  	LA3_: ;
 464  	nimln_(287, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 465  	{
 466  		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
 467  		if (!!(((*dest) == NIM_NIL))) goto LA8_;
 468  		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
 469  		T10_ = usrToCell__system_5299((*dest));
 470  		decRef__system_5344(T10_);
 471  	}
 472  	LA8_: ;
 473  	nimln_(288, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim");
 474  	(*dest) = src;
 475  	popFrame();
 476  }
 477  N_LIB_PRIVATE N_NOINLINE(void, raiseEIO__systemZio_96)(NimStringDesc* msg) {
 478  	tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T1_;
 479  	NimStringDesc* T2_;
 480  	nimfr_("raiseEIO", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 481  	T1_ = NIM_NIL;
 482  	T1_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
 483  	(*T1_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
 484  	(*T1_).Sup.Sup.name = "IOError";
 485  	T2_ = NIM_NIL;
 486  	T2_ = (*T1_).Sup.Sup.message; (*T1_).Sup.Sup.message = copyStringRC1(msg);
 487  	if (T2_) nimGCunrefNoCycle(T2_);
 488  	asgnRef((void**) (&(*T1_).Sup.Sup.parent), ((Exception*) NIM_NIL));
 489  	nimln_(153, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 490  	raiseExceptionEx((Exception*)T1_, "IOError", "raiseEIO", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 153);
 491  	popFrame();
 492  }
 493  N_LIB_PRIVATE N_NIMCALL(void, checkErr__systemZio_141)(FILE* f) {
 494  	nimfr_("checkErr", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 495  	nimln_(167, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 496  	{
 497  		int T3_;
 498  		NimStringDesc* msg;
 499  		NimStringDesc* T6_;
 500  		NimStringDesc* T7_;
 501  		NCSTRING T8_;
 502  		NimStringDesc* T9_;
 503  		T3_ = (int)0;
 504  		T3_ = ferror(f);
 505  		if (!!((T3_ == ((NI32) 0)))) goto LA4_;
 506  		nimln_(168, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 507  		T6_ = NIM_NIL;
 508  		T7_ = NIM_NIL;
 509  		T7_ = dollar___systemZdollars_3(((NI) (errno)));
 510  		T8_ = (NCSTRING)0;
 511  		T8_ = strerror(errno);
 512  		T9_ = NIM_NIL;
 513  		T9_ = cstrToNimstr(T8_);
 514  		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + 10);
 515  appendString(T6_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_2));
 516  appendString(T6_, T7_);
 517  appendString(T6_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_3));
 518  appendString(T6_, T9_);
 519  appendString(T6_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_4));
 520  		msg = T6_;
 521  		nimln_(169, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 522  		clearerr(f);
 523  		nimln_(170, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 524  		raiseEIO__systemZio_96(msg);
 525  	}
 526  	LA4_: ;
 527  	popFrame();
 528  }
 529  N_LIB_PRIVATE N_NIMCALL(NI, writeBuffer__systemZio_176)(FILE* f, void* buffer, NI len) {
 530  	NI result;
 531  	size_t T1_;
 532  	result = (NI)0;
 533  	T1_ = (size_t)0;
 534  	T1_ = fwrite(buffer, ((size_t) 1), ((size_t) (len)), f);
 535  	result = ((NI) (T1_));
 536  	checkErr__systemZio_141(f);
 537  	return result;
 538  }
 539  static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
 540  	NCSTRING result;
 541  	result = (NCSTRING)0;
 542  	{
 543  		NIM_BOOL T3_;
 544  		T3_ = (NIM_BOOL)0;
 545  		T3_ = (s == ((NimStringDesc*) NIM_NIL));
 546  		if (T3_) goto LA4_;
 547  		T3_ = ((*s).Sup.len == ((NI) 0));
 548  		LA4_: ;
 549  		if (!T3_) goto LA5_;
 550  		result = "";
 551  	}
 552  	goto LA1_;
 553  	LA5_: ;
 554  	{
 555  		result = ((NCSTRING) ((*s).data));
 556  	}
 557  	LA1_: ;
 558  	return result;
 559  }
 560  N_LIB_PRIVATE N_NIMCALL(void, write__systemZio_205)(FILE* f, NimStringDesc* s) {
 561  	{
 562  		NI T3_;
 563  		if (((s ? s->Sup.len : 0)) < ((NI) 0) || ((s ? s->Sup.len : 0)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((s ? s->Sup.len : 0), ((NI) 0), ((NI) IL64(9223372036854775807))); }
 564  		T3_ = (NI)0;
 565  		T3_ = writeBuffer__systemZio_176(f, ((void*) (nimToCStringConv(s))), ((NI) ((s ? s->Sup.len : 0))));
 566  		if (!!((T3_ == (s ? s->Sup.len : 0)))) goto LA4_;
 567  		raiseEIO__systemZio_96(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_5));
 568  	}
 569  	LA4_: ;
 570  }
 571  N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0) {
 572  	size_t T5_;
 573  	int T6_;
 574  	nimfr_("echoBinSafe", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 575  	nimln_(815, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 576  	flockfile(stdout);
 577  	{
 578  		NimStringDesc** s;
 579  		NI i;
 580  		s = (NimStringDesc**)0;
 581  		nimln_(8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
 582  		i = ((NI) 0);
 583  		{
 584  			nimln_(9, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
 585  			while (1) {
 586  				size_t T4_;
 587  				NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_6;
 588  				if (!(i < argsLen_0)) goto LA3;
 589  				nimln_(818, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 590  				if (i < 0 || i >= argsLen_0){ raiseIndexError2(i,argsLen_0-1); }
 591  				s = (&args[i]);
 592  				nimln_(822, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 593  				nimln_(818, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 594  				T4_ = (size_t)0;
 595  				T4_ = fwrite(((void*) (nimToCStringConv((*s)))), ((size_t) (((*s) ? (*s)->Sup.len : 0))), ((size_t) 1), stdout);
 596  				(void)(T4_);
 597  				nimln_(11, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim");
 598  				if (nimAddInt(i, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_6)) { raiseOverflow(); };
 599  				i = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_6);
 600  			} LA3: ;
 601  		}
 602  	}
 603  	nimln_(824, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 604  	T5_ = (size_t)0;
 605  	T5_ = fwrite(((void*) ("\012")), ((size_t) 1), ((size_t) 1), stdout);
 606  	(void)(T5_);
 607  	nimln_(825, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 608  	T6_ = (int)0;
 609  	T6_ = fflush(stdout);
 610  	(void)(T6_);
 611  	nimln_(827, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 612  	funlockfile(stdout);
 613  	popFrame();
 614  }
 615  N_LIB_PRIVATE N_NIMCALL(int, getFileHandle__systemZio_228)(FILE* f) {
 616  	int result;
 617  	nimfr_("getFileHandle", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 618  	result = (int)0;
 619  	nimln_(339, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 620  	nimln_(344, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 621  	result = fileno(f);
 622  	popFrame();
 623  	return result;
 624  }
 625  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, modeIsDir__systemZio_377)(mode_t m) {
 626  	NIM_BOOL result;
 627  	nimfr_("modeIsDir", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 628  	result = (NIM_BOOL)0;
 629  	nimln_(668, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 630  	nimln_(669, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 631  	result = ((NI32)(m & ((NI32) 61440)) == ((NI32) 16384));
 632  	popFrame();
 633  	return result;
 634  }
 635  N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f) {
 636  	nimfr_("close", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 637  	nimln_(322, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 638  	{
 639  		int T5_;
 640  		if (!!((f == 0))) goto LA3_;
 641  		nimln_(323, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 642  		T5_ = (int)0;
 643  		T5_ = fclose(f);
 644  		(void)(T5_);
 645  	}
 646  	LA3_: ;
 647  	popFrame();
 648  }
 649  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_392)(FILE** f, NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize) {
 650  	NIM_BOOL result;
 651  	void* p;
 652  	nimfr_("open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 653  {	result = (NIM_BOOL)0;
 654  	nimln_(695, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 655  	p = fopen(nimToCStringConv(filename), FormatOpen__systemZio_371[(mode)- 0]);
 656  	nimln_(696, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 657  	{
 658  		FILE* f2;
 659  		struct stat res;
 660  		if (!!((p == NIM_NIL))) goto LA3_;
 661  		nimln_(697, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 662  		f2 = ((FILE*) (p));
 663  		nimln_(703, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 664  		{
 665  			NIM_BOOL T7_;
 666  			int T8_;
 667  			int T9_;
 668  			T7_ = (NIM_BOOL)0;
 669  			T8_ = (int)0;
 670  			T8_ = getFileHandle__systemZio_228(f2);
 671  			T9_ = (int)0;
 672  			T9_ = fstat(T8_, (&res));
 673  			T7_ = (((NI32) 0) <= T9_);
 674  			if (!(T7_)) goto LA10_;
 675  			T7_ = modeIsDir__systemZio_377(res.st_mode);
 676  			LA10_: ;
 677  			if (!T7_) goto LA11_;
 678  			nimln_(704, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 679  			close__systemZio_217(f2);
 680  			nimln_(705, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 681  			result = NIM_FALSE;
 682  			goto BeforeRet_;
 683  		}
 684  		LA11_: ;
 685  		nimln_(712, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 686  		result = NIM_TRUE;
 687  		nimln_(713, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 688  		(*f) = ((FILE*) (p));
 689  		nimln_(714, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 690  		{
 691  			NIM_BOOL T15_;
 692  			int T19_;
 693  			T15_ = (NIM_BOOL)0;
 694  			T15_ = (((NI) 0) < bufSize);
 695  			if (!(T15_)) goto LA16_;
 696  			T15_ = (bufSize <= ((NI) 2147483647));
 697  			LA16_: ;
 698  			if (!T15_) goto LA17_;
 699  			nimln_(715, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 700  			T19_ = (int)0;
 701  			T19_ = setvbuf((*f), NIM_NIL, _IOFBF, ((size_t) (bufSize)));
 702  			(void)(T19_);
 703  		}
 704  		goto LA13_;
 705  		LA17_: ;
 706  		{
 707  			int T23_;
 708  			nimln_(716, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 709  			if (!(bufSize == ((NI) 0))) goto LA21_;
 710  			nimln_(717, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 711  			T23_ = (int)0;
 712  			T23_ = setvbuf((*f), NIM_NIL, _IONBF, ((size_t) 0));
 713  			(void)(T23_);
 714  		}
 715  		goto LA13_;
 716  		LA21_: ;
 717  		LA13_: ;
 718  	}
 719  	LA3_: ;
 720  	}BeforeRet_: ;
 721  	popFrame();
 722  	return result;
 723  }
 724  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endOfFile__systemZio_337)(FILE* f) {
 725  	NIM_BOOL result;
 726  	int c;
 727  	int T1_;
 728  	nimfr_("endOfFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 729  {	result = (NIM_BOOL)0;
 730  	nimln_(559, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 731  	c = fgetc(f);
 732  	nimln_(560, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 733  	T1_ = (int)0;
 734  	T1_ = ungetc(c, f);
 735  	(void)(T1_);
 736  	nimln_(561, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 737  	result = (c < ((NI32) 0));
 738  	goto BeforeRet_;
 739  	}BeforeRet_: ;
 740  	popFrame();
 741  	return result;
 742  }
 743  N_LIB_PRIVATE N_NIMCALL(void, setFilePos__systemZio_439)(FILE* f, NI64 pos, tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw relativeTo) {
 744  	nimfr_("setFilePos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 745  	nimln_(764, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 746  	{
 747  		int T3_;
 748  		T3_ = (int)0;
 749  		T3_ = fseeko(f, pos, ((int) (relativeTo)));
 750  		if (!!((T3_ == ((NI32) 0)))) goto LA4_;
 751  		nimln_(765, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 752  		raiseEIO__systemZio_96(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_7));
 753  	}
 754  	LA4_: ;
 755  	popFrame();
 756  }
 757  N_LIB_PRIVATE N_NIMCALL(NI64, getFilePos__systemZio_452)(FILE* f) {
 758  	NI64 result;
 759  	nimfr_("getFilePos", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 760  	result = (NI64)0;
 761  	nimln_(770, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 762  	result = ftello(f);
 763  	nimln_(771, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 764  	{
 765  		if (!(result < IL64(0))) goto LA3_;
 766  		raiseEIO__systemZio_96(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_8));
 767  	}
 768  	LA3_: ;
 769  	popFrame();
 770  	return result;
 771  }
 772  N_LIB_PRIVATE N_NIMCALL(NI, readBuffer__systemZio_144)(FILE* f, void* buffer, NI len) {
 773  	NI result;
 774  	size_t T1_;
 775  	result = (NI)0;
 776  	T1_ = (size_t)0;
 777  	T1_ = fread(buffer, ((size_t) 1), ((size_t) (len)), f);
 778  	result = ((NI) (T1_));
 779  	{
 780  		if (!!((result == ((NI) (len))))) goto LA4_;
 781  		checkErr__systemZio_141(f);
 782  	}
 783  	LA4_: ;
 784  	return result;
 785  }
 786  static N_INLINE(NIM_BOOL, eqeq___system_7770)(NCSTRING x, NCSTRING y) {
 787  	NIM_BOOL result;
 788  	nimfr_("==", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 789  	result = (NIM_BOOL)0;
 790  	nimln_(2994, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 791  	{
 792  		if (!(((void*) (x)) == ((void*) (y)))) goto LA3_;
 793  		result = NIM_TRUE;
 794  	}
 795  	goto LA1_;
 796  	LA3_: ;
 797  	{
 798  		NIM_BOOL T6_;
 799  		nimln_(2995, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 800  		T6_ = (NIM_BOOL)0;
 801  		T6_ = (x == 0);
 802  		if (T6_) goto LA7_;
 803  		T6_ = (y == 0);
 804  		LA7_: ;
 805  		if (!T6_) goto LA8_;
 806  		result = NIM_FALSE;
 807  	}
 808  	goto LA1_;
 809  	LA8_: ;
 810  	{
 811  		int T11_;
 812  		nimln_(2996, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim");
 813  		T11_ = (int)0;
 814  		T11_ = strcmp(x, y);
 815  		result = (T11_ == ((NI32) 0));
 816  	}
 817  	LA1_: ;
 818  	popFrame();
 819  	return result;
 820  }
 821  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, readLine__systemZio_238)(FILE* f, NimStringDesc** line) {
 822  	NIM_BOOL result;
 823  	NI pos;
 824  	NI sp;
 825  	nimfr_("readLine", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 826  {	result = (NIM_BOOL)0;
 827  	nimln_(449, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 828  	pos = ((NI) 0);
 829  	nimln_(452, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 830  	sp = ((((*line) ? (*line)->Sup.len : 0) >= ((NI) 80)) ? ((*line) ? (*line)->Sup.len : 0) : ((NI) 80));
 831  	nimln_(453, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 832  	if ((sp) < ((NI) 0) || (sp) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(sp, ((NI) 0), ((NI) IL64(9223372036854775807))); }
 833  	unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) (sp))));
 834  	{
 835  		nimln_(455, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 836  		while (1) {
 837  			NIM_BOOL fgetsSuccess;
 838  			void* m;
 839  			NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_20;
 840  			NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_21;
 841  			{
 842  				NI i;
 843  				NI i_2;
 844  				i = (NI)0;
 845  				nimln_(119, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
 846  				i_2 = ((NI) 0);
 847  				{
 848  					nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
 849  					while (1) {
 850  						NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_9;
 851  						NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_10;
 852  						if (!(i_2 < sp)) goto LA5;
 853  						nimln_(458, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 854  						i = i_2;
 855  						if (nimAddInt(pos, i, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_9)) { raiseOverflow(); };
 856  						if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9),((*line) ? (*line)->Sup.len : 0)-1); }
 857  						(*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_9)] = 10;
 858  						nimln_(122, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim");
 859  						if (nimAddInt(i_2, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_10)) { raiseOverflow(); };
 860  						i_2 = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_10);
 861  					} LA5: ;
 862  				}
 863  			}
 864  			fgetsSuccess = (NIM_BOOL)0;
 865  			{
 866  				nimln_(461, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 867  				while (1) {
 868  					{
 869  						NCSTRING T9_;
 870  						NIM_BOOL T10_;
 871  						nimln_(464, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 872  						if (pos < 0 || pos >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2(pos,((*line) ? (*line)->Sup.len : 0)-1); }
 873  						if ((sp) < ((int) (-2147483647 -1)) || (sp) > ((int) 2147483647)){ raiseRangeErrorI(sp, ((int) (-2147483647 -1)), ((int) 2147483647)); }
 874  						T9_ = (NCSTRING)0;
 875  						T9_ = fgets(((NCSTRING) ((&(*line)->data[pos]))), ((int) (sp)), f);
 876  						T10_ = (NIM_BOOL)0;
 877  						T10_ = eqeq___system_7770(T9_, ((NCSTRING) NIM_NIL));
 878  						fgetsSuccess = !(T10_);
 879  						nimln_(465, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 880  						{
 881  							if (!fgetsSuccess) goto LA13_;
 882  							goto LA6;
 883  						}
 884  						LA13_: ;
 885  						nimln_(467, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 886  						{
 887  							if (!(errno == EINTR)) goto LA17_;
 888  							nimln_(468, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 889  							errno = ((int) 0);
 890  							nimln_(469, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 891  							clearerr(f);
 892  							nimln_(470, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 893  							goto LA8;
 894  						}
 895  						LA17_: ;
 896  						nimln_(471, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 897  						checkErr__systemZio_141(f);
 898  						nimln_(472, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 899  						goto LA6;
 900  					} LA8: ;
 901  				}
 902  			} LA6: ;
 903  			nimln_(474, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 904  			if (pos < 0 || pos >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2(pos,((*line) ? (*line)->Sup.len : 0)-1); }
 905  			m = memchr(((void*) ((&(*line)->data[pos]))), ((int) 10), ((size_t) (sp)));
 906  			nimln_(475, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 907  			{
 908  				NI last;
 909  				NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_11;
 910  				NIM_BOOL T42_;
 911  				if (!!((m == NIM_NIL))) goto LA21_;
 912  				nimln_(477, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 913  				if (((NI) 0) < 0 || ((NI) 0) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*line) ? (*line)->Sup.len : 0)-1); }
 914  				if (nimSubInt(((NI) (ptrdiff_t) (m)), ((NI) (ptrdiff_t) ((&(*line)->data[((NI) 0)]))), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_11)) { raiseOverflow(); };
 915  				last = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_11);
 916  				nimln_(478, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 917  				{
 918  					NIM_BOOL T25_;
 919  					NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_12;
 920  					NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_13;
 921  					NIM_BOOL T29_;
 922  					T25_ = (NIM_BOOL)0;
 923  					T25_ = (((NI) 0) < last);
 924  					if (!(T25_)) goto LA26_;
 925  					if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_12)) { raiseOverflow(); };
 926  					if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12),((*line) ? (*line)->Sup.len : 0)-1); }
 927  					T25_ = ((NU8)((*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_12)]) == (NU8)(13));
 928  					LA26_: ;
 929  					if (!T25_) goto LA27_;
 930  					nimln_(479, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 931  					if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)) { raiseOverflow(); };
 932  					if (((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)) < ((NI) 0) || ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13), ((NI) 0), ((NI) IL64(9223372036854775807))); }
 933  					unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_13)))));
 934  					nimln_(480, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 935  					T29_ = (NIM_BOOL)0;
 936  					T29_ = (((NI) 1) < last);
 937  					if (T29_) goto LA30_;
 938  					T29_ = fgetsSuccess;
 939  					LA30_: ;
 940  					result = T29_;
 941  					goto BeforeRet_;
 942  				}
 943  				goto LA23_;
 944  				LA27_: ;
 945  				{
 946  					NIM_BOOL T32_;
 947  					NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_14;
 948  					nimln_(484, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 949  					T32_ = (NIM_BOOL)0;
 950  					T32_ = (((NI) 0) < last);
 951  					if (!(T32_)) goto LA33_;
 952  					if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_14)) { raiseOverflow(); };
 953  					if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14),((*line) ? (*line)->Sup.len : 0)-1); }
 954  					T32_ = ((NU8)((*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_14)]) == (NU8)(0));
 955  					LA33_: ;
 956  					if (!T32_) goto LA34_;
 957  					nimln_(485, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 958  					{
 959  						NIM_BOOL T38_;
 960  						NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_15;
 961  						NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_16;
 962  						NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_17;
 963  						NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_18;
 964  						T38_ = (NIM_BOOL)0;
 965  						if (nimAddInt(pos, sp, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_15)) { raiseOverflow(); };
 966  						if (nimSubInt((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_15), ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_16)) { raiseOverflow(); };
 967  						T38_ = (last < (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_16));
 968  						if (!(T38_)) goto LA39_;
 969  						if (nimAddInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_17)) { raiseOverflow(); };
 970  						if ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17) < 0 || (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17) >= ((*line) ? (*line)->Sup.len : 0)){ raiseIndexError2((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17),((*line) ? (*line)->Sup.len : 0)-1); }
 971  						T38_ = !(((NU8)((*line)->data[(NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_17)]) == (NU8)(0)));
 972  						LA39_: ;
 973  						if (!T38_) goto LA40_;
 974  						nimln_(486, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 975  						if (nimSubInt(last, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_18)) { raiseOverflow(); };
 976  						last = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_18);
 977  					}
 978  					LA40_: ;
 979  				}
 980  				goto LA23_;
 981  				LA34_: ;
 982  				LA23_: ;
 983  				nimln_(487, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 984  				if ((last) < ((NI) 0) || (last) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(last, ((NI) 0), ((NI) IL64(9223372036854775807))); }
 985  				unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) (last))));
 986  				nimln_(488, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
 987  				T42_ = (NIM_BOOL)0;
 988  				T42_ = (((NI) 0) < last);
 989  				if (T42_) goto LA43_;
 990  				T42_ = fgetsSuccess;
 991  				LA43_: ;
 992  				result = T42_;
 993  				goto BeforeRet_;
 994  			}
 995  			goto LA19_;
 996  			LA21_: ;
 997  			{
 998  				NI TM__MnCJ0VAmeZ9aTATUB39cx60Q_19;
 999  				nimln_(491, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1000  				if (nimSubInt(sp, ((NI) 1), &TM__MnCJ0VAmeZ9aTATUB39cx60Q_19)) { raiseOverflow(); };
1001  				sp = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_19);
1002  			}
1003  			LA19_: ;
1004  			nimln_(493, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1005  			if (nimAddInt(pos, sp, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_20)) { raiseOverflow(); };
1006  			pos = (NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_20);
1007  			nimln_(494, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1008  			sp = ((NI) 128);
1009  			nimln_(495, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1010  			if (nimAddInt(pos, sp, &TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)) { raiseOverflow(); };
1011  			if (((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)) < ((NI) 0) || ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21), ((NI) 0), ((NI) IL64(9223372036854775807))); }
1012  			unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) ((NI)(TM__MnCJ0VAmeZ9aTATUB39cx60Q_21)))));
1013  		}
1014  	}
1015  	}BeforeRet_: ;
1016  	popFrame();
1017  	return result;
1018  }
1019  N_LIB_PRIVATE N_NIMCALL(void, flushFile__systemZio_226)(FILE* f) {
1020  	int T1_;
1021  	nimfr_("flushFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1022  	nimln_(336, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1023  	T1_ = (int)0;
1024  	T1_ = fflush(f);
1025  	(void)(T1_);
1026  	popFrame();
1027  }
1028  N_LIB_PRIVATE N_NIMCALL(NI64, getFileSize__systemZio_455)(FILE* f) {
1029  	NI64 result;
1030  	NI64 oldPos;
1031  	int T1_;
1032  	nimfr_("getFileSize", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1033  	result = (NI64)0;
1034  	nimln_(775, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1035  	oldPos = getFilePos__systemZio_452(f);
1036  	nimln_(776, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1037  	T1_ = (int)0;
1038  	T1_ = fseeko(f, IL64(0), ((int) 2));
1039  	(void)(T1_);
1040  	nimln_(777, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1041  	result = getFilePos__systemZio_452(f);
1042  	nimln_(778, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1043  	setFilePos__systemZio_439(f, oldPos, ((tyEnum_FileSeekPos__I9aQjuvWxs8BspGbxwsngWw) 0));
1044  	popFrame();
1045  	return result;
1046  }
1047  static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
1048  	(*s).prev = excHandler__system_2565;
1049  	excHandler__system_2565 = s;
1050  }
1051  static N_INLINE(void, popSafePoint)(void) {
1052  	excHandler__system_2565 = (*excHandler__system_2565).prev;
1053  }
1054  static N_INLINE(TFrame*, getFrame)(void) {
1055  	TFrame* result;
1056  	result = (TFrame*)0;
1057  	result = framePtr__system_2564;
1058  	return result;
1059  }
1060  static N_INLINE(void, setFrame)(TFrame* s) {
1061  	framePtr__system_2564 = s;
1062  }
1063  N_LIB_PRIVATE N_NIMCALL(void, writeFile__systemZio_477)(NimStringDesc* filename, NimStringDesc* content) {
1064  	FILE* f;
1065  	TFrame* _nimCurFrame;
1066  	nimfr_("writeFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1067  	_nimCurFrame = getFrame();
1068  	nimln_(876, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1069  	f = ((FILE*) NIM_NIL);
1070  	nimln_(877, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1071  	{
1072  		NIM_BOOL T3_;
1073  		TSafePoint TM__MnCJ0VAmeZ9aTATUB39cx60Q_22;
1074  		T3_ = (NIM_BOOL)0;
1075  		T3_ = open__systemZio_392(&f, filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
1076  		if (!T3_) goto LA4_;
1077  		nimln_(878, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1078  		pushSafePoint(&TM__MnCJ0VAmeZ9aTATUB39cx60Q_22);
1079  		TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status = setjmp(TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.context);
1080  		if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status == 0) {
1081  		nimln_(879, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1082  		write__systemZio_205(f, content);
1083  		popSafePoint();
1084  		}
1085  		else {
1086  			popSafePoint();
1087  			setFrame(_nimCurFrame);
1088  		}
1089  		{
1090  			nimln_(881, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1091  			close__systemZio_217(f);
1092  			if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status != 0) nimLeaveFinally();
1093  		}
1094  		if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_22.status != 0) reraiseException();
1095  	}
1096  	goto LA1_;
1097  	LA4_: ;
1098  	{
1099  		tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T9_;
1100  		NimStringDesc* T10_;
1101  		T9_ = NIM_NIL;
1102  		T9_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
1103  		(*T9_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
1104  		(*T9_).Sup.Sup.name = "IOError";
1105  		nimln_(883, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1106  		T10_ = NIM_NIL;
1107  		T10_ = rawNewString((filename ? filename->Sup.len : 0) + 13);
1108  appendString(T10_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_23));
1109  appendString(T10_, filename);
1110  		asgnRef((void**) (&(*T9_).Sup.Sup.message), T10_);
1111  		asgnRef((void**) (&(*T9_).Sup.Sup.parent), ((Exception*) NIM_NIL));
1112  		raiseExceptionEx((Exception*)T9_, "IOError", "writeFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 883);
1113  	}
1114  	LA1_: ;
1115  	popFrame();
1116  }
1117  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, setInheritable__systemZio_234)(int f, NIM_BOOL inheritable) {
1118  	NIM_BOOL result;
1119  	int T1_;
1120  	int T7_;
1121  	nimfr_("setInheritable", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1122  	result = (NIM_BOOL)0;
1123  	nimln_(363, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1124  	T1_ = (int)0;
1125  	{
1126  		if (!inheritable) goto LA4_;
1127  		T1_ = FIONCLEX;
1128  	}
1129  	goto LA2_;
1130  	LA4_: ;
1131  	{
1132  		T1_ = FIOCLEX;
1133  	}
1134  	LA2_: ;
1135  	T7_ = (int)0;
1136  	T7_ = ioctl(f, T1_);
1137  	result = !((T7_ == ((NI32) -1)));
1138  	popFrame();
1139  	return result;
1140  }
1141  N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__systemZio_423)(FILE** f, int filehandle, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode) {
1142  	NIM_BOOL result;
1143  	int oshandle;
1144  	nimfr_("open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1145  {	result = (NIM_BOOL)0;
1146  	nimln_(744, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1147  	oshandle = filehandle;
1148  	nimln_(745, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1149  	{
1150  		NIM_BOOL T3_;
1151  		T3_ = (NIM_BOOL)0;
1152  		T3_ = setInheritable__systemZio_234(oshandle, NIM_FALSE);
1153  		if (!!(T3_)) goto LA4_;
1154  		nimln_(746, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1155  		result = NIM_FALSE;
1156  		goto BeforeRet_;
1157  	}
1158  	LA4_: ;
1159  	nimln_(747, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1160  	(*f) = fdopen(filehandle, FormatOpen__systemZio_371[(mode)- 0]);
1161  	nimln_(748, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1162  	result = !(((*f) == ((FILE*) NIM_NIL)));
1163  	}BeforeRet_: ;
1164  	popFrame();
1165  	return result;
1166  }
1167  N_LIB_PRIVATE N_NIMCALL(NI64, rawFileSize__systemZio_333)(FILE* file) {
1168  	NI64 result;
1169  	NI64 oldPos;
1170  	int T1_;
1171  	int T2_;
1172  	nimfr_("rawFileSize", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1173  	result = (NI64)0;
1174  	nimln_(552, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1175  	oldPos = ftello(file);
1176  	nimln_(553, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1177  	T1_ = (int)0;
1178  	T1_ = fseeko(file, IL64(0), ((int) 2));
1179  	(void)(T1_);
1180  	nimln_(554, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1181  	result = ftello(file);
1182  	nimln_(555, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1183  	T2_ = (int)0;
1184  	T2_ = fseeko(file, oldPos, ((int) 0));
1185  	(void)(T2_);
1186  	popFrame();
1187  	return result;
1188  }
1189  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllBuffer__systemZio_328)(FILE* file) {
1190  	NimStringDesc* result;
1191  	NimStringDesc* buffer;
1192  	nimfr_("readAllBuffer", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1193  	result = NIM_NIL;
1194  	nimln_(539, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1195  	result = ((NimStringDesc*) NIM_NIL);
1196  	nimln_(540, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1197  	buffer = mnewString(((NI) 4000));
1198  	{
1199  		nimln_(541, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1200  		while (1) {
1201  			NI bytesRead;
1202  			nimln_(542, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1203  			if (((NI) 0) < 0 || ((NI) 0) >= (buffer ? buffer->Sup.len : 0)){ raiseIndexError2(((NI) 0),(buffer ? buffer->Sup.len : 0)-1); }
1204  			bytesRead = readBuffer__systemZio_144(file, ((void*) ((&buffer->data[((NI) 0)]))), ((NI) 4000));
1205  			nimln_(543, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1206  			{
1207  				if (!(bytesRead == ((NI) 4000))) goto LA5_;
1208  				nimln_(544, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1209  				result = resizeString(result, (buffer ? buffer->Sup.len : 0) + 0);
1210  appendString(result, buffer);
1211  			}
1212  			goto LA3_;
1213  			LA5_: ;
1214  			{
1215  				nimln_(546, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1216  				if ((bytesRead) < ((NI) 0) || (bytesRead) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bytesRead, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1217  				buffer = setLengthStr(buffer, ((NI) (bytesRead)));
1218  				nimln_(547, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1219  				result = resizeString(result, (buffer ? buffer->Sup.len : 0) + 0);
1220  appendString(result, buffer);
1221  				nimln_(548, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1222  				goto LA1;
1223  			}
1224  			LA3_: ;
1225  		}
1226  	} LA1: ;
1227  	popFrame();
1228  	return result;
1229  }
1230  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAllFile__systemZio_341)(FILE* file, NI64 len) {
1231  	NimStringDesc* result;
1232  	NI bytes;
1233  	nimfr_("readAllFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1234  	result = NIM_NIL;
1235  	nimln_(567, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1236  	if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1237  	result = mnewString(((NI) (len)));
1238  	nimln_(568, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1239  	if (((NI) 0) < 0 || ((NI) 0) >= (result ? result->Sup.len : 0)){ raiseIndexError2(((NI) 0),(result ? result->Sup.len : 0)-1); }
1240  	if ((len) < ((NI) 0) || (len) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(len, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1241  	bytes = readBuffer__systemZio_144(file, ((void*) ((&result->data[((NI) 0)]))), ((NI) (len)));
1242  	nimln_(569, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1243  	{
1244  		NIM_BOOL T3_;
1245  		T3_ = (NIM_BOOL)0;
1246  		T3_ = endOfFile__systemZio_337(file);
1247  		if (!T3_) goto LA4_;
1248  		nimln_(570, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1249  		{
1250  			if (!(((NI64) (bytes)) < len)) goto LA8_;
1251  			nimln_(571, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1252  			if ((bytes) < ((NI) 0) || (bytes) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(bytes, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1253  			result = setLengthStr(result, ((NI) (bytes)));
1254  		}
1255  		LA8_: ;
1256  	}
1257  	goto LA1_;
1258  	LA4_: ;
1259  	{
1260  		NimStringDesc* T11_;
1261  		nimln_(575, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1262  		T11_ = NIM_NIL;
1263  		T11_ = readAllBuffer__systemZio_328(file);
1264  		result = resizeString(result, (T11_ ? T11_->Sup.len : 0) + 0);
1265  appendString(result, T11_);
1266  	}
1267  	LA1_: ;
1268  	popFrame();
1269  	return result;
1270  }
1271  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readAll__systemZio_350)(FILE* file) {
1272  	NimStringDesc* result;
1273  	NI64 len;
1274  	nimfr_("readAll", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1275  	result = NIM_NIL;
1276  	nimln_(590, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1277  	{
1278  		if (!!((file == stdin))) goto LA3_;
1279  		len = rawFileSize__systemZio_333(file);
1280  	}
1281  	goto LA1_;
1282  	LA3_: ;
1283  	{
1284  		len = IL64(-1);
1285  	}
1286  	LA1_: ;
1287  	nimln_(593, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1288  	{
1289  		if (!(IL64(0) < len)) goto LA8_;
1290  		nimln_(594, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1291  		result = readAllFile__systemZio_341(file, len);
1292  	}
1293  	goto LA6_;
1294  	LA8_: ;
1295  	{
1296  		nimln_(596, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1297  		result = readAllBuffer__systemZio_328(file);
1298  	}
1299  	LA6_: ;
1300  	popFrame();
1301  	return result;
1302  }
1303  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__systemZio_472)(NimStringDesc* filename) {
1304  	NimStringDesc* volatile result;
1305  	FILE* f;
1306  	TFrame* _nimCurFrame;
1307  	nimfr_("readFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1308  	_nimCurFrame = getFrame();
1309  	result = NIM_NIL;
1310  	nimln_(863, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1311  	f = ((FILE*) NIM_NIL);
1312  	nimln_(864, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1313  	{
1314  		NIM_BOOL T3_;
1315  		TSafePoint TM__MnCJ0VAmeZ9aTATUB39cx60Q_24;
1316  		T3_ = (NIM_BOOL)0;
1317  		T3_ = open__systemZio_392(&f, filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
1318  		if (!T3_) goto LA4_;
1319  		nimln_(865, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1320  		pushSafePoint(&TM__MnCJ0VAmeZ9aTATUB39cx60Q_24);
1321  		TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status = setjmp(TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.context);
1322  		if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status == 0) {
1323  		nimln_(866, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1324  		result = readAll__systemZio_350(f);
1325  		popSafePoint();
1326  		}
1327  		else {
1328  			popSafePoint();
1329  			setFrame(_nimCurFrame);
1330  		}
1331  		{
1332  			nimln_(868, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1333  			close__systemZio_217(f);
1334  			if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status != 0) nimLeaveFinally();
1335  		}
1336  		if (TM__MnCJ0VAmeZ9aTATUB39cx60Q_24.status != 0) reraiseException();
1337  	}
1338  	goto LA1_;
1339  	LA4_: ;
1340  	{
1341  		tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T9_;
1342  		NimStringDesc* T10_;
1343  		T9_ = NIM_NIL;
1344  		T9_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
1345  		(*T9_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
1346  		(*T9_).Sup.Sup.name = "IOError";
1347  		nimln_(870, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1348  		T10_ = NIM_NIL;
1349  		T10_ = rawNewString((filename ? filename->Sup.len : 0) + 13);
1350  appendString(T10_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_23));
1351  appendString(T10_, filename);
1352  		asgnRef((void**) (&(*T9_).Sup.Sup.message), T10_);
1353  		asgnRef((void**) (&(*T9_).Sup.Sup.parent), ((Exception*) NIM_NIL));
1354  		raiseExceptionEx((Exception*)T9_, "IOError", "readFile", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 870);
1355  	}
1356  	LA1_: ;
1357  	popFrame();
1358  	return result;
1359  }
1360  N_LIB_PRIVATE N_NIMCALL(FILE*, open__systemZio_433)(NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize) {
1361  	FILE* result;
1362  	nimfr_("open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1363  	result = (FILE*)0;
1364  	nimln_(758, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1365  	{
1366  		NIM_BOOL T3_;
1367  		tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T6_;
1368  		NimStringDesc* T7_;
1369  		T3_ = (NIM_BOOL)0;
1370  		T3_ = open__systemZio_392(&result, filename, mode, bufSize);
1371  		if (!!(T3_)) goto LA4_;
1372  		T6_ = NIM_NIL;
1373  		T6_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
1374  		(*T6_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
1375  		(*T6_).Sup.Sup.name = "IOError";
1376  		nimln_(759, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1377  		T7_ = NIM_NIL;
1378  		T7_ = rawNewString((filename ? filename->Sup.len : 0) + 13);
1379  appendString(T7_, ((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_23));
1380  appendString(T7_, filename);
1381  		asgnRef((void**) (&(*T6_).Sup.Sup.message), T7_);
1382  		asgnRef((void**) (&(*T6_).Sup.Sup.parent), ((Exception*) NIM_NIL));
1383  		raiseExceptionEx((Exception*)T6_, "IOError", "open", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 759);
1384  	}
1385  	LA4_: ;
1386  	popFrame();
1387  	return result;
1388  }
1389  N_LIB_PRIVATE N_NIMCALL(NI, readChars__systemZio_156)(FILE* f, NIM_CHAR* a, NI aLen_0) {
1390  	NI result;
1391  	result = (NI)0;
1392  	if (((NI) 0) < 0 || ((NI) 0) >= aLen_0){ raiseIndexError2(((NI) 0),aLen_0-1); }
1393  	if ((aLen_0) < ((NI) 0) || (aLen_0) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(aLen_0, ((NI) 0), ((NI) IL64(9223372036854775807))); }
1394  	result = readBuffer__systemZio_144(f, ((void*) ((&a[((NI) 0)]))), ((NI) (aLen_0)));
1395  	return result;
1396  }
1397  N_LIB_PRIVATE N_NOINLINE(void, raiseEOF__systemZio_117)(void) {
1398  	tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg* T1_;
1399  	NimStringDesc* T2_;
1400  	nimfr_("raiseEOF", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1401  	T1_ = NIM_NIL;
1402  	T1_ = (tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg*) newObj((&NTIrefeoferror__LEclZrWX2FQAodlapxGITw_), sizeof(tyObject_EOFError__KGSY1JdrNB7Xi8KDhXFhSg));
1403  	(*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIeoferror__KGSY1JdrNB7Xi8KDhXFhSg_);
1404  	(*T1_).Sup.Sup.Sup.name = "EOFError";
1405  	T2_ = NIM_NIL;
1406  	T2_ = (*T1_).Sup.Sup.Sup.message; (*T1_).Sup.Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__MnCJ0VAmeZ9aTATUB39cx60Q_25));
1407  	if (T2_) nimGCunrefNoCycle(T2_);
1408  	asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1409  	nimln_(156, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1410  	raiseExceptionEx((Exception*)T1_, "EOFError", "raiseEOF", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim", 156);
1411  	popFrame();
1412  }
1413  N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readLine__systemZio_271)(FILE* f) {
1414  	NimStringDesc* result;
1415  	nimfr_("readLine", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1416  	result = NIM_NIL;
1417  	nimln_(501, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1418  	result = rawNewString(((NI) 80));
1419  	nimln_(502, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1420  	{
1421  		NIM_BOOL T3_;
1422  		T3_ = (NIM_BOOL)0;
1423  		T3_ = readLine__systemZio_238(f, (&result));
1424  		if (!!(T3_)) goto LA4_;
1425  		raiseEOF__systemZio_117();
1426  	}
1427  	LA4_: ;
1428  	popFrame();
1429  	return result;
1430  }
1431  N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, readChar__systemZio_222)(FILE* f) {
1432  	NIM_CHAR result;
1433  	int x;
1434  	nimfr_("readChar", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1435  	result = (NIM_CHAR)0;
1436  	nimln_(328, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1437  	x = fgetc(f);
1438  	nimln_(329, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1439  	{
1440  		if (!(x < ((NI32) 0))) goto LA3_;
1441  		nimln_(330, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1442  		checkErr__systemZio_141(f);
1443  		nimln_(331, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1444  		raiseEOF__systemZio_117();
1445  	}
1446  	LA3_: ;
1447  	nimln_(332, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/io.nim");
1448  	if ((x) < 0 || (x) > 255){ raiseRangeErrorU(x, 0, 255); }
1449  	result = ((NIM_CHAR) (x));
1450  	popFrame();
1451  	return result;
1452  }
1453  N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminusathversionminus1minus6atslibatssystematsiodotnim_DatInit000)(void) {
1454  static TNimNode TM__MnCJ0VAmeZ9aTATUB39cx60Q_0[1];
1455  NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.size = sizeof(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*);
1456  NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.align = NIM_ALIGNOF(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*);
1457  NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.kind = 24;
1458  NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.base = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
1459  NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_.marker = Marker_tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
1460  NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.size = sizeof(void*);
1461  NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.align = NIM_ALIGNOF(void*);
1462  NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.kind = 18;
1463  NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.base = 0;
1464  NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.flags = 1;
1465  NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_.node = &TM__MnCJ0VAmeZ9aTATUB39cx60Q_0[0];
1466  NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.size = sizeof(FILE*);
1467  NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.align = NIM_ALIGNOF(FILE*);
1468  NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.kind = 21;
1469  NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.base = (&NTIcfile__MAWzaQJYFu3mlxj0Ppxhmw_);
1470  NTIfile__XBeRj4rw9bUuE7CB3DS1rgg_.flags = 3;
1471  NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.size = sizeof(int);
1472  NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.align = NIM_ALIGNOF(int);
1473  NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.kind = 34;
1474  NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.base = 0;
1475  NTIfilehandle__2gIj3gQlK3HZJjQaYCP6ZQ_.flags = 3;
1476  }
1477