/* Generated by Nim Compiler v1.4.0 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 32

/* section: NIM_merge_HEADERS */

#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

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct tyObject_Table__GpIQt2f0xrasZObyH6X8bg tyObject_Table__GpIQt2f0xrasZObyH6X8bg;
typedef struct tySequence__9chP3SzkaldXzawWQCDsqqg tySequence__9chP3SzkaldXzawWQCDsqqg;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g tyTuple__aGv2fk9ceddvdC01ZJC2Q2g;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q;
typedef struct tySequence__TXIV9cpS1nTKZLiCib9cPT4g tySequence__TXIV9cpS1nTKZLiCib9cPT4g;
typedef struct tyTuple__ucLo1ofiZatslecSftPI2A tyTuple__ucLo1ofiZatslecSftPI2A;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw;
typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw tyObject_Table__IioUJGdqPI6xC7S7QF8MBw;
typedef struct tySequence__Qr6E8eH7btq79cFKGaJfGLw tySequence__Qr6E8eH7btq79cFKGaJfGLw;
typedef struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g;
typedef struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
typedef struct tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ;
typedef struct tySequence__hLW2w9a9bDM1AHB8BIrU3BYw tySequence__hLW2w9a9bDM1AHB8BIrU3BYw;
typedef struct tyTuple__YGgHblKlCINajXDZno8UTQ tyTuple__YGgHblKlCINajXDZno8UTQ;
typedef struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA;
typedef struct tySequence__Ef05srmQTDulnBdXR4Ja6Q tySequence__Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w;
typedef struct tySequence__MvZmat48bhe9b6x9aUD58D5Q tySequence__MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_Table__JrI9bTpOVccKpiJXKOskjFg tyObject_Table__JrI9bTpOVccKpiJXKOskjFg;
typedef struct tySequence__YuKuU17u5ApAIki23DK9bJw tySequence__YuKuU17u5ApAIki23DK9bJw;
typedef struct tyTuple__Wymbvuvlf49clEgp9bKoFN9bw tyTuple__Wymbvuvlf49clEgp9bKoFN9bw;
typedef struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA;
typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg;
typedef struct tySequence__ZySnRyYriVjDpNDRyzJyGg tySequence__ZySnRyYriVjDpNDRyzJyGg;
typedef struct tyTuple__ImmlCByLdDIzmbcHsV583w tyTuple__ImmlCByLdDIzmbcHsV583w;
typedef struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA tySequence__DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
typedef struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ tySequence__DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
typedef struct tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg;
typedef struct tySequence__s12F9c4cKfaapm8VzG9a1flQ tySequence__s12F9c4cKfaapm8VzG9a1flQ;
typedef struct tyTuple__8jHm6IGDGecciKpp2bTNxA tyTuple__8jHm6IGDGecciKpp2bTNxA;
typedef struct tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA;
typedef struct tySequence__sII3pVVRkIdBZ2HDPdZddA tySequence__sII3pVVRkIdBZ2HDPdZddA;
typedef struct tyTuple__wROVfG5RQYpjEAhvO3LqdQ tyTuple__wROVfG5RQYpjEAhvO3LqdQ;
typedef struct tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg;
typedef struct tySequence__jwzrUFjG9akTIJTBBFvvqxw tySequence__jwzrUFjG9akTIJTBBFvvqxw;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ;
typedef struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ tySequence__XUL1TrMU0tgXmaMFCIYgFQ;
typedef struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg;
typedef struct tyObject_Table__6nOsw5R7jH72bux7HSST9bg tyObject_Table__6nOsw5R7jH72bux7HSST9bg;
typedef struct tySequence__diqJJ1bWuFP7M6rQDS9cBLQ tySequence__diqJJ1bWuFP7M6rQDS9cBLQ;
typedef struct tyTuple__4keOEuB8uAwYehpErwqI9ag tyTuple__4keOEuB8uAwYehpErwqI9ag;
typedef struct tyTuple__Iz0jrTw3w7v6sMzjrqs0nA tyTuple__Iz0jrTw3w7v6sMzjrqs0nA;
typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg;
typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ;
typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
typedef struct tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ;
typedef struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og tySequence__pUxI6Ljo6IKKHXKOZkQ7Og;
typedef struct tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ;
typedef struct tyObject_Table__9bHTqygodsMdJIfIXO86mVg tyObject_Table__9bHTqygodsMdJIfIXO86mVg;
typedef struct tySequence__Pi9a31vXpln9bINd05AMU7KQ tySequence__Pi9a31vXpln9bINd05AMU7KQ;
typedef struct tyTuple__a1MVSYzFHR69aYce0XHk20g tyTuple__a1MVSYzFHR69aYce0XHk20g;
typedef struct tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw;
typedef struct tySequence__n1XPc9anZlEQHQuS14lnGwg tySequence__n1XPc9anZlEQHQuS14lnGwg;
typedef struct tyTuple__FK7aTjjzjZq5t6qUNlGUDA tyTuple__FK7aTjjzjZq5t6qUNlGUDA;
typedef struct tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ;
typedef struct tyObject_Table__XC01wkRgzAyOjTiapde7hQ tyObject_Table__XC01wkRgzAyOjTiapde7hQ;
typedef struct tySequence__wAC0kXbVGkLoWP8vdi0sUw tySequence__wAC0kXbVGkLoWP8vdi0sUw;
typedef struct tyTuple__A9cRoiotm9actU8lLMnN9bYcw tyTuple__A9cRoiotm9actU8lLMnN9bYcw;
typedef struct tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg;
typedef struct tySequence__5PunAJrNQYcB8dF0jau3pQ tySequence__5PunAJrNQYcB8dF0jau3pQ;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef struct tyTuple__zwpS6d6iewrdlBSTNFoyVA tyTuple__zwpS6d6iewrdlBSTNFoyVA;
typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;

/* section: NIM_merge_TYPES */
struct tyObject_Table__GpIQt2f0xrasZObyH6X8bg {
tySequence__9chP3SzkaldXzawWQCDsqqg* data;
NI counter;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g {
NI Field0;
void* Field1;
NI Field2;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
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__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q {
tySequence__TXIV9cpS1nTKZLiCib9cPT4g* data;
NI counter;
};
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
struct tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw {
NF time;
NI count;
};
struct tyTuple__ucLo1ofiZatslecSftPI2A {
NI Field0;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw Field2;
};
struct RootObj {
TNimType* m_type;
};
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
  Exception Sup;
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
  tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
  tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
NI counter;
};
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
};
struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence__kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw {
tySequence__Qr6E8eH7btq79cFKGaJfGLw* data;
NI counter;
};
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
NI counter;
};
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
tySequence__23SMqauuRsbDANhthj9bWlA* data;
NI counter;
};
struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
NI counter;
};
struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
NI entries;
};
struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
};
struct tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ {
tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* data;
NI counter;
};
struct tyTuple__YGgHblKlCINajXDZno8UTQ {
NI Field0;
NI Field1;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* tyArray__PsPyPA45AAjHu4uDGHNjTg[6];
typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray__PsPyPA45AAjHu4uDGHNjTg attachedOps;
tySequence__MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
NI uniqueId;
};
struct tyObject_Table__JrI9bTpOVccKpiJXKOskjFg {
tySequence__YuKuU17u5ApAIki23DK9bJw* data;
NI counter;
};
struct tyTuple__Wymbvuvlf49clEgp9bKoFN9bw {
NI Field0;
NI Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
} _kind_4;
struct {tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
NimStringDesc* comment;
};
struct tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg {
tySequence__ZySnRyYriVjDpNDRyzJyGg* data;
NI counter;
};
struct tyTuple__ImmlCByLdDIzmbcHsV583w {
NI Field0;
NI Field1;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field2;
};
typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* data;
};
typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence__Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
} _kind_1;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
} _kind_2;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
NI alignment;
} _kind_4;
};
tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* name;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
};
struct tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg {
tySequence__s12F9c4cKfaapm8VzG9a1flQ* data;
NI counter;
};
struct tyTuple__8jHm6IGDGecciKpp2bTNxA {
NI Field0;
NI64 Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA {
tySequence__sII3pVVRkIdBZ2HDPdZddA* data;
NI counter;
};
struct tyTuple__wROVfG5RQYpjEAhvO3LqdQ {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field2;
};
struct tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg {
tySequence__jwzrUFjG9akTIJTBBFvvqxw* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
struct tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ {
tySequence__XUL1TrMU0tgXmaMFCIYgFQ* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg {
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field0;
NI Field1;
};
struct tyObject_Table__6nOsw5R7jH72bux7HSST9bg {
tySequence__diqJJ1bWuFP7M6rQDS9cBLQ* data;
NI counter;
};
struct tyTuple__Iz0jrTw3w7v6sMzjrqs0nA {
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};
struct tyTuple__4keOEuB8uAwYehpErwqI9ag {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyTuple__Iz0jrTw3w7v6sMzjrqs0nA Field2;
};
struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA {
  RootObj Sup;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* left;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* right;
NI L;
NimStringDesc* data;
};
struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg {
tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data;
NI counter;
NI first;
NI last;
};
struct tyTuple__awOivLjlO76sGdHY7nQUjQ {
NI Field0;
NI Field1;
NimStringDesc* Field2;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3;
};
typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q {
tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind;
union{
struct {NimStringDesc* str;
} _kind_1;
struct {NI64 num;
} _kind_2;
struct {NF fnum;
} _kind_3;
struct {NIM_BOOL bval;
} _kind_4;
struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields;
} _kind_6;
struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems;
} _kind_7;
};
};
struct tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ {
tySequence__pUxI6Ljo6IKKHXKOZkQ7Og* data;
NI counter;
};
struct tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ {
NI Field0;
NimStringDesc* Field1;
NI Field2;
};
struct tyObject_Table__9bHTqygodsMdJIfIXO86mVg {
tySequence__Pi9a31vXpln9bINd05AMU7KQ* data;
NI counter;
};
struct tyTuple__a1MVSYzFHR69aYce0XHk20g {
NI Field0;
NimStringDesc* Field1;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* Field2;
};
struct tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw {
tySequence__n1XPc9anZlEQHQuS14lnGwg* data;
NI counter;
NI first;
NI last;
};
struct tyTuple__FK7aTjjzjZq5t6qUNlGUDA {
NI Field0;
NI Field1;
NimStringDesc* Field2;
tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ* Field3;
};
struct tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ {
NimStringDesc* rdoccmd;
NimStringDesc* docCmd;
NimStringDesc* code;
NI index;
};
struct tyObject_Table__XC01wkRgzAyOjTiapde7hQ {
tySequence__wAC0kXbVGkLoWP8vdi0sUw* data;
NI counter;
};
struct tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg {
NimStringDesc* keyword;
NimStringDesc* link;
NimStringDesc* linkTitle;
NimStringDesc* linkDesc;
};
struct tyTuple__A9cRoiotm9actU8lLMnN9bYcw {
NI Field0;
tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg Field1;
tySequence__5PunAJrNQYcB8dF0jau3pQ* Field2;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tyTuple__zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__9chP3SzkaldXzawWQCDsqqg {
  TGenericSeq Sup;
  tyTuple__aGv2fk9ceddvdC01ZJC2Q2g data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__TXIV9cpS1nTKZLiCib9cPT4g {
  TGenericSeq Sup;
  tyTuple__ucLo1ofiZatslecSftPI2A data[SEQ_DECL_SIZE];
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  TGenericSeq Sup;
  tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct tySequence__Qr6E8eH7btq79cFKGaJfGLw {
  TGenericSeq Sup;
  tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g data[SEQ_DECL_SIZE];
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
  TGenericSeq Sup;
  tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
};
struct tySequence__23SMqauuRsbDANhthj9bWlA {
  TGenericSeq Sup;
  tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
  TGenericSeq Sup;
  tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
};
struct tySequence__hLW2w9a9bDM1AHB8BIrU3BYw {
  TGenericSeq Sup;
  tyTuple__YGgHblKlCINajXDZno8UTQ data[SEQ_DECL_SIZE];
};
struct tySequence__YuKuU17u5ApAIki23DK9bJw {
  TGenericSeq Sup;
  tyTuple__Wymbvuvlf49clEgp9bKoFN9bw data[SEQ_DECL_SIZE];
};
struct tySequence__ZySnRyYriVjDpNDRyzJyGg {
  TGenericSeq Sup;
  tyTuple__ImmlCByLdDIzmbcHsV583w data[SEQ_DECL_SIZE];
};
struct tySequence__s12F9c4cKfaapm8VzG9a1flQ {
  TGenericSeq Sup;
  tyTuple__8jHm6IGDGecciKpp2bTNxA data[SEQ_DECL_SIZE];
};
struct tySequence__sII3pVVRkIdBZ2HDPdZddA {
  TGenericSeq Sup;
  tyTuple__wROVfG5RQYpjEAhvO3LqdQ data[SEQ_DECL_SIZE];
};
struct tySequence__jwzrUFjG9akTIJTBBFvvqxw {
  TGenericSeq Sup;
  tyTuple__XOVT24GHXwqiEj5GCsEGCA data[SEQ_DECL_SIZE];
};
struct tySequence__XUL1TrMU0tgXmaMFCIYgFQ {
  TGenericSeq Sup;
  tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg data[SEQ_DECL_SIZE];
};
struct tySequence__diqJJ1bWuFP7M6rQDS9cBLQ {
  TGenericSeq Sup;
  tyTuple__4keOEuB8uAwYehpErwqI9ag data[SEQ_DECL_SIZE];
};
struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g {
  TGenericSeq Sup;
  tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];
};
struct tySequence__pUxI6Ljo6IKKHXKOZkQ7Og {
  TGenericSeq Sup;
  tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ data[SEQ_DECL_SIZE];
};
struct tySequence__Pi9a31vXpln9bINd05AMU7KQ {
  TGenericSeq Sup;
  tyTuple__a1MVSYzFHR69aYce0XHk20g data[SEQ_DECL_SIZE];
};
struct tySequence__n1XPc9anZlEQHQuS14lnGwg {
  TGenericSeq Sup;
  tyTuple__FK7aTjjzjZq5t6qUNlGUDA data[SEQ_DECL_SIZE];
};
struct tySequence__5PunAJrNQYcB8dF0jau3pQ {
  TGenericSeq Sup;
  tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg data[SEQ_DECL_SIZE];
};
struct tySequence__wAC0kXbVGkLoWP8vdi0sUw {
  TGenericSeq Sup;
  tyTuple__A9cRoiotm9actU8lLMnN9bYcw data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
struct tySequence__Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence__MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple__zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ {
  TGenericSeq Sup;
  tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(NI, slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables)(NI count);
N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__v2qC0V55wqa9bmqc7eHTz8A)(NI x);
N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
static N_NIMCALL(void, Marker_tySequence__9chP3SzkaldXzawWQCDsqqg)(void* p, NI op);
static N_INLINE(NI, rawGet__pJC7JHVRNtUUDTiQZ8plCgtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI* hc);
static N_INLINE(NI, hash__7gl3lTUUVpX34lnpKJqWSAhashes)(void* x);
static N_INLINE(NIM_BOOL, isFilled__5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode);
static N_INLINE(NI, nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables)(NI h, NI maxHash);
static N_INLINE(NIM_BOOL, mustRehash__GCxEq9aIwNeW61R5709cAICAtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__nhw9bTVfE6OkiLzyZXzMd2g)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__LmaHS4VRBw21v38Bn9cFz9aw)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, tySequence__9chP3SzkaldXzawWQCDsqqg** data, void* key, NI val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__dnp0S0givr4a9aDtgzNUbswtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__7lEisrXlQEzwtUKW5pzRCw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__TXIV9cpS1nTKZLiCib9cPT4g)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__c9cu1Wn3L8QykVYwvBtxVTQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(void, initTable__4MaLRRCV3xtzBJ7B6rKL3w)(NI initialSize, tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* Result);
static N_INLINE(NI, rawGet__aseVP1phVqFWkLGjK22lyQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__6PCYkKlCNhq9cnRLnqWKkwQ)(NimStringDesc* x);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__M04YC71iJg1N7gBF3HZTngsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
static N_INLINE(NIM_BOOL, mustRehash__JWT9bsg9c7yyIxio5aQg7uigtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__P4cqx62gVTX9c2bQ9bXSUNLQ)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__yQ7epY8a0RazcWyuwV5Ntg)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence__7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(NI, rawGetKnownHC__HSQlXRmDev9cP9bGdOA5HsvQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc);
static N_NIMCALL(void, Marker_tySequence__fdmz6VkIf1ewwrssKYqRFg)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__kxu4GK0onha2t9bo86mdVAg)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__Qr6E8eH7btq79cFKGaJfGLw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__fIB1rTQ55aFonoft9a9bmljQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__23SMqauuRsbDANhthj9bWlA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__squ9b9bUH4OLHf6cEMrt6hVA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__pHNq3oXj9av2sEUdqaqeZjw)(void* p, NI op);
static N_INLINE(NI, rawGet__VHL4jbXDU6F0885vBGFikgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI* hc);
static N_INLINE(NI, hash__ixIcN23Rzgwj4rjH9cMHDWQhashes)(NI32 x);
static N_INLINE(NI, hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes)(NU64 x);
static N_INLINE(NU64, hiXorLo__wWqo9alrSZddOyokrApfNaQhashes)(NU64 a, NU64 b);
static N_INLINE(NU64, hiXorLoFallback64__wWqo9alrSZddOyokrApfNaQ_2hashes)(NU64 a, NU64 b);
static N_INLINE(NIM_BOOL, mustRehash__p0SD9ac9cV70OflrgSip1TDgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__WznuIAS2HbbgwoQgMlLNGA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t, tySequence__kxu4GK0onha2t9bo86mdVAg** data, NI32 key, NI32 val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__WbZNr9ajY1NXktE9abGpy5rgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI hc);
static N_INLINE(NI, rawGet__QnNqXOulpiE3rTDm0rj6bgtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__4hpuf9b9bexmHtlCuFvGGypwtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__8q9c9aCPUMM0w7HNF4dndgQg)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__IVJyWWnSh59cPztkOuQNV0g)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t, tySequence__fdmz6VkIf1ewwrssKYqRFg** data, NI32 key, tySequence__48JTohSgTy339bRxHzUD8KA* val, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
static N_INLINE(NI, rawGetKnownHC__4Fsb1T2VnPSV6oxoQiJufQtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI hc);
static N_INLINE(NI, rawGet__8eLPyJNN6hcR50ctxeSkDgtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI* hc);
static N_INLINE(NI, hash__aWv89bCLOibANstPF9bHQoyQhashes)(NI x);
static N_INLINE(NIM_BOOL, mustRehash__yfsonszRyw8UOuzQhTX8Jwtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__IhIQ7TfMuHBewVVmTQrOlQ)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__2E5CplI9bWrWY15XwFVf2bA)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t, tySequence__fIB1rTQ55aFonoft9a9bmljQ** data, NI key, tyArray__qtqsWM5aXmcpMIVmvq3kAA val, NI hc, NI h);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__JE6t4x7Z3v2iVz27Nx0MRAmemory)(void* a, int v, NI size);
static N_INLINE(NI, rawGetKnownHC__UaWZNeEgUaDIcsfDXIvasAtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI hc);
static N_NIMCALL(void, Marker_tySequence__hLW2w9a9bDM1AHB8BIrU3BYw)(void* p, NI op);
static N_INLINE(NI, rawGet__6JakEI68PBBdEMzqcwDJCAtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__YnVi9ccarQj2fmPjmGrkOUQtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__e2mchzYwFdhwebJni6CqZg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__0NF4fuOYJP4YH8beRyMvWg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t, tySequence__hLW2w9a9bDM1AHB8BIrU3BYw** data, NI key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__eNcUgWoz7pcvMX3xYaDRLgtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI hc);
static N_NIMCALL(void, Marker_tySequence__YuKuU17u5ApAIki23DK9bJw)(void* p, NI op);
static N_INLINE(NI, rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__FZslO537WT1reRaZVmizDQtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__NZJD7XooFe3vwlZMQikupw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__zd631ggeGEiPTefqYEGpiA)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, tySequence__YuKuU17u5ApAIki23DK9bJw** data, NI key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__abkoCGbCZlz6d4aa4hHxhgtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
static N_INLINE(NI, rawGet__UJsERo5BkViQH6ie2d9asaQtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__XFPFecV5bGJUDhwku4bw7A)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___76rDYGuUQDl2xSav8vUDiA)(tyArray__qtqsWM5aXmcpMIVmvq3kAA a, tyArray__qtqsWM5aXmcpMIVmvq3kAA b);
static N_INLINE(NIM_BOOL, mustRehash__czPJfvxxSt2pCWZYMPjskAtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__wtlRvAPpfH5zwFZ6PVJ9bEw)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t, tySequence__Qr6E8eH7btq79cFKGaJfGLw** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__bT8cRF5uMfM8lc5JOL9baswtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
static N_NIMCALL(void, Marker_tySequence__ZySnRyYriVjDpNDRyzJyGg)(void* p, NI op);
static N_INLINE(NI, rawGet__Owmh1K8KUBFM9cYnrcUUBSQtables)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__19ckkHF9alTmYPDiEl6EuTNQtables)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__0j0AfRtFuqyM3CSG4ssBiQ)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dtwoeG0XWc9b6K9cKlM0eytA)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* t, tySequence__ZySnRyYriVjDpNDRyzJyGg** data, NI key, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__3JsFQp1zCBAXGdA9bwRC4ZQtables)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI hc);
static N_INLINE(NI, rawGet__3B39bms3hJS0Syhd7xxEULgtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__KVLO3XLRu9btzF86gyyrOFwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__Ia9aKwc9aYyF2xX8fakDniHw)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__XH2oBuEgDaY43m9bc9czCHzQ)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t, tySequence__squ9b9bUH4OLHf6cEMrt6hVA** data, NimStringDesc* key, NI64 val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__A9bYZN6s9cFvr27D9aBNRZxQwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__tNDb8HX4Pcd05E6w80ngeA_2)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key);
static N_INLINE(NI, rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__VtDMB9bHz8P8P9bEROJFDiJgtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__6K1KMyIJ44JU1rDXMt00fQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dphYj2K2cQV4c59cmH9bTrwQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, tySequence__23SMqauuRsbDANhthj9bWlA** data, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__So4NwPMLEKibXtBM4tOfkQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__HJN1GCNkXuSaKainyv8E2w_2)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key);
static N_INLINE(NI, rawGet__z5lyUFnYWNZgtnmQvNIG1Atables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__CGa6FpBBVdStCo4ldGugWQtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__xUzvAyBcVu9b8xJ84vmmdgg)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__X9afgMwIB5o1VDnyZkF63LA)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, tySequence__pHNq3oXj9av2sEUdqaqeZjw** data, NimStringDesc* key, tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__TSpYtoROqC7475f9bg4iXugtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI hc);
static N_NIMCALL(void, Marker_tySequence__s12F9c4cKfaapm8VzG9a1flQ)(void* p, NI op);
static N_INLINE(NI, rawGet__WHgMCdcTgzDXYwrCU5rygAtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI* hc);
static N_INLINE(NI, hash__sTYVuBLDBQbglYNxcT9bWrghashes)(NI64 x);
static N_INLINE(NIM_BOOL, mustRehash__T9cz0kw5vDbNDnfPWcSRNYgtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__eoqIM0Hd0SjhaY9cur9b4i8w)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t, tySequence__s12F9c4cKfaapm8VzG9a1flQ** data, NI64 key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__K1f7gLsHF5x79adahVjRo5Atables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nQCg2DVRQn4zUR62WaaQ4w_2)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__TdGhKsSaf9bmh8whPiEIOXw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
static N_INLINE(NI, rawGet__KAHxhNAZHXtj35YPlFp3CQtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__SGf1i29beSa89acqisuwMuyg)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___xg1zPyXc6cdWexuBqSObOw)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q x, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q y);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___V57ibkW7LIpBP9b9cMWfgk5A)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val);
static N_INLINE(NIM_BOOL, mustRehash__FjltqzJjpq9caBUDHyV2U6Qtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__llNZABVg9cHtGC9btjLPK9aQQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__P9bSe9aGji82m6txhxFz1wnw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tySequence__TXIV9cpS1nTKZLiCib9cPT4g** data, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__iEOEFa0YHvnmMvRiT9axDUwtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc);
N_LIB_PRIVATE N_NIMCALL(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*, X5BX5D___DldrQjxt0iOBMCfnDHQJiQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
static N_NIMCALL(void, Marker_tySequence__sII3pVVRkIdBZ2HDPdZddA)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__jwzrUFjG9akTIJTBBFvvqxw)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__XUL1TrMU0tgXmaMFCIYgFQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__diqJJ1bWuFP7M6rQDS9cBLQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__w2fZhqPRZdan2r9a51X3ZXA)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
static N_INLINE(NIM_BOOL, mustRehash__5tO6A9b3s9aQLstwG5cmTt9bgtables)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__kgVnhJBOCSxuahhdbN9cidg)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* t);
N_LIB_PRIVATE N_NIMCALL(void, ctRawInsert__EhLhU9b3JGmgVjguB3HOsgQ)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ t, tySequence__XUL1TrMU0tgXmaMFCIYgFQ** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI val);
static N_INLINE(NI, rawGet__kRkMedOi9aSBIvfUrXCRvxQtables)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__vQoD2j9cC9b9a8c3Hsw9bRtmRQtables)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__C3S2Q2U8lwkz8doGQgUxug)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__Gf66Iv0CJwvyroazPxyGpA)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tySequence__sII3pVVRkIdBZ2HDPdZddA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__zkkRq29b9amWxeaphfvlnK6wtables)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___0A9bslyIJ49bWrftLGh13rvg)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__JC4YP8wfdV9aPnE9bz5sPkhA)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key);
static N_INLINE(NIM_BOOL, mustRehash__8miPC9cJdGuflm31v4J4WTAtables)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__lFm9aQmmTsb5E6B6Jx9bb6dQ)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* t);
N_LIB_PRIVATE N_NIMCALL(void, ctRawInsert__3TJBMrgzatHsknHA6jSouA)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, tySequence__jwzrUFjG9akTIJTBBFvvqxw** data, NimStringDesc* key, NI val);
static N_INLINE(NI, rawGet__xRsE9bd9cmMxcEsI9aaY9cppuAtables)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__VVlDQXt4ukGnCFQYVWH3igtables)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__s8GP5B2qbnsxFlutyTGcnw)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__7en31G7VfABQHDdprxuYPA)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg* t, tySequence__diqJJ1bWuFP7M6rQDS9cBLQ** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__Iz0jrTw3w7v6sMzjrqs0nA val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__2LQwcr0umtLrUHRkcv9bHNAtables)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc);
static N_NIMCALL(void, Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__U8BE8F1hkorXEqb1x9baemQ)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__8nOTuA2SxOsL8hlNzSF4Dwtables)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__9cAm9cItwB6y9bUzyB9bE1NBlA)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__K9b9aplmUERncrp49bmzOdPnw)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, tySequence__MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__9cQeRP9bxZubT9bE5dfTSZEew)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc);
static N_INLINE(NI, rawGet__B8emH5taC0NsYyBRssSIiwtables)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc);
static N_NIMCALL(void, Marker_tySequence__pUxI6Ljo6IKKHXKOZkQ7Og)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__Pi9a31vXpln9bINd05AMU7KQ)(void* p, NI op);
static N_NIMCALL(void, Marker_tySequence__n1XPc9anZlEQHQuS14lnGwg)(void* p, NI op);
static N_INLINE(NI, rawGet__hi24HVDthGVUIUfuDpjqIQtables)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__OnxKeNCBhh5CO1VtpeRCvQtables)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__VYLD6MqB59amU6bk9ahC8zNw)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__K9c1MhW8jYPmeOjDdrH9ajyg)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* t, tySequence__pUxI6Ljo6IKKHXKOZkQ7Og** data, NimStringDesc* key, NI val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__so4qfaUZuauODRq3tIG3Igtables)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI hc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__RwllE9aq05N1XhihGDBODsw_2)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__itGZk57e89aXuRjPxq6rj0w)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__LnXOcP7Zx2F1upIpB1Clbgtables)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__2kcw4Ru8xGPUeFOvZ7pH4A)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__VboNggKz1Se4FM2R3n4ijQ)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* t, tySequence__n1XPc9anZlEQHQuS14lnGwg** data, NimStringDesc* key, tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ* val, NI hc, NI h);
N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__tY28p9aS9a9bGacumBnaPxUkA)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key, NI hc);
static N_INLINE(NI, rawGet__CvruCRMWa1vtU9c3SpP4CGAtables)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key, NI* hc);
static N_INLINE(NI, rawGet__c0Bfqh6kxMjXWHR6KDOOOgtables)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg t, NimStringDesc* key, NI* hc);
static N_INLINE(NIM_BOOL, mustRehash__dVd4oNuCsZqH5D6mll20ewtables)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__wzNiMc4tqr9aMLlOORuPWEA)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__9bBxxIh3079aPlVlAaT5pLyQ)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg* t, tySequence__Pi9a31vXpln9bINd05AMU7KQ** data, NimStringDesc* key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__Ti3BvMBf79c7WKkqdHxz9arAtables)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg t, NimStringDesc* key, NI hc);
static N_NIMCALL(void, Marker_tySequence__wAC0kXbVGkLoWP8vdi0sUw)(void* p, NI op);
static N_INLINE(NI, rawGet__amoK2sCC6NAXbAYzoteO2wtables)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg key, NI* hc);
N_LIB_PRIVATE N_NIMCALL(NI, hash__qsZ1IgNQkpu0AbMu0eEzCQ)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___Z149cxs9a8jIB6voh7d344JA)(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg x, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg y);
static N_INLINE(NIM_BOOL, mustRehash__Ry9aK9baQ3oNuMKsH9cMgz9bAAtables)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t);
N_LIB_PRIVATE N_NIMCALL(void, enlarge__bYy9bKTH7krTyVnrGJtBKbg)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ* t);
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__5biQFmkRUjJPNto9cNutA9bw)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ* t, tySequence__wAC0kXbVGkLoWP8vdi0sUw** data, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg key, tySequence__5PunAJrNQYcB8dF0jau3pQ* val, NI hc, NI h);
static N_INLINE(NI, rawGetKnownHC__Y4x6AL1DTZHSh9bv7PGnpCwtables)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg key, NI hc);
N_LIB_PRIVATE N_NIMCALL(void, del__Dq59cjM9a0kzkpKdLycHH9bvQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
static N_INLINE(NIM_BOOL, isEmpty__5Qpmu5QqwDY0esVXn6wf7w_2tables)(NI hcode);

/* section: NIM_merge_DATA */
N_LIB_PRIVATE TNimType NTI__aGv2fk9ceddvdC01ZJC2Q2g_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
N_LIB_PRIVATE TNimType NTI__9chP3SzkaldXzawWQCDsqqg_;
N_LIB_PRIVATE TNimType NTI__Ab4q9c36aMR4mtkEOIBzdzA_;
N_LIB_PRIVATE TNimType NTI__xYhUhS7X82rKTqbT9bRfCnw_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
extern TNimType NTI__sVg18TP9cLifHyygRe9cro9aA_;
N_LIB_PRIVATE TNimType NTI__7lEisrXlQEzwtUKW5pzRCw_;
N_LIB_PRIVATE TNimType NTI__l6AB9cIrSdEYtCGu5YO9b61Q_;
N_LIB_PRIVATE TNimType NTI__ucLo1ofiZatslecSftPI2A_;
extern TNimType NTI__WGx4rAexNXnczy1Avn646Q_;
extern TNimType NTI__le1imru0p6WwvUctTtOlIw_;
N_LIB_PRIVATE TNimType NTI__TXIV9cpS1nTKZLiCib9cPT4g_;
N_LIB_PRIVATE TNimType NTI__c9cu1Wn3L8QykVYwvBtxVTQ_;
extern TNimType NTI__8SzoIAgLw9ci2v0yafHj9b6Q_;
extern TNimType NTI__t7nhKLvXTQS9cS8ByJU9bIag_;
STRING_LITERAL(TM__4SoG2KRQy3oMm9aUzSLtGrA_7, "key not found: ", 15);
N_LIB_PRIVATE TNimType NTI__fdKWDDO1P17zvuQPReVgRA_;
N_LIB_PRIVATE TNimType NTI__1mtQ8sCEE7DbfIuQciv9b5Q_;
extern TNimType NTI__48JTohSgTy339bRxHzUD8KA_;
N_LIB_PRIVATE TNimType NTI__fdmz6VkIf1ewwrssKYqRFg_;
N_LIB_PRIVATE TNimType NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_;
N_LIB_PRIVATE TNimType NTI__xDU9bZmv1ZbZkJDaATBekIQ_;
N_LIB_PRIVATE TNimType NTI__kxu4GK0onha2t9bo86mdVAg_;
N_LIB_PRIVATE TNimType NTI__IioUJGdqPI6xC7S7QF8MBw_;
N_LIB_PRIVATE TNimType NTI__EkGTYRWQ6y9cppXTlT8Xm5g_;
extern TNimType NTI__qtqsWM5aXmcpMIVmvq3kAA_;
extern TNimType NTI__AgIT5feFR9a9aoVjv9cx2rOtg_;
N_LIB_PRIVATE TNimType NTI__Qr6E8eH7btq79cFKGaJfGLw_;
N_LIB_PRIVATE TNimType NTI__G1v8c16HePOldLeucwe05Q_;
N_LIB_PRIVATE TNimType NTI__OJFzEczluV8Jmo9bRpBfkzw_;
N_LIB_PRIVATE TNimType NTI__fIB1rTQ55aFonoft9a9bmljQ_;
N_LIB_PRIVATE TNimType NTI__0Y2brGGKD9bV6GJLXT9aUDgA_;
N_LIB_PRIVATE TNimType NTI__2SGm9aGCXuo7XSQ9bqD29axXw_;
extern TNimType NTI__fKfcLzXYiz5jNu3NH3Tv8Q_;
N_LIB_PRIVATE TNimType NTI__23SMqauuRsbDANhthj9bWlA_;
N_LIB_PRIVATE TNimType NTI__NttoEzoiq5CiphZe81oadg_;
N_LIB_PRIVATE TNimType NTI__F3gkSrMB1qp2Tvf9bixVXwg_;
extern TNimType NTI__Aav8dQoMlCFnZRxA0IhTHQ_;
N_LIB_PRIVATE TNimType NTI__squ9b9bUH4OLHf6cEMrt6hVA_;
N_LIB_PRIVATE TNimType NTI__nagDFX4QHx0s6Fvma9blmSg_;
N_LIB_PRIVATE TNimType NTI__wcNatyuf8WOqAhGLhSvgiw_;
extern TNimType NTI__VZdzO0Tlflp7WMN4gS8oPg_;
N_LIB_PRIVATE TNimType NTI__pHNq3oXj9av2sEUdqaqeZjw_;
N_LIB_PRIVATE TNimType NTI__YGgHblKlCINajXDZno8UTQ_;
N_LIB_PRIVATE TNimType NTI__hLW2w9a9bDM1AHB8BIrU3BYw_;
N_LIB_PRIVATE TNimType NTI__Wymbvuvlf49clEgp9bKoFN9bw_;
N_LIB_PRIVATE TNimType NTI__YuKuU17u5ApAIki23DK9bJw_;
N_LIB_PRIVATE TNimType NTI__ImmlCByLdDIzmbcHsV583w_;
extern TNimType NTI__K9bspPztfoWajecnwjyHuYQ_;
N_LIB_PRIVATE TNimType NTI__ZySnRyYriVjDpNDRyzJyGg_;
N_LIB_PRIVATE TNimType NTI__8jHm6IGDGecciKpp2bTNxA_;
N_LIB_PRIVATE TNimType NTI__s12F9c4cKfaapm8VzG9a1flQ_;
STRING_LITERAL(TM__4SoG2KRQy3oMm9aUzSLtGrA_26, "key not found", 13);
N_LIB_PRIVATE TNimType NTI__gZ3EYQdz9coOB7ngN9a1cqwA_;
N_LIB_PRIVATE TNimType NTI__wROVfG5RQYpjEAhvO3LqdQ_;
extern TNimType NTI__4hi0XQqK9aLiPuWT9acsXm9aQ_;
N_LIB_PRIVATE TNimType NTI__sII3pVVRkIdBZ2HDPdZddA_;
N_LIB_PRIVATE TNimType NTI__chlLjy9bvnFM9b9bSZfiIkyGg_;
N_LIB_PRIVATE TNimType NTI__XOVT24GHXwqiEj5GCsEGCA_;
N_LIB_PRIVATE TNimType NTI__jwzrUFjG9akTIJTBBFvvqxw_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
N_LIB_PRIVATE TNimType NTI__tUMxxU9cRgLolsrW9b7IBGsQ_;
N_LIB_PRIVATE TNimType NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_;
N_LIB_PRIVATE TNimType NTI__XUL1TrMU0tgXmaMFCIYgFQ_;
N_LIB_PRIVATE TNimType NTI__6nOsw5R7jH72bux7HSST9bg_;
N_LIB_PRIVATE TNimType NTI__4keOEuB8uAwYehpErwqI9ag_;
extern TNimType NTI__Iz0jrTw3w7v6sMzjrqs0nA_;
N_LIB_PRIVATE TNimType NTI__diqJJ1bWuFP7M6rQDS9cBLQ_;
N_LIB_PRIVATE TNimType NTI__ZZvSdVkA2s2sIyifu4cpkg_;
N_LIB_PRIVATE TNimType NTI__awOivLjlO76sGdHY7nQUjQ_;
extern TNimType NTI__zfzzuQ8txrdZAYK0WGWpHg_;
N_LIB_PRIVATE TNimType NTI__MlAD6nAPq9bHKla9cWiIZP0g_;
N_LIB_PRIVATE TNimType NTI__i55W8RrwGKsG9cl0sAKxgkQ_;
N_LIB_PRIVATE TNimType NTI__sr3s7uVHpu9cEbbDnCSg8yQ_;
N_LIB_PRIVATE TNimType NTI__pUxI6Ljo6IKKHXKOZkQ7Og_;
N_LIB_PRIVATE TNimType NTI__9bHTqygodsMdJIfIXO86mVg_;
N_LIB_PRIVATE TNimType NTI__a1MVSYzFHR69aYce0XHk20g_;
N_LIB_PRIVATE TNimType NTI__Pi9a31vXpln9bINd05AMU7KQ_;
N_LIB_PRIVATE TNimType NTI__82OdS5RTON4FvDz04E3cFw_;
N_LIB_PRIVATE TNimType NTI__FK7aTjjzjZq5t6qUNlGUDA_;
extern TNimType NTI__12SjKZyLpJKBYPLZVcoGLA_;
N_LIB_PRIVATE TNimType NTI__n1XPc9anZlEQHQuS14lnGwg_;
N_LIB_PRIVATE TNimType NTI__A9cRoiotm9actU8lLMnN9bYcw_;
extern TNimType NTI__G9ccBDFWfr9aYnLgXTNGDHDg_;
extern TNimType NTI__5PunAJrNQYcB8dF0jau3pQ_;
N_LIB_PRIVATE TNimType NTI__wAC0kXbVGkLoWP8vdi0sUw_;

/* section: NIM_merge_VARS */
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;

/* section: NIM_merge_PROCS */
static N_INLINE(NI, slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables)(NI count) {
	NI result;
	result = (NI)0;
	result = nextPowerOfTwo__v2qC0V55wqa9bmqc7eHTz8A((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
	return result;
}
static N_NIMCALL(void, Marker_tySequence__9chP3SzkaldXzawWQCDsqqg)(void* p, NI op) {
	tySequence__9chP3SzkaldXzawWQCDsqqg* a;
	NI T1_;
	a = (tySequence__9chP3SzkaldXzawWQCDsqqg*)p;
	T1_ = (NI)0;
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__avINVlbIK12XSqjy8oSlzg)(NI initialSize, tyObject_Table__GpIQt2f0xrasZObyH6X8bg* Result) {
	NI correctSizeX60gensym132_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym132_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym132_))));
}
static N_INLINE(NI, hash__7gl3lTUUVpX34lnpKJqWSAhashes)(void* x) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU32)(((NU) (ptrdiff_t) (x))) >> (NU32)(((NI) 3)))));
	return result;
}
static N_INLINE(NIM_BOOL, isFilled__5Qpmu5QqwDY0esVXn6wf7wtables)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = !((hcode == ((NI) 0)));
	return result;
}
static N_INLINE(NI, nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables)(NI h, NI maxHash) {
	NI result;
	result = (NI)0;
	result = (NI)((NI)(h + ((NI) 1)) & maxHash);
	return result;
}
static N_INLINE(NI, rawGet__pJC7JHVRNtUUDTiQZ8plCgtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__7gl3lTUUVpX34lnpKJqWSAhashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__ucLvuteXMiAMAvKs77J1uw)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI default_0) {
	NI result;
	NI hcX60gensym95_;
	NI indexX60gensym95_;
	result = (NI)0;
	hcX60gensym95_ = (NI)0;
	indexX60gensym95_ = rawGet__pJC7JHVRNtUUDTiQZ8plCgtables(t, key, (&hcX60gensym95_));
	{
		if (!(((NI) 0) <= indexX60gensym95_)) goto LA3_;
		result = t.data->data[indexX60gensym95_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		result = default_0;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__GCxEq9aIwNeW61R5709cAICAtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__LmaHS4VRBw21v38Bn9cFz9aw)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, tySequence__9chP3SzkaldXzawWQCDsqqg** data, void* key, NI val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__nhw9bTVfE6OkiLzyZXzMd2g)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t) {
	tySequence__9chP3SzkaldXzawWQCDsqqg* n;
	NI T1_;
	tySequence__9chP3SzkaldXzawWQCDsqqg* T2_;
	n = (tySequence__9chP3SzkaldXzawWQCDsqqg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__9chP3SzkaldXzawWQCDsqqg*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__GpIQt2f0xrasZObyH6X8bg* T17_;
					void* T18_;
					void* T19_;
					NI T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__GpIQt2f0xrasZObyH6X8bg*)0;
					T17_ = t;
					T18_ = (void*)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (void*)0;
					T19_ = T18_;
					T20_ = (NI)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__LmaHS4VRBw21v38Bn9cFz9aw(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__dnp0S0givr4a9aDtgzNUbswtables)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___7nUN9bEb8it8esEzVF54z3Q)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, void* key, NI val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym100_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym100_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym100_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__pJC7JHVRNtUUDTiQZ8plCgtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__GpIQt2f0xrasZObyH6X8bg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym103_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym103_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTI__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym103_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__GCxEq9aIwNeW61R5709cAICAtables((*t));
			if (!T18_) goto LA19_;
			enlarge__nhw9bTVfE6OkiLzyZXzMd2g(t);
			index = rawGetKnownHC__dnp0S0givr4a9aDtgzNUbswtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__GpIQt2f0xrasZObyH6X8bg*)0;
		T21_ = t;
		rawInsert__LmaHS4VRBw21v38Bn9cFz9aw(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_NIMCALL(void, Marker_tySequence__7lEisrXlQEzwtUKW5pzRCw)(void* p, NI op) {
	tySequence__7lEisrXlQEzwtUKW5pzRCw* a;
	NI T1_;
	a = (tySequence__7lEisrXlQEzwtUKW5pzRCw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__TXIV9cpS1nTKZLiCib9cPT4g)(void* p, NI op) {
	tySequence__TXIV9cpS1nTKZLiCib9cPT4g* a;
	NI T1_;
	a = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__c9cu1Wn3L8QykVYwvBtxVTQ)(void* p, NI op) {
	tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* a;
	a = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)p;
	nimGCvisit((void*)(*a).data, op);
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__14glhEbpv2WXsBQ7EIe6aQ)(NI initialSize, tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* Result) {
	NI correctSizeX60gensym6_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym6_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym6_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__4MaLRRCV3xtzBJ7B6rKL3w)(NI initialSize, tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* Result) {
	NI correctSizeX60gensym10_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym10_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) (correctSizeX60gensym10_))));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*, newTable__088QQ41uktX3YsfbBrbfpA)(NI initialSize) {
	tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* result;
	result = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)0;
	result = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*) newObj((&NTI__c9cu1Wn3L8QykVYwvBtxVTQ_), sizeof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q));
	initTable__4MaLRRCV3xtzBJ7B6rKL3w(initialSize, (&(*result)));
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__Bj9c9cm9cBM9coLsuNsT5BvZ9awsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, rawGet__aseVP1phVqFWkLGjK22lyQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__V2bna9aem30Wfb1MT9bSnPzQ)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__aseVP1phVqFWkLGjK22lyQtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}
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__M04YC71iJg1N7gBF3HZTngsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__M04YC71iJg1N7gBF3HZTngsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
	return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system(((NI) (ptrdiff_t) (usr)), ((NI) 8));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA4_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(NI32*, X5BX5D___cYD9bwEY2FvxLm9bWq5KUhtA)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key) {
	NI32* result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (NI32*)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__aseVP1phVqFWkLGjK22lyQtables((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = (&(*t).data->data[indexX60gensym22_].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, key);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__JWT9bsg9c7yyIxio5aQg7uigtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__yQ7epY8a0RazcWyuwV5Ntg)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, tySequence__7lEisrXlQEzwtUKW5pzRCw** data, NimStringDesc* key, NI32 val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__P4cqx62gVTX9c2bQ9bXSUNLQ)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t) {
	tySequence__7lEisrXlQEzwtUKW5pzRCw* n;
	NI T1_;
	tySequence__7lEisrXlQEzwtUKW5pzRCw* T2_;
	n = (tySequence__7lEisrXlQEzwtUKW5pzRCw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__7lEisrXlQEzwtUKW5pzRCw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					NI32 T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (NI32)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__yQ7epY8a0RazcWyuwV5Ntg(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__HSQlXRmDev9cP9bGdOA5HsvQtables)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___anizD9c0GXTQTVVON49cli6g)(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* t, NimStringDesc* key, NI32 val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym4_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym4_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym4_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__aseVP1phVqFWkLGjK22lyQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym7_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym7_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__7lEisrXlQEzwtUKW5pzRCw*) newSeq((&NTI__7lEisrXlQEzwtUKW5pzRCw_), ((NI) (correctSizeX60gensym7_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__JWT9bsg9c7yyIxio5aQg7uigtables((*t));
			if (!T18_) goto LA19_;
			enlarge__P4cqx62gVTX9c2bQ9bXSUNLQ(t);
			index = rawGetKnownHC__HSQlXRmDev9cP9bGdOA5HsvQtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA*)0;
		T21_ = t;
		rawInsert__yQ7epY8a0RazcWyuwV5Ntg(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_NIMCALL(void, Marker_tySequence__fdmz6VkIf1ewwrssKYqRFg)(void* p, NI op) {
	tySequence__fdmz6VkIf1ewwrssKYqRFg* a;
	NI T1_;
	a = (tySequence__fdmz6VkIf1ewwrssKYqRFg*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__kxu4GK0onha2t9bo86mdVAg)(void* p, NI op) {
	tySequence__kxu4GK0onha2t9bo86mdVAg* a;
	NI T1_;
	a = (tySequence__kxu4GK0onha2t9bo86mdVAg*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__Qr6E8eH7btq79cFKGaJfGLw)(void* p, NI op) {
	tySequence__Qr6E8eH7btq79cFKGaJfGLw* a;
	NI T1_;
	NI T2_;
	a = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__fIB1rTQ55aFonoft9a9bmljQ)(void* p, NI op) {
	tySequence__fIB1rTQ55aFonoft9a9bmljQ* a;
	NI T1_;
	NI T2_;
	a = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	}
}
static N_NIMCALL(void, Marker_tySequence__23SMqauuRsbDANhthj9bWlA)(void* p, NI op) {
	tySequence__23SMqauuRsbDANhthj9bWlA* a;
	NI T1_;
	a = (tySequence__23SMqauuRsbDANhthj9bWlA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__squ9b9bUH4OLHf6cEMrt6hVA)(void* p, NI op) {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA* a;
	NI T1_;
	a = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__pHNq3oXj9av2sEUdqaqeZjw)(void* p, NI op) {
	tySequence__pHNq3oXj9av2sEUdqaqeZjw* a;
	NI T1_;
	a = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	nimGCvisit((void*)a->data[T1_].Field2.root, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__w3hW0l8agm6xMv9afJe9aiRw)(NI initialSize, tyObject_Table__fdKWDDO1P17zvuQPReVgRA* Result) {
	NI correctSizeX60gensym1_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym1_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) (correctSizeX60gensym1_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__CaVonymNJD1dGAhApMbV2g)(NI initialSize, tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* Result) {
	NI correctSizeX60gensym3_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym3_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) (correctSizeX60gensym3_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__nbdg1XkakWibhw6meLxFVg)(NI initialSize, tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* Result) {
	NI correctSizeX60gensym6_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym6_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) (correctSizeX60gensym6_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__2gDElK9agmPOHa6UVPYygZg)(NI initialSize, tyObject_Table__NttoEzoiq5CiphZe81oadg* Result) {
	NI correctSizeX60gensym8_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym8_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) (correctSizeX60gensym8_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__Qp2wzR51fqIFP8LjGKEktQ)(NI initialSize, tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* Result) {
	NI correctSizeX60gensym10_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym10_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) (correctSizeX60gensym10_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__SkNpgL9chjNeAljrvOTzV2Q)(NI initialSize, tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* Result) {
	NI correctSizeX60gensym12_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym12_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) (correctSizeX60gensym12_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__DqzDsZYrt3ZYs1snAP7Uqw)(NI initialSize, tyObject_Table__G1v8c16HePOldLeucwe05Q* Result) {
	NI correctSizeX60gensym14_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym14_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) (correctSizeX60gensym14_))));
}
static N_INLINE(NU64, hiXorLoFallback64__wWqo9alrSZddOyokrApfNaQ_2hashes)(NU64 a, NU64 b) {
	NU64 result;
	NU64 aH;
	NU64 aL;
	NU64 bH;
	NU64 bL;
	NU64 rHH;
	NU64 rHL;
	NU64 rLH;
	NU64 rLL;
	NU64 t;
	NU64 c;
	NU64 lo;
	NU64 T6_;
	NU64 hi;
{	result = (NU64)0;
	aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
	aL = (NU64)(a & 4294967295ULL);
	bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
	bL = (NU64)(b & 4294967295ULL);
	rHH = (NU64)((NU64)(aH) * (NU64)(bH));
	rHL = (NU64)((NU64)(aH) * (NU64)(bL));
	rLH = (NU64)((NU64)(aL) * (NU64)(bH));
	rLL = (NU64)((NU64)(aL) * (NU64)(bL));
	t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
	{
		if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
		c = 1ULL;
	}
	goto LA1_;
	LA3_: ;
	{
		c = 0ULL;
	}
	LA1_: ;
	lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
	T6_ = (NU64)0;
	{
		if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
		T6_ = 1ULL;
	}
	goto LA7_;
	LA9_: ;
	{
		T6_ = 0ULL;
	}
	LA7_: ;
	c += T6_;
	hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
	result = (NU64)(hi ^ lo);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NU64, hiXorLo__wWqo9alrSZddOyokrApfNaQhashes)(NU64 a, NU64 b) {
	NU64 result;
	result = (NU64)0;
	result = hiXorLoFallback64__wWqo9alrSZddOyokrApfNaQ_2hashes(a, b);
	return result;
}
static N_INLINE(NI, hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes)(NU64 x) {
	NI result;
	NU64 T1_;
	NU64 T2_;
	result = (NI)0;
	T1_ = (NU64)0;
	T1_ = hiXorLo__wWqo9alrSZddOyokrApfNaQhashes(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
	T2_ = (NU64)0;
	T2_ = hiXorLo__wWqo9alrSZddOyokrApfNaQhashes(T1_, 16952864883938283885ULL);
	result = ((NI) (T2_));
	return result;
}
static N_INLINE(NI, hash__ixIcN23Rzgwj4rjH9cMHDWQhashes)(NI32 x) {
	NI result;
	result = (NI)0;
	result = hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes(((NU64) (x)));
	return result;
}
static N_INLINE(NI, rawGet__VHL4jbXDU6F0885vBGFikgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__ixIcN23Rzgwj4rjH9cMHDWQhashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__p0SD9ac9cV70OflrgSip1TDgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t, tySequence__kxu4GK0onha2t9bo86mdVAg** data, NI32 key, NI32 val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__WznuIAS2HbbgwoQgMlLNGA)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t) {
	tySequence__kxu4GK0onha2t9bo86mdVAg* n;
	NI T1_;
	tySequence__kxu4GK0onha2t9bo86mdVAg* T2_;
	n = (tySequence__kxu4GK0onha2t9bo86mdVAg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__kxu4GK0onha2t9bo86mdVAg*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* T17_;
					NI32 T18_;
					NI32 T19_;
					NI32 T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ*)0;
					T17_ = t;
					T18_ = (NI32)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI32)0;
					T19_ = T18_;
					T20_ = (NI32)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__WbZNr9ajY1NXktE9abGpy5rgtables)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t, NI32 key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKeyOrPut__WdnGwzJoNnsIHUzxAKLE9aw)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* t, NI32 key, NI32 val) {
	NIM_BOOL result;
	NI hc;
	NI index;
	result = (NIM_BOOL)0;
	{
		NI T3_;
		NI correctSizeX60gensym22_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym22_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) (correctSizeX60gensym22_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__VHL4jbXDU6F0885vBGFikgtables((*t), key, (&hc));
	{
		tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ* T20_;
		if (!(index < ((NI) 0))) goto LA8_;
		result = NIM_FALSE;
		{
			NI T12_;
			NI correctSizeX60gensym27_;
			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T12_ == ((NI) 0))) goto LA13_;
			correctSizeX60gensym27_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__kxu4GK0onha2t9bo86mdVAg*) newSeq((&NTI__kxu4GK0onha2t9bo86mdVAg_), ((NI) (correctSizeX60gensym27_))));
		}
		LA13_: ;
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = mustRehash__p0SD9ac9cV70OflrgSip1TDgtables((*t));
			if (!T17_) goto LA18_;
			enlarge__WznuIAS2HbbgwoQgMlLNGA(t);
			index = rawGetKnownHC__WbZNr9ajY1NXktE9abGpy5rgtables((*t), key, hc);
		}
		LA18_: ;
		index = (NI)(((NI) -1) - index);
		T20_ = (tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ*)0;
		T20_ = t;
		rawInsert__wUVYiyWmQ9cvzc9aNVobHWfA(T20_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	goto LA6_;
	LA8_: ;
	{
		result = NIM_TRUE;
	}
	LA6_: ;
	return result;
}
static N_INLINE(NI, rawGet__QnNqXOulpiE3rTDm0rj6bgtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__ixIcN23Rzgwj4rjH9cMHDWQhashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__4hpuf9b9bexmHtlCuFvGGypwtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__IVJyWWnSh59cPztkOuQNV0g)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t, tySequence__fdmz6VkIf1ewwrssKYqRFg** data, NI32 key, tySequence__48JTohSgTy339bRxHzUD8KA* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	genericSeqAssign((&(*data)->data[h].Field2), val, (&NTI__48JTohSgTy339bRxHzUD8KA_));
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__8q9c9aCPUMM0w7HNF4dndgQg)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t) {
	tySequence__fdmz6VkIf1ewwrssKYqRFg* n;
	NI T1_;
	tySequence__fdmz6VkIf1ewwrssKYqRFg* T2_;
	n = (tySequence__fdmz6VkIf1ewwrssKYqRFg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__fdmz6VkIf1ewwrssKYqRFg*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__fdKWDDO1P17zvuQPReVgRA* T17_;
					NI32 T18_;
					NI32 T19_;
					tySequence__48JTohSgTy339bRxHzUD8KA* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__fdKWDDO1P17zvuQPReVgRA*)0;
					T17_ = t;
					T18_ = (NI32)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI32)0;
					T19_ = T18_;
					T20_ = (tySequence__48JTohSgTy339bRxHzUD8KA*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__IVJyWWnSh59cPztkOuQNV0g(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__4Fsb1T2VnPSV6oxoQiJufQtables)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA t, NI32 key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__48JTohSgTy339bRxHzUD8KA**, mgetOrPut__zZWWGOWkKOEGJoEiQeIHZA)(tyObject_Table__fdKWDDO1P17zvuQPReVgRA* t, NI32 key, tySequence__48JTohSgTy339bRxHzUD8KA* val) {
	tySequence__48JTohSgTy339bRxHzUD8KA** result;
	NI hc;
	NI index;
	result = (tySequence__48JTohSgTy339bRxHzUD8KA**)0;
	{
		NI T3_;
		NI correctSizeX60gensym18_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym18_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) (correctSizeX60gensym18_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__QnNqXOulpiE3rTDm0rj6bgtables((*t), key, (&hc));
	{
		tyObject_Table__fdKWDDO1P17zvuQPReVgRA* T20_;
		if (!(index < ((NI) 0))) goto LA8_;
		{
			NI T12_;
			NI correctSizeX60gensym21_;
			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T12_ == ((NI) 0))) goto LA13_;
			correctSizeX60gensym21_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__fdmz6VkIf1ewwrssKYqRFg*) newSeq((&NTI__fdmz6VkIf1ewwrssKYqRFg_), ((NI) (correctSizeX60gensym21_))));
		}
		LA13_: ;
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = mustRehash__4hpuf9b9bexmHtlCuFvGGypwtables((*t));
			if (!T17_) goto LA18_;
			enlarge__8q9c9aCPUMM0w7HNF4dndgQg(t);
			index = rawGetKnownHC__4Fsb1T2VnPSV6oxoQiJufQtables((*t), key, hc);
		}
		LA18_: ;
		index = (NI)(((NI) -1) - index);
		T20_ = (tyObject_Table__fdKWDDO1P17zvuQPReVgRA*)0;
		T20_ = t;
		rawInsert__IVJyWWnSh59cPztkOuQNV0g(T20_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA8_: ;
	result = (&(*t).data->data[index].Field2);
	return result;
}
static N_INLINE(NI, hash__aWv89bCLOibANstPF9bHQoyQhashes)(NI x) {
	NI result;
	result = (NI)0;
	result = hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes(((NU64) (x)));
	return result;
}
static N_INLINE(NI, rawGet__8eLPyJNN6hcR50ctxeSkDgtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__aWv89bCLOibANstPF9bHQoyQhashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__yfsonszRyw8UOuzQhTX8Jwtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__2E5CplI9bWrWY15XwFVf2bA)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t, tySequence__fIB1rTQ55aFonoft9a9bmljQ** data, NI key, tyArray__qtqsWM5aXmcpMIVmvq3kAA val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	nimCopyMem((void*)(*data)->data[h].Field2, (NIM_CONST void*)val, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	(*data)->data[h].Field0 = hc;
}
static N_INLINE(void, nimSetMem__JE6t4x7Z3v2iVz27Nx0MRAmemory)(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__JE6t4x7Z3v2iVz27Nx0MRAmemory(p, ((int) 0), size);
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__IhIQ7TfMuHBewVVmTQrOlQ)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t) {
	tySequence__fIB1rTQ55aFonoft9a9bmljQ* n;
	NI T1_;
	tySequence__fIB1rTQ55aFonoft9a9bmljQ* T2_;
	n = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__fIB1rTQ55aFonoft9a9bmljQ*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__G1v8c16HePOldLeucwe05Q* T17_;
					NI T18_;
					NI T19_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__G1v8c16HePOldLeucwe05Q*)0;
					T17_ = t;
					T18_ = (NI)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI)0;
					T19_ = T18_;
					nimCopyMem((void*)T20_, (NIM_CONST void*)n->data[i].Field2, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field2, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					rawInsert__2E5CplI9bWrWY15XwFVf2bA(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__UaWZNeEgUaDIcsfDXIvasAtables)(tyObject_Table__G1v8c16HePOldLeucwe05Q t, NI key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___vM9aGuvtd2MaMcJSPmyUs0g)(tyObject_Table__G1v8c16HePOldLeucwe05Q* t, NI key, tyArray__qtqsWM5aXmcpMIVmvq3kAA val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym93_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym93_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) (correctSizeX60gensym93_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__8eLPyJNN6hcR50ctxeSkDgtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		nimCopyMem((void*)(*t).data->data[index].Field2, (NIM_CONST void*)val, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__G1v8c16HePOldLeucwe05Q* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym96_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym96_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__fIB1rTQ55aFonoft9a9bmljQ*) newSeq((&NTI__fIB1rTQ55aFonoft9a9bmljQ_), ((NI) (correctSizeX60gensym96_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__yfsonszRyw8UOuzQhTX8Jwtables((*t));
			if (!T18_) goto LA19_;
			enlarge__IhIQ7TfMuHBewVVmTQrOlQ(t);
			index = rawGetKnownHC__UaWZNeEgUaDIcsfDXIvasAtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__G1v8c16HePOldLeucwe05Q*)0;
		T21_ = t;
		rawInsert__2E5CplI9bWrWY15XwFVf2bA(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_NIMCALL(void, Marker_tySequence__hLW2w9a9bDM1AHB8BIrU3BYw)(void* p, NI op) {
	tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* a;
	NI T1_;
	a = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__a9bC7nkiLU3lFTLZqMubj5Q)(NI initialSize, tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* Result) {
	NI correctSizeX60gensym50_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym50_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) (correctSizeX60gensym50_))));
}
static N_INLINE(NI, rawGet__6JakEI68PBBdEMzqcwDJCAtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__aWv89bCLOibANstPF9bHQoyQhashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, getOrDefault__9bQKf8dFvOTPFC2tZLVBE7A)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key) {
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	NI hcX60gensym52_;
	NI indexX60gensym52_;
	result = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	hcX60gensym52_ = (NI)0;
	indexX60gensym52_ = rawGet__6JakEI68PBBdEMzqcwDJCAtables(t, key, (&hcX60gensym52_));
	{
		if (!(((NI) 0) <= indexX60gensym52_)) goto LA3_;
		result = t.data->data[indexX60gensym52_].Field2;
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__YnVi9ccarQj2fmPjmGrkOUQtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__0NF4fuOYJP4YH8beRyMvWg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t, tySequence__hLW2w9a9bDM1AHB8BIrU3BYw** data, NI key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__e2mchzYwFdhwebJni6CqZg)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t) {
	tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* n;
	NI T1_;
	tySequence__hLW2w9a9bDM1AHB8BIrU3BYw* T2_;
	n = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* T17_;
					NI T18_;
					NI T19_;
					tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ*)0;
					T17_ = t;
					T18_ = (NI)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI)0;
					T19_ = T18_;
					T20_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__0NF4fuOYJP4YH8beRyMvWg(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__eNcUgWoz7pcvMX3xYaDRLgtables)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ t, NI key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___MQp6geYbWilpbmJT3tnncQ)(tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* t, NI key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym57_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym57_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) (correctSizeX60gensym57_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__6JakEI68PBBdEMzqcwDJCAtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym60_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym60_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*) newSeq((&NTI__hLW2w9a9bDM1AHB8BIrU3BYw_), ((NI) (correctSizeX60gensym60_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__YnVi9ccarQj2fmPjmGrkOUQtables((*t));
			if (!T18_) goto LA19_;
			enlarge__e2mchzYwFdhwebJni6CqZg(t);
			index = rawGetKnownHC__eNcUgWoz7pcvMX3xYaDRLgtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__Os4it9bmHnOQtsd5CqH09aRQ*)0;
		T21_ = t;
		rawInsert__0NF4fuOYJP4YH8beRyMvWg(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_NIMCALL(void, Marker_tySequence__YuKuU17u5ApAIki23DK9bJw)(void* p, NI op) {
	tySequence__YuKuU17u5ApAIki23DK9bJw* a;
	NI T1_;
	a = (tySequence__YuKuU17u5ApAIki23DK9bJw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__TJKMxrEPQUpx86MsTl1C3A)(NI initialSize, tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* Result) {
	NI correctSizeX60gensym96_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym96_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) (correctSizeX60gensym96_))));
}
static N_INLINE(NI, rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__aWv89bCLOibANstPF9bHQoyQhashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getOrDefault__OX9anFuDn9bfK9aeoL9blUUBvw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI hcX60gensym105_;
	NI indexX60gensym105_;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	hcX60gensym105_ = (NI)0;
	indexX60gensym105_ = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables(t, key, (&hcX60gensym105_));
	{
		if (!(((NI) 0) <= indexX60gensym105_)) goto LA3_;
		result = t.data->data[indexX60gensym105_].Field2;
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__FZslO537WT1reRaZVmizDQtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__zd631ggeGEiPTefqYEGpiA)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, tySequence__YuKuU17u5ApAIki23DK9bJw** data, NI key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__NZJD7XooFe3vwlZMQikupw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t) {
	tySequence__YuKuU17u5ApAIki23DK9bJw* n;
	NI T1_;
	tySequence__YuKuU17u5ApAIki23DK9bJw* T2_;
	n = (tySequence__YuKuU17u5ApAIki23DK9bJw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__YuKuU17u5ApAIki23DK9bJw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* T17_;
					NI T18_;
					NI T19_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__JrI9bTpOVccKpiJXKOskjFg*)0;
					T17_ = t;
					T18_ = (NI)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI)0;
					T19_ = T18_;
					T20_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__zd631ggeGEiPTefqYEGpiA(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__abkoCGbCZlz6d4aa4hHxhgtables)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___tMEyAvlcC3r82WGaTaSYrQ)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, NI key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym112_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym112_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) (correctSizeX60gensym112_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym115_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym115_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__YuKuU17u5ApAIki23DK9bJw*) newSeq((&NTI__YuKuU17u5ApAIki23DK9bJw_), ((NI) (correctSizeX60gensym115_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__FZslO537WT1reRaZVmizDQtables((*t));
			if (!T18_) goto LA19_;
			enlarge__NZJD7XooFe3vwlZMQikupw(t);
			index = rawGetKnownHC__abkoCGbCZlz6d4aa4hHxhgtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__JrI9bTpOVccKpiJXKOskjFg*)0;
		T21_ = t;
		rawInsert__zd631ggeGEiPTefqYEGpiA(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___X7HRLXyMghOAScJitThqsw)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg* t, NI key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym22_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = nimIntToStr(key);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, T8_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, rawGet__UJsERo5BkViQH6ie2d9asaQtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__XFPFecV5bGJUDhwku4bw7A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, getOrDefault__osKkoxC3A03cBoj9bK1Or9cQ)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	NI hcX60gensym102_;
	NI indexX60gensym102_;
	result = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	hcX60gensym102_ = (NI)0;
	indexX60gensym102_ = rawGet__UJsERo5BkViQH6ie2d9asaQtables(t, key, (&hcX60gensym102_));
	{
		if (!(((NI) 0) <= indexX60gensym102_)) goto LA3_;
		result = t.data->data[indexX60gensym102_].Field2;
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__czPJfvxxSt2pCWZYMPjskAtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t, tySequence__Qr6E8eH7btq79cFKGaJfGLw** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val, NI hc, NI h) {
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__wtlRvAPpfH5zwFZ6PVJ9bEw)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t) {
	tySequence__Qr6E8eH7btq79cFKGaJfGLw* n;
	NI T1_;
	tySequence__Qr6E8eH7btq79cFKGaJfGLw* T2_;
	n = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__Qr6E8eH7btq79cFKGaJfGLw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* T17_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T18_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T19_;
					tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__IioUJGdqPI6xC7S7QF8MBw*)0;
					T17_ = t;
					nimCopyMem((void*)T18_, (NIM_CONST void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimCopyMem((void*)T19_, (NIM_CONST void*)T18_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					T20_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__bT8cRF5uMfM8lc5JOL9baswtables)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___mDjERi9aeOTPpwet1knXpgw)(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym206_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym206_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) (correctSizeX60gensym206_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__UJsERo5BkViQH6ie2d9asaQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__IioUJGdqPI6xC7S7QF8MBw* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym209_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym209_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__Qr6E8eH7btq79cFKGaJfGLw*) newSeq((&NTI__Qr6E8eH7btq79cFKGaJfGLw_), ((NI) (correctSizeX60gensym209_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__czPJfvxxSt2pCWZYMPjskAtables((*t));
			if (!T18_) goto LA19_;
			enlarge__wtlRvAPpfH5zwFZ6PVJ9bEw(t);
			index = rawGetKnownHC__bT8cRF5uMfM8lc5JOL9baswtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__IioUJGdqPI6xC7S7QF8MBw*)0;
		T21_ = t;
		rawInsert__u9aJV4Xxo1Qv0WGIfVav9c2Q(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, X5BX5D___OX9anFuDn9bfK9aeoL9blUUBvw_2)(tyObject_Table__JrI9bTpOVccKpiJXKOskjFg t, NI key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI hcX60gensym20_;
	NI indexX60gensym20_;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	hcX60gensym20_ = (NI)0;
	indexX60gensym20_ = rawGet__aS7VMifwQ5UsdOtD1Dx7GAtables(t, key, (&hcX60gensym20_));
	{
		if (!(((NI) 0) <= indexX60gensym20_)) goto LA3_;
		result = t.data->data[indexX60gensym20_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = nimIntToStr(key);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, T8_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__ZySnRyYriVjDpNDRyzJyGg)(void* p, NI op) {
	tySequence__ZySnRyYriVjDpNDRyzJyGg* a;
	NI T1_;
	a = (tySequence__ZySnRyYriVjDpNDRyzJyGg*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__6C9a3DhzPC9cpjLGyCT2dFSw)(NI initialSize, tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* Result) {
	NI correctSizeX60gensym341_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym341_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__ZySnRyYriVjDpNDRyzJyGg*) newSeq((&NTI__ZySnRyYriVjDpNDRyzJyGg_), ((NI) (correctSizeX60gensym341_))));
}
static N_INLINE(NI, rawGet__Owmh1K8KUBFM9cYnrcUUBSQtables)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__aWv89bCLOibANstPF9bHQoyQhashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*, getOrDefault__uCG5IIVbEioYnAZb0kv7NQ)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg t, NI key) {
	tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* result;
	NI hcX60gensym304_;
	NI indexX60gensym304_;
	result = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*)0;
	hcX60gensym304_ = (NI)0;
	indexX60gensym304_ = rawGet__Owmh1K8KUBFM9cYnrcUUBSQtables(t, key, (&hcX60gensym304_));
	{
		if (!(((NI) 0) <= indexX60gensym304_)) goto LA3_;
		result = t.data->data[indexX60gensym304_].Field2;
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__19ckkHF9alTmYPDiEl6EuTNQtables)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dtwoeG0XWc9b6K9cKlM0eytA)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* t, tySequence__ZySnRyYriVjDpNDRyzJyGg** data, NI key, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__0j0AfRtFuqyM3CSG4ssBiQ)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* t) {
	tySequence__ZySnRyYriVjDpNDRyzJyGg* n;
	NI T1_;
	tySequence__ZySnRyYriVjDpNDRyzJyGg* T2_;
	n = (tySequence__ZySnRyYriVjDpNDRyzJyGg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__ZySnRyYriVjDpNDRyzJyGg*) newSeq((&NTI__ZySnRyYriVjDpNDRyzJyGg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__ZySnRyYriVjDpNDRyzJyGg*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* T17_;
					NI T18_;
					NI T19_;
					tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg*)0;
					T17_ = t;
					T18_ = (NI)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI)0;
					T19_ = T18_;
					T20_ = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__dtwoeG0XWc9b6K9cKlM0eytA(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__3JsFQp1zCBAXGdA9bwRC4ZQtables)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg t, NI key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___mhf9c59bdwLow303OTY9aqDsw)(tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* t, NI key, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym313_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym313_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__ZySnRyYriVjDpNDRyzJyGg*) newSeq((&NTI__ZySnRyYriVjDpNDRyzJyGg_), ((NI) (correctSizeX60gensym313_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__Owmh1K8KUBFM9cYnrcUUBSQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym316_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym316_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__ZySnRyYriVjDpNDRyzJyGg*) newSeq((&NTI__ZySnRyYriVjDpNDRyzJyGg_), ((NI) (correctSizeX60gensym316_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__19ckkHF9alTmYPDiEl6EuTNQtables((*t));
			if (!T18_) goto LA19_;
			enlarge__0j0AfRtFuqyM3CSG4ssBiQ(t);
			index = rawGetKnownHC__3JsFQp1zCBAXGdA9bwRC4ZQtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__bBTYOvhK9cfU3hC9aEhb2BYg*)0;
		T21_ = t;
		rawInsert__dtwoeG0XWc9b6K9cKlM0eytA(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_INLINE(NI, rawGet__3B39bms3hJS0Syhd7xxEULgtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, getOrDefault__z8A9cwbmxkLXNxRJ9arkRPMQ)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key) {
	NI64 result;
	NI hcX60gensym962_;
	NI indexX60gensym962_;
	result = (NI64)0;
	hcX60gensym962_ = (NI)0;
	indexX60gensym962_ = rawGet__3B39bms3hJS0Syhd7xxEULgtables(t, key, (&hcX60gensym962_));
	{
		if (!(((NI) 0) <= indexX60gensym962_)) goto LA3_;
		result = t.data->data[indexX60gensym962_].Field2;
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__KVLO3XLRu9btzF86gyyrOFwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__XH2oBuEgDaY43m9bc9czCHzQ)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t, tySequence__squ9b9bUH4OLHf6cEMrt6hVA** data, NimStringDesc* key, NI64 val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__Ia9aKwc9aYyF2xX8fakDniHw)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t) {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA* n;
	NI T1_;
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA* T2_;
	n = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__NttoEzoiq5CiphZe81oadg* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					NI64 T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__NttoEzoiq5CiphZe81oadg*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (NI64)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__XH2oBuEgDaY43m9bc9czCHzQ(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__A9bYZN6s9cFvr27D9aBNRZxQwtables)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___fM9b60sY7h9aUB763UQb3oXA)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t, NimStringDesc* key, NI64 val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym970_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym970_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) (correctSizeX60gensym970_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__3B39bms3hJS0Syhd7xxEULgtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__NttoEzoiq5CiphZe81oadg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym973_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym973_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__squ9b9bUH4OLHf6cEMrt6hVA*) newSeq((&NTI__squ9b9bUH4OLHf6cEMrt6hVA_), ((NI) (correctSizeX60gensym973_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__KVLO3XLRu9btzF86gyyrOFwtables((*t));
			if (!T18_) goto LA19_;
			enlarge__Ia9aKwc9aYyF2xX8fakDniHw(t);
			index = rawGetKnownHC__A9bYZN6s9cFvr27D9aBNRZxQwtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__NttoEzoiq5CiphZe81oadg*)0;
		T21_ = t;
		rawInsert__XH2oBuEgDaY43m9bc9czCHzQ(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_INLINE(NI, rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__tNDb8HX4Pcd05E6w80ngeA_2)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__tNDb8HX4Pcd05E6w80ngeA)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = hasKey__tNDb8HX4Pcd05E6w80ngeA_2(t, key);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__VtDMB9bHz8P8P9bEROJFDiJgtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__dphYj2K2cQV4c59cmH9bTrwQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, tySequence__23SMqauuRsbDANhthj9bWlA** data, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__6K1KMyIJ44JU1rDXMt00fQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t) {
	tySequence__23SMqauuRsbDANhthj9bWlA* n;
	NI T1_;
	tySequence__23SMqauuRsbDANhthj9bWlA* T2_;
	n = (tySequence__23SMqauuRsbDANhthj9bWlA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__23SMqauuRsbDANhthj9bWlA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__dphYj2K2cQV4c59cmH9bTrwQ(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__So4NwPMLEKibXtBM4tOfkQtables)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sShzjuQoVJkvjz3oILuGOQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym987_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym987_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) (correctSizeX60gensym987_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym990_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym990_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__23SMqauuRsbDANhthj9bWlA*) newSeq((&NTI__23SMqauuRsbDANhthj9bWlA_), ((NI) (correctSizeX60gensym990_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__VtDMB9bHz8P8P9bEROJFDiJgtables((*t));
			if (!T18_) goto LA19_;
			enlarge__6K1KMyIJ44JU1rDXMt00fQ(t);
			index = rawGetKnownHC__So4NwPMLEKibXtBM4tOfkQtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA*)0;
		T21_ = t;
		rawInsert__dphYj2K2cQV4c59cmH9bTrwQ(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___MfHxsDwfhxJEwdTZBgdTmg)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__SMyMIOHvYU9bKbIDA9aXa0CQtables((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym22_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, key);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, rawGet__z5lyUFnYWNZgtnmQvNIG1Atables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__HJN1GCNkXuSaKainyv8E2w_2)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__z5lyUFnYWNZgtnmQvNIG1Atables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__HJN1GCNkXuSaKainyv8E2w)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = hasKey__HJN1GCNkXuSaKainyv8E2w_2(t, key);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__CGa6FpBBVdStCo4ldGugWQtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__X9afgMwIB5o1VDnyZkF63LA)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, tySequence__pHNq3oXj9av2sEUdqaqeZjw** data, NimStringDesc* key, tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRef((void**) (&(*data)->data[h].Field2.root), val.root);
	(*data)->data[h].Field2.entries = val.entries;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__xUzvAyBcVu9b8xJ84vmmdgg)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t) {
	tySequence__pHNq3oXj9av2sEUdqaqeZjw* n;
	NI T1_;
	tySequence__pHNq3oXj9av2sEUdqaqeZjw* T2_;
	n = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__pHNq3oXj9av2sEUdqaqeZjw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__nagDFX4QHx0s6Fvma9blmSg*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					nimZeroMem((void*)(&T20_), sizeof(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg));
					T20_.root = n->data[i].Field2.root;
					T20_.entries = n->data[i].Field2.entries;
					unsureAsgnRef((void**)&n->data[i].Field2.root, NIM_NIL);
					n->data[i].Field2.entries = 0;
					rawInsert__X9afgMwIB5o1VDnyZkF63LA(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__TSpYtoROqC7475f9bg4iXugtables)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___L2EahbjJPAlDipW4Omiq5g)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key, tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym1018_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym1018_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) (correctSizeX60gensym1018_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__z5lyUFnYWNZgtnmQvNIG1Atables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2.root), val.root);
		(*t).data->data[index].Field2.entries = val.entries;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym1021_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym1021_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__pHNq3oXj9av2sEUdqaqeZjw*) newSeq((&NTI__pHNq3oXj9av2sEUdqaqeZjw_), ((NI) (correctSizeX60gensym1021_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__CGa6FpBBVdStCo4ldGugWQtables((*t));
			if (!T18_) goto LA19_;
			enlarge__xUzvAyBcVu9b8xJ84vmmdgg(t);
			index = rawGetKnownHC__TSpYtoROqC7475f9bg4iXugtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__nagDFX4QHx0s6Fvma9blmSg*)0;
		T21_ = t;
		rawInsert__X9afgMwIB5o1VDnyZkF63LA(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*, X5BX5D___SsXWfuQKn5htR3WBdyM0mA)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key) {
	tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__z5lyUFnYWNZgtnmQvNIG1Atables((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = (&(*t).data->data[indexX60gensym22_].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, key);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__s12F9c4cKfaapm8VzG9a1flQ)(void* p, NI op) {
	tySequence__s12F9c4cKfaapm8VzG9a1flQ* a;
	NI T1_;
	a = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__YTsZ11U9aeIqqeJoGkYFEXQ)(NI initialSize, tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* Result) {
	NI correctSizeX60gensym72_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym72_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) (correctSizeX60gensym72_))));
}
static N_INLINE(NI, hash__sTYVuBLDBQbglYNxcT9bWrghashes)(NI64 x) {
	NI result;
	result = (NI)0;
	result = hashWangYi1__AN9c8V1UY1ZE7b8ldNRftRQhashes(((NU64) (x)));
	return result;
}
static N_INLINE(NI, rawGet__WHgMCdcTgzDXYwrCU5rygAtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__sTYVuBLDBQbglYNxcT9bWrghashes(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = (t.data->data[h].Field1 == key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getOrDefault__NuV0kwmS6NPkSg4nGTYxGQ)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI hcX60gensym54_;
	NI indexX60gensym54_;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	hcX60gensym54_ = (NI)0;
	indexX60gensym54_ = rawGet__WHgMCdcTgzDXYwrCU5rygAtables(t, key, (&hcX60gensym54_));
	{
		if (!(((NI) 0) <= indexX60gensym54_)) goto LA3_;
		result = t.data->data[indexX60gensym54_].Field2;
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__T9cz0kw5vDbNDnfPWcSRNYgtables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t, tySequence__s12F9c4cKfaapm8VzG9a1flQ** data, NI64 key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__eoqIM0Hd0SjhaY9cur9b4i8w)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t) {
	tySequence__s12F9c4cKfaapm8VzG9a1flQ* n;
	NI T1_;
	tySequence__s12F9c4cKfaapm8VzG9a1flQ* T2_;
	n = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__s12F9c4cKfaapm8VzG9a1flQ*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* T17_;
					NI64 T18_;
					NI64 T19_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg*)0;
					T17_ = t;
					T18_ = (NI64)0;
					T18_ = n->data[i].Field1;
					n->data[i].Field1 = 0;
					T19_ = (NI64)0;
					T19_ = T18_;
					T20_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__K1f7gLsHF5x79adahVjRo5Atables)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg t, NI64 key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = (t.data->data[h].Field1 == key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___OtPEflpH4zlxCllppdpU2g)(tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* t, NI64 key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym59_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym59_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) (correctSizeX60gensym59_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__WHgMCdcTgzDXYwrCU5rygAtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym62_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym62_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__s12F9c4cKfaapm8VzG9a1flQ*) newSeq((&NTI__s12F9c4cKfaapm8VzG9a1flQ_), ((NI) (correctSizeX60gensym62_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__T9cz0kw5vDbNDnfPWcSRNYgtables((*t));
			if (!T18_) goto LA19_;
			enlarge__eoqIM0Hd0SjhaY9cur9b4i8w(t);
			index = rawGetKnownHC__K1f7gLsHF5x79adahVjRo5Atables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__7O9bs4LORhqcR0JGh7d1MDg*)0;
		T21_ = t;
		rawInsert__9bGCjjc8EMS6OJa9a9anUwMjg(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_INLINE(NI, rawGet__KAHxhNAZHXtj35YPlFp3CQtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__SGf1i29beSa89acqisuwMuyg(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq___xg1zPyXc6cdWexuBqSObOw(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__TdGhKsSaf9bmh8whPiEIOXw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__KAHxhNAZHXtj35YPlFp3CQtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nQCg2DVRQn4zUR62WaaQ4w_2)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = hasKey__TdGhKsSaf9bmh8whPiEIOXw((*t), key);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nQCg2DVRQn4zUR62WaaQ4w)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = hasKey__nQCg2DVRQn4zUR62WaaQ4w_2(t, key);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__FjltqzJjpq9caBUDHyV2U6Qtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__P9bSe9aGji82m6txhxFz1wnw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tySequence__TXIV9cpS1nTKZLiCib9cPT4g** data, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val, NI hc, NI h) {
	(*data)->data[h].Field1 = key;
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__llNZABVg9cHtGC9btjLPK9aQQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t) {
	tySequence__TXIV9cpS1nTKZLiCib9cPT4g* n;
	NI T1_;
	tySequence__TXIV9cpS1nTKZLiCib9cPT4g* T2_;
	n = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* T17_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T18_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T19_;
					tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)0;
					T17_ = t;
					T18_ = n->data[i].Field1;
					nimZeroMem((void*)(&n->data[i].Field1), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					T19_ = T18_;
					T20_ = n->data[i].Field2;
					nimZeroMem((void*)(&n->data[i].Field2), sizeof(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw));
					rawInsert__P9bSe9aGji82m6txhxFz1wnw(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__iEOEFa0YHvnmMvRiT9axDUwtables)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq___xg1zPyXc6cdWexuBqSObOw(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___V57ibkW7LIpBP9b9cMWfgk5A)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym13_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym13_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) (correctSizeX60gensym13_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__KAHxhNAZHXtj35YPlFp3CQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym18_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym18_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__TXIV9cpS1nTKZLiCib9cPT4g*) newSeq((&NTI__TXIV9cpS1nTKZLiCib9cPT4g_), ((NI) (correctSizeX60gensym18_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__FjltqzJjpq9caBUDHyV2U6Qtables((*t));
			if (!T18_) goto LA19_;
			enlarge__llNZABVg9cHtGC9btjLPK9aQQ(t);
			index = rawGetKnownHC__iEOEFa0YHvnmMvRiT9axDUwtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*)0;
		T21_ = t;
		rawInsert__P9bSe9aGji82m6txhxFz1wnw(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___FU0mmKQi2nn9cIDsFU4BjLQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw val) {
	X5BX5Deq___V57ibkW7LIpBP9b9cMWfgk5A(t, key, val);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*, X5BX5D___DldrQjxt0iOBMCfnDHQJiQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw* result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__KAHxhNAZHXtj35YPlFp3CQtables((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = (&(*t).data->data[indexX60gensym22_].Field2);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = (*T6_).Sup.Sup.Sup.message; (*T6_).Sup.Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_26));
		if (T7_) nimGCunrefNoCycle(T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 264);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*, X5BX5D___z7jB5dSVya8ADmG71Hczew)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw* result;
	result = (tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw*)0;
	result = X5BX5D___DldrQjxt0iOBMCfnDHQJiQ(t, key);
	return result;
}
static N_NIMCALL(void, Marker_tySequence__sII3pVVRkIdBZ2HDPdZddA)(void* p, NI op) {
	tySequence__sII3pVVRkIdBZ2HDPdZddA* a;
	NI T1_;
	NI T2_;
	a = (tySequence__sII3pVVRkIdBZ2HDPdZddA*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__jwzrUFjG9akTIJTBBFvvqxw)(void* p, NI op) {
	tySequence__jwzrUFjG9akTIJTBBFvvqxw* a;
	NI T1_;
	a = (tySequence__jwzrUFjG9akTIJTBBFvvqxw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field0, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__XUL1TrMU0tgXmaMFCIYgFQ)(void* p, NI op) {
	tySequence__XUL1TrMU0tgXmaMFCIYgFQ* a;
	NI T1_;
	NI T2_;
	a = (tySequence__XUL1TrMU0tgXmaMFCIYgFQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	}
}
static N_NIMCALL(void, Marker_tySequence__diqJJ1bWuFP7M6rQDS9cBLQ)(void* p, NI op) {
	tySequence__diqJJ1bWuFP7M6rQDS9cBLQ* a;
	NI T1_;
	NI T2_;
	a = (tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	T2_ = (NI)0;
	nimGCvisit((void*)a->data[T1_].Field2.Field0, op);
	nimGCvisit((void*)a->data[T1_].Field2.Field1, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__22cYO7U9aPu9aJmxAg0EDCBg)(NI initialSize, tyObject_Table__6nOsw5R7jH72bux7HSST9bg* Result) {
	NI correctSizeX60gensym5_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym5_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*) newSeq((&NTI__diqJJ1bWuFP7M6rQDS9cBLQ_), ((NI) (correctSizeX60gensym5_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__ZudPzqPNlpthuJgNIdX3jA)(NI initialSize, tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* Result) {
	NI correctSizeX60gensym6323_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym6323_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTI__sII3pVVRkIdBZ2HDPdZddA_), ((NI) (correctSizeX60gensym6323_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initCountTable__9apu9bmxB0tG2KjdEWuGfVPg)(NI initialSize, tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* Result) {
	NI correctSizeX60gensym6325_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	(*Result).isSorted = 0;
	correctSizeX60gensym6325_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__XUL1TrMU0tgXmaMFCIYgFQ*) newSeq((&NTI__XUL1TrMU0tgXmaMFCIYgFQ_), ((NI) (correctSizeX60gensym6325_))));
}
N_LIB_PRIVATE N_NIMCALL(void, initCountTable__c8ZqFh8t3EqhDNTipW6ekQ)(NI initialSize, tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* Result) {
	NI correctSizeX60gensym3_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	(*Result).isSorted = 0;
	correctSizeX60gensym3_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__jwzrUFjG9akTIJTBBFvvqxw*) newSeq((&NTI__jwzrUFjG9akTIJTBBFvvqxw_), ((NI) (correctSizeX60gensym3_))));
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__w2fZhqPRZdan2r9a51X3ZXA)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	NI result;
	NI h;
	NI T6_;
	NI T7_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = (NI)0;
	T6_ = hash__XFPFecV5bGJUDhwku4bw7A(key);
	T7_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(T6_ & T7_);
	{
		while (1) {
			NI T15_;
			if (!!((t.data->data[h].Field1 == ((NI) 0)))) goto LA9;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field0, key);
				if (!T12_) goto LA13_;
				result = h;
				goto BeforeRet_;
			}
			LA13_: ;
			T15_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T15_);
		} LA9: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__jOz9cq69cLtimtiCsRyrmEBA)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI default_0) {
	NI result;
	NI indexX60gensym203_;
	result = (NI)0;
	indexX60gensym203_ = rawGet__w2fZhqPRZdan2r9a51X3ZXA(t, key);
	{
		if (!(((NI) 0) <= indexX60gensym203_)) goto LA3_;
		result = t.data->data[indexX60gensym203_].Field1;
	}
	goto LA1_;
	LA3_: ;
	{
		result = default_0;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__5tO6A9b3s9aQLstwG5cmTt9bgtables)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, ctRawInsert__EhLhU9b3JGmgVjguB3HOsgQ)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ t, tySequence__XUL1TrMU0tgXmaMFCIYgFQ** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI val) {
	NI h;
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = hash__XFPFecV5bGJUDhwku4bw7A(key);
	T2_ = (((*data) ? (*data)->Sup.len : 0)-1);
	h = (NI)(T1_ & T2_);
	{
		while (1) {
			NI T5_;
			if (!!(((*data)->data[h].Field1 == ((NI) 0)))) goto LA4;
			T5_ = (((*data) ? (*data)->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T5_);
		} LA4: ;
	}
	nimCopyMem((void*)(*data)->data[h].Field0, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	(*data)->data[h].Field1 = val;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__kgVnhJBOCSxuahhdbN9cidg)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* t) {
	tySequence__XUL1TrMU0tgXmaMFCIYgFQ* n;
	NI T1_;
	tySequence__XUL1TrMU0tgXmaMFCIYgFQ* T14_;
	n = (tySequence__XUL1TrMU0tgXmaMFCIYgFQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__XUL1TrMU0tgXmaMFCIYgFQ*) newSeq((&NTI__XUL1TrMU0tgXmaMFCIYgFQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
		colontmp_ = T3_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA5;
				i = res;
				{
					tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ T10_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T11_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T12_;
					NI T13_;
					if (!!(((*t).data->data[i].Field1 == ((NI) 0)))) goto LA8_;
					nimZeroMem((void*)(&T10_), sizeof(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ));
					T10_.data = (*t).data;
					T10_.counter = (*t).counter;
					T10_.isSorted = (*t).isSorted;
					nimCopyMem((void*)T11_, (NIM_CONST void*)(*t).data->data[i].Field0, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)(*t).data->data[i].Field0, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimCopyMem((void*)T12_, (NIM_CONST void*)T11_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					T13_ = (NI)0;
					T13_ = (*t).data->data[i].Field1;
					(*t).data->data[i].Field1 = 0;
					ctRawInsert__EhLhU9b3JGmgVjguB3HOsgQ(T10_, (&n), T12_, T13_);
				}
				LA8_: ;
				res += ((NI) 1);
			} LA5: ;
		}
	}
	T14_ = (tySequence__XUL1TrMU0tgXmaMFCIYgFQ*)0;
	T14_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T14_;
}
N_LIB_PRIVATE N_NIMCALL(void, inc__WbyI1m6UOEsGT1YIEaB7UA)(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI val) {
	NI index;
	index = rawGet__w2fZhqPRZdan2r9a51X3ZXA((*t), key);
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field1 += val;
		{
			NI mskX60gensym184_;
			NI T9_;
			if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA7_;
			T9_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
			mskX60gensym184_ = T9_;
			{
				if (!(((NI) 0) <= index)) goto LA12_;
				(*t).counter -= ((NI) 1);
				{
					{
						while (1) {
							NI jX60gensym184_;
							NI rX60gensym184_;
							jX60gensym184_ = index;
							rX60gensym184_ = jX60gensym184_;
							(*t).data->data[index].Field1 = ((NI) 0);
							nimZeroMem((void*)(*t).data->data[index].Field0, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
							(*t).data->data[index].Field1 = 0;
							{
								while (1) {
									NI T23_;
									index = (NI)((NI)(index + ((NI) 1)) & mskX60gensym184_);
									{
										if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA21_;
										goto LA14;
									}
									LA21_: ;
									T23_ = (NI)0;
									T23_ = hash__XFPFecV5bGJUDhwku4bw7A((*t).data->data[index].Field0);
									rX60gensym184_ = (NI)(T23_ & mskX60gensym184_);
									{
										NIM_BOOL T26_;
										NIM_BOOL T27_;
										NIM_BOOL T28_;
										NIM_BOOL T31_;
										NIM_BOOL T34_;
										T26_ = (NIM_BOOL)0;
										T27_ = (NIM_BOOL)0;
										T28_ = (NIM_BOOL)0;
										T28_ = (rX60gensym184_ <= index);
										if (!(T28_)) goto LA29_;
										T28_ = (jX60gensym184_ < rX60gensym184_);
										LA29_: ;
										T27_ = T28_;
										if (T27_) goto LA30_;
										T31_ = (NIM_BOOL)0;
										T31_ = (jX60gensym184_ < rX60gensym184_);
										if (!(T31_)) goto LA32_;
										T31_ = (index < jX60gensym184_);
										LA32_: ;
										T27_ = T31_;
										LA30_: ;
										T26_ = T27_;
										if (T26_) goto LA33_;
										T34_ = (NIM_BOOL)0;
										T34_ = (index < jX60gensym184_);
										if (!(T34_)) goto LA35_;
										T34_ = (rX60gensym184_ <= index);
										LA35_: ;
										T26_ = T34_;
										LA33_: ;
										if (!!(T26_)) goto LA36_;
										goto LA17;
									}
									LA36_: ;
								}
							} LA17: ;
							(*t).data->data[jX60gensym184_] = (*t).data->data[index];
							nimZeroMem((void*)(&(*t).data->data[index]), sizeof(tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg));
						}
					}
				} LA14: ;
			}
			LA12_: ;
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ T53_;
			if (!!((val == ((NI) 0)))) goto LA41_;
			{
				NI T45_;
				NI correctSizeX60gensym112_;
				T45_ = ((*t).data ? (*t).data->Sup.len : 0);
				if (!(T45_ == ((NI) 0))) goto LA46_;
				correctSizeX60gensym112_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
				(*t).counter = ((NI) 0);
				unsureAsgnRef((void**) (&(*t).data), (tySequence__XUL1TrMU0tgXmaMFCIYgFQ*) newSeq((&NTI__XUL1TrMU0tgXmaMFCIYgFQ_), ((NI) (correctSizeX60gensym112_))));
			}
			LA46_: ;
			{
				NIM_BOOL T50_;
				T50_ = (NIM_BOOL)0;
				T50_ = mustRehash__5tO6A9b3s9aQLstwG5cmTt9bgtables((*t));
				if (!T50_) goto LA51_;
				enlarge__kgVnhJBOCSxuahhdbN9cidg(t);
			}
			LA51_: ;
			nimZeroMem((void*)(&T53_), sizeof(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ));
			T53_.data = (*t).data;
			T53_.counter = (*t).counter;
			T53_.isSorted = (*t).isSorted;
			ctRawInsert__EhLhU9b3JGmgVjguB3HOsgQ(T53_, (&(*t).data), key, val);
			(*t).counter += ((NI) 1);
		}
		LA41_: ;
	}
	LA1_: ;
}
static N_INLINE(NI, rawGet__kRkMedOi9aSBIvfUrXCRvxQtables)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__XFPFecV5bGJUDhwku4bw7A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, getOrDefault__tD8SQMueXhdfvpBnagcsKg)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
	NI hcX60gensym143_;
	NI indexX60gensym143_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
	hcX60gensym143_ = (NI)0;
	indexX60gensym143_ = rawGet__kRkMedOi9aSBIvfUrXCRvxQtables(t, key, (&hcX60gensym143_));
	{
		if (!(((NI) 0) <= indexX60gensym143_)) goto LA3_;
		result = t.data->data[indexX60gensym143_].Field2;
	}
	LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__vQoD2j9cC9b9a8c3Hsw9bRtmRQtables)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__Gf66Iv0CJwvyroazPxyGpA)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tySequence__sII3pVVRkIdBZ2HDPdZddA** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h) {
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__C3S2Q2U8lwkz8doGQgUxug)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t) {
	tySequence__sII3pVVRkIdBZ2HDPdZddA* n;
	NI T1_;
	tySequence__sII3pVVRkIdBZ2HDPdZddA* T2_;
	n = (tySequence__sII3pVVRkIdBZ2HDPdZddA*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTI__sII3pVVRkIdBZ2HDPdZddA_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__sII3pVVRkIdBZ2HDPdZddA*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* T17_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T18_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T19_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA*)0;
					T17_ = t;
					nimCopyMem((void*)T18_, (NIM_CONST void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimCopyMem((void*)T19_, (NIM_CONST void*)T18_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__Gf66Iv0CJwvyroazPxyGpA(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__zkkRq29b9amWxeaphfvlnK6wtables)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___zhbvOVNN6tTRFgZkPDZOmA)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym178_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym178_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTI__sII3pVVRkIdBZ2HDPdZddA_), ((NI) (correctSizeX60gensym178_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__kRkMedOi9aSBIvfUrXCRvxQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym181_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym181_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__sII3pVVRkIdBZ2HDPdZddA*) newSeq((&NTI__sII3pVVRkIdBZ2HDPdZddA_), ((NI) (correctSizeX60gensym181_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__vQoD2j9cC9b9a8c3Hsw9bRtmRQtables((*t));
			if (!T18_) goto LA19_;
			enlarge__C3S2Q2U8lwkz8doGQgUxug(t);
			index = rawGetKnownHC__zkkRq29b9amWxeaphfvlnK6wtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA*)0;
		T21_ = t;
		rawInsert__Gf66Iv0CJwvyroazPxyGpA(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, X5BX5D___KricVWBSqqSbgxpQ5up3Ig)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__kRkMedOi9aSBIvfUrXCRvxQtables((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym22_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = dollar___0A9bslyIJ49bWrftLGh13rvg(key);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, T8_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__JC4YP8wfdV9aPnE9bz5sPkhA)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key) {
	NI result;
	NI h;
	NI T6_;
	NI T7_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = (NI)0;
	T6_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	T7_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(T6_ & T7_);
	{
		while (1) {
			NI T14_;
			if (!!((t.data->data[h].Field1 == ((NI) 0)))) goto LA9;
			{
				if (!eqStrings(t.data->data[h].Field0, key)) goto LA12_;
				result = h;
				goto BeforeRet_;
			}
			LA12_: ;
			T14_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T14_);
		} LA9: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__9bK0jMctS3Kpz9aVaHPQI4gA)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, NimStringDesc* key, NI default_0) {
	NI result;
	NI indexX60gensym203_;
	result = (NI)0;
	indexX60gensym203_ = rawGet__JC4YP8wfdV9aPnE9bz5sPkhA(t, key);
	{
		if (!(((NI) 0) <= indexX60gensym203_)) goto LA3_;
		result = t.data->data[indexX60gensym203_].Field1;
	}
	goto LA1_;
	LA3_: ;
	{
		result = default_0;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__8miPC9cJdGuflm31v4J4WTAtables)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, ctRawInsert__3TJBMrgzatHsknHA6jSouA)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg t, tySequence__jwzrUFjG9akTIJTBBFvvqxw** data, NimStringDesc* key, NI val) {
	NI h;
	NI T1_;
	NI T2_;
	NimStringDesc* T6_;
	T1_ = (NI)0;
	T1_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	T2_ = (((*data) ? (*data)->Sup.len : 0)-1);
	h = (NI)(T1_ & T2_);
	{
		while (1) {
			NI T5_;
			if (!!(((*data)->data[h].Field1 == ((NI) 0)))) goto LA4;
			T5_ = (((*data) ? (*data)->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T5_);
		} LA4: ;
	}
	T6_ = (NimStringDesc*)0;
	T6_ = (*data)->data[h].Field0; (*data)->data[h].Field0 = copyStringRC1(key);
	if (T6_) nimGCunrefNoCycle(T6_);
	(*data)->data[h].Field1 = val;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__lFm9aQmmTsb5E6B6Jx9bb6dQ)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* t) {
	tySequence__jwzrUFjG9akTIJTBBFvvqxw* n;
	NI T1_;
	tySequence__jwzrUFjG9akTIJTBBFvvqxw* T14_;
	n = (tySequence__jwzrUFjG9akTIJTBBFvvqxw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__jwzrUFjG9akTIJTBBFvvqxw*) newSeq((&NTI__jwzrUFjG9akTIJTBBFvvqxw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	{
		NI i;
		NI colontmp_;
		NI T3_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T3_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
		colontmp_ = T3_;
		res = ((NI) 0);
		{
			while (1) {
				if (!(res <= colontmp_)) goto LA5;
				i = res;
				{
					tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg T10_;
					NimStringDesc* T11_;
					NimStringDesc* T12_;
					NI T13_;
					if (!!(((*t).data->data[i].Field1 == ((NI) 0)))) goto LA8_;
					nimZeroMem((void*)(&T10_), sizeof(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg));
					T10_.data = (*t).data;
					T10_.counter = (*t).counter;
					T10_.isSorted = (*t).isSorted;
					T11_ = (NimStringDesc*)0;
					T11_ = (*t).data->data[i].Field0;
					asgnRef((void**) (&(*t).data->data[i].Field0), NIM_NIL);
					T12_ = (NimStringDesc*)0;
					T12_ = T11_;
					T13_ = (NI)0;
					T13_ = (*t).data->data[i].Field1;
					(*t).data->data[i].Field1 = 0;
					ctRawInsert__3TJBMrgzatHsknHA6jSouA(T10_, (&n), T12_, T13_);
				}
				LA8_: ;
				res += ((NI) 1);
			} LA5: ;
		}
	}
	T14_ = (tySequence__jwzrUFjG9akTIJTBBFvvqxw*)0;
	T14_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T14_;
}
N_LIB_PRIVATE N_NIMCALL(void, inc__cue4X8ebEalt3pWXvkS49cw)(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg* t, NimStringDesc* key, NI val) {
	NI index;
	index = rawGet__JC4YP8wfdV9aPnE9bz5sPkhA((*t), key);
	{
		if (!(((NI) 0) <= index)) goto LA3_;
		(*t).data->data[index].Field1 += val;
		{
			NI mskX60gensym184_;
			NI T9_;
			if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA7_;
			T9_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
			mskX60gensym184_ = T9_;
			{
				if (!(((NI) 0) <= index)) goto LA12_;
				(*t).counter -= ((NI) 1);
				{
					{
						while (1) {
							NI jX60gensym184_;
							NI rX60gensym184_;
							jX60gensym184_ = index;
							rX60gensym184_ = jX60gensym184_;
							(*t).data->data[index].Field1 = ((NI) 0);
							asgnRef((void**) (&(*t).data->data[index].Field0), NIM_NIL);
							(*t).data->data[index].Field1 = 0;
							{
								while (1) {
									NI T23_;
									index = (NI)((NI)(index + ((NI) 1)) & mskX60gensym184_);
									{
										if (!((*t).data->data[index].Field1 == ((NI) 0))) goto LA21_;
										goto LA14;
									}
									LA21_: ;
									T23_ = (NI)0;
									T23_ = hash__6PCYkKlCNhq9cnRLnqWKkwQ((*t).data->data[index].Field0);
									rX60gensym184_ = (NI)(T23_ & mskX60gensym184_);
									{
										NIM_BOOL T26_;
										NIM_BOOL T27_;
										NIM_BOOL T28_;
										NIM_BOOL T31_;
										NIM_BOOL T34_;
										T26_ = (NIM_BOOL)0;
										T27_ = (NIM_BOOL)0;
										T28_ = (NIM_BOOL)0;
										T28_ = (rX60gensym184_ <= index);
										if (!(T28_)) goto LA29_;
										T28_ = (jX60gensym184_ < rX60gensym184_);
										LA29_: ;
										T27_ = T28_;
										if (T27_) goto LA30_;
										T31_ = (NIM_BOOL)0;
										T31_ = (jX60gensym184_ < rX60gensym184_);
										if (!(T31_)) goto LA32_;
										T31_ = (index < jX60gensym184_);
										LA32_: ;
										T27_ = T31_;
										LA30_: ;
										T26_ = T27_;
										if (T26_) goto LA33_;
										T34_ = (NIM_BOOL)0;
										T34_ = (index < jX60gensym184_);
										if (!(T34_)) goto LA35_;
										T34_ = (rX60gensym184_ <= index);
										LA35_: ;
										T26_ = T34_;
										LA33_: ;
										if (!!(T26_)) goto LA36_;
										goto LA17;
									}
									LA36_: ;
								}
							} LA17: ;
							asgnRef((void**) (&(*t).data->data[jX60gensym184_].Field0), (*t).data->data[index].Field0);
							(*t).data->data[jX60gensym184_].Field1 = (*t).data->data[index].Field1;
							unsureAsgnRef((void**)&(*t).data->data[index].Field0, NIM_NIL);
							(*t).data->data[index].Field1 = 0;
						}
					}
				} LA14: ;
			}
			LA12_: ;
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		{
			tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg T53_;
			if (!!((val == ((NI) 0)))) goto LA41_;
			{
				NI T45_;
				NI correctSizeX60gensym104_;
				T45_ = ((*t).data ? (*t).data->Sup.len : 0);
				if (!(T45_ == ((NI) 0))) goto LA46_;
				correctSizeX60gensym104_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
				(*t).counter = ((NI) 0);
				unsureAsgnRef((void**) (&(*t).data), (tySequence__jwzrUFjG9akTIJTBBFvvqxw*) newSeq((&NTI__jwzrUFjG9akTIJTBBFvvqxw_), ((NI) (correctSizeX60gensym104_))));
			}
			LA46_: ;
			{
				NIM_BOOL T50_;
				T50_ = (NIM_BOOL)0;
				T50_ = mustRehash__8miPC9cJdGuflm31v4J4WTAtables((*t));
				if (!T50_) goto LA51_;
				enlarge__lFm9aQmmTsb5E6B6Jx9bb6dQ(t);
			}
			LA51_: ;
			nimZeroMem((void*)(&T53_), sizeof(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg));
			T53_.data = (*t).data;
			T53_.counter = (*t).counter;
			T53_.isSorted = (*t).isSorted;
			ctRawInsert__3TJBMrgzatHsknHA6jSouA(T53_, (&(*t).data), key, val);
			(*t).counter += ((NI) 1);
		}
		LA41_: ;
	}
	LA1_: ;
}
static N_INLINE(NI, rawGet__xRsE9bd9cmMxcEsI9aaY9cppuAtables)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__XFPFecV5bGJUDhwku4bw7A(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getOrDefault__qISsmXPGy0MStH2gg2BcOA)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__Iz0jrTw3w7v6sMzjrqs0nA* Result) {
	NI hcX60gensym778_;
	NI indexX60gensym778_;
	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
	unsureAsgnRef((void**)&(*Result).Field1, NIM_NIL);
	hcX60gensym778_ = (NI)0;
	indexX60gensym778_ = rawGet__xRsE9bd9cmMxcEsI9aaY9cppuAtables(t, key, (&hcX60gensym778_));
	{
		if (!(((NI) 0) <= indexX60gensym778_)) goto LA3_;
		unsureAsgnRef((void**) (&(*Result).Field0), t.data->data[indexX60gensym778_].Field2.Field0);
		unsureAsgnRef((void**) (&(*Result).Field1), t.data->data[indexX60gensym778_].Field2.Field1);
	}
	LA3_: ;
}
static N_INLINE(NIM_BOOL, mustRehash__VVlDQXt4ukGnCFQYVWH3igtables)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__7en31G7VfABQHDdprxuYPA)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg* t, tySequence__diqJJ1bWuFP7M6rQDS9cBLQ** data, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__Iz0jrTw3w7v6sMzjrqs0nA val, NI hc, NI h) {
	nimCopyMem((void*)(*data)->data[h].Field1, (NIM_CONST void*)key, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	asgnRef((void**) (&(*data)->data[h].Field2.Field0), val.Field0);
	asgnRef((void**) (&(*data)->data[h].Field2.Field1), val.Field1);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__s8GP5B2qbnsxFlutyTGcnw)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg* t) {
	tySequence__diqJJ1bWuFP7M6rQDS9cBLQ* n;
	NI T1_;
	tySequence__diqJJ1bWuFP7M6rQDS9cBLQ* T2_;
	n = (tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*) newSeq((&NTI__diqJJ1bWuFP7M6rQDS9cBLQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__6nOsw5R7jH72bux7HSST9bg* T17_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T18_;
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T19_;
					tyTuple__Iz0jrTw3w7v6sMzjrqs0nA T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__6nOsw5R7jH72bux7HSST9bg*)0;
					T17_ = t;
					nimCopyMem((void*)T18_, (NIM_CONST void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)n->data[i].Field1, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimCopyMem((void*)T19_, (NIM_CONST void*)T18_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					nimZeroMem((void*)(&T20_), sizeof(tyTuple__Iz0jrTw3w7v6sMzjrqs0nA));
					T20_.Field0 = n->data[i].Field2.Field0;
					T20_.Field1 = n->data[i].Field2.Field1;
					unsureAsgnRef((void**)&n->data[i].Field2.Field0, NIM_NIL);
					unsureAsgnRef((void**)&n->data[i].Field2.Field1, NIM_NIL);
					rawInsert__7en31G7VfABQHDdprxuYPA(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__2LQwcr0umtLrUHRkcv9bHNAtables)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq___76rDYGuUQDl2xSav8vUDiA(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___e9czpY4GXpbU9cznliOfqQ1Q)(tyObject_Table__6nOsw5R7jH72bux7HSST9bg* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key, tyTuple__Iz0jrTw3w7v6sMzjrqs0nA val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym788_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym788_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*) newSeq((&NTI__diqJJ1bWuFP7M6rQDS9cBLQ_), ((NI) (correctSizeX60gensym788_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__xRsE9bd9cmMxcEsI9aaY9cppuAtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field2.Field0), val.Field0);
		asgnRef((void**) (&(*t).data->data[index].Field2.Field1), val.Field1);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__6nOsw5R7jH72bux7HSST9bg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym791_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym791_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*) newSeq((&NTI__diqJJ1bWuFP7M6rQDS9cBLQ_), ((NI) (correctSizeX60gensym791_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__VVlDQXt4ukGnCFQYVWH3igtables((*t));
			if (!T18_) goto LA19_;
			enlarge__s8GP5B2qbnsxFlutyTGcnw(t);
			index = rawGetKnownHC__2LQwcr0umtLrUHRkcv9bHNAtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__6nOsw5R7jH72bux7HSST9bg*)0;
		T21_ = t;
		rawInsert__7en31G7VfABQHDdprxuYPA(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_NIMCALL(void, Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g)(void* p, NI op) {
	tySequence__MlAD6nAPq9bHKla9cWiIZP0g* a;
	NI T1_;
	a = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	nimGCvisit((void*)a->data[T1_].Field3, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable__Xnq4D4mCe8fymnuh9c7PQlw)(NI initialSize, tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* Result) {
	NI correctSizeX60gensym0_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	(*Result).first = 0;
	(*Result).last = 0;
	correctSizeX60gensym0_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTI__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym0_))));
	(*Result).first = ((NI) -1);
	(*Result).last = ((NI) -1);
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__U8BE8F1hkorXEqb1x9baemQ)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field2, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__8nOTuA2SxOsL8hlNzSF4Dwtables)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__K9b9aplmUERncrp49bmzOdPnw)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, tySequence__MlAD6nAPq9bHKla9cWiIZP0g** data, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field2; (*data)->data[h].Field2 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRef((void**) (&(*data)->data[h].Field3), val);
	(*data)->data[h].Field0 = hc;
	(*data)->data[h].Field1 = ((NI) -1);
	{
		if (!((*t).first < ((NI) 0))) goto LA4_;
		(*t).first = h;
	}
	LA4_: ;
	{
		if (!(((NI) 0) <= (*t).last)) goto LA8_;
		(*data)->data[(*t).last].Field1 = h;
	}
	LA8_: ;
	(*t).last = h;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__9cAm9cItwB6y9bUzyB9bE1NBlA)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t) {
	tySequence__MlAD6nAPq9bHKla9cWiIZP0g* n;
	NI T1_;
	NI h;
	tySequence__MlAD6nAPq9bHKla9cWiIZP0g* T2_;
	n = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTI__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	h = (*t).first;
	(*t).first = ((NI) -1);
	(*t).last = ((NI) -1);
	T2_ = (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		while (1) {
			NI nxt;
			NI eh;
			if (!(((NI) 0) <= h)) goto LA4;
			nxt = n->data[h].Field1;
			eh = n->data[h].Field0;
			{
				NIM_BOOL T7_;
				NI j;
				NI T10_;
				tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* T15_;
				NimStringDesc* T16_;
				NimStringDesc* T17_;
				tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T18_;
				T7_ = (NIM_BOOL)0;
				T7_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
				if (!T7_) goto LA8_;
				T10_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
				j = (NI)(eh & T10_);
				{
					while (1) {
						NIM_BOOL T13_;
						NI T14_;
						T13_ = (NIM_BOOL)0;
						T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
						if (!T13_) goto LA12;
						T14_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
						j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T14_);
					} LA12: ;
				}
				T15_ = (tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg*)0;
				T15_ = t;
				T16_ = (NimStringDesc*)0;
				T16_ = n->data[h].Field2;
				asgnRef((void**) (&n->data[h].Field2), NIM_NIL);
				T17_ = (NimStringDesc*)0;
				T17_ = T16_;
				T18_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*)0;
				T18_ = n->data[h].Field3;
				asgnRef((void**) (&n->data[h].Field3), NIM_NIL);
				rawInsert__K9b9aplmUERncrp49bmzOdPnw(T15_, (&(*t).data), T17_, T18_, n->data[h].Field0, j);
			}
			LA8_: ;
			h = nxt;
		} LA4: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__9cQeRP9bxZubT9bE5dfTSZEew)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field2, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___vlnBr1uIbtu0ntnZh6Askg)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym13_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym13_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTI__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym13_))));
		(*t).first = ((NI) -1);
		(*t).last = ((NI) -1);
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__U8BE8F1hkorXEqb1x9baemQ((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field3), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym18_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym18_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__MlAD6nAPq9bHKla9cWiIZP0g*) newSeq((&NTI__MlAD6nAPq9bHKla9cWiIZP0g_), ((NI) (correctSizeX60gensym18_))));
			(*t).first = ((NI) -1);
			(*t).last = ((NI) -1);
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__8nOTuA2SxOsL8hlNzSF4Dwtables((*t));
			if (!T18_) goto LA19_;
			enlarge__9cAm9cItwB6y9bUzyB9bE1NBlA(t);
			index = rawGetKnownHC__9cQeRP9bxZubT9bE5dfTSZEew((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg*)0;
		T21_ = t;
		rawInsert__K9b9aplmUERncrp49bmzOdPnw(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__UX29cFESnmC3SpxKAQuMIcg)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__U8BE8F1hkorXEqb1x9baemQ(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}
static N_INLINE(NI, rawGet__B8emH5taC0NsYyBRssSIiwtables)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field2, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___l9atGRY9bA25fn4p5uueZfUQ)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key) {
	tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** result;
	NI hcX60gensym92_;
	NI indexX60gensym92_;
	result = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
	hcX60gensym92_ = (NI)0;
	indexX60gensym92_ = rawGet__B8emH5taC0NsYyBRssSIiwtables((*t), key, (&hcX60gensym92_));
	{
		if (!(((NI) 0) <= indexX60gensym92_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym92_].Field3;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, key);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__2ofA2tlPvPQGtfqWkdG41g)(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA t) {
	NI result;
	result = (NI)0;
	result = t.counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__BJm9cTslcy01z41qkbd1OIw)(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ t) {
	NI result;
	result = (NI)0;
	result = t.counter;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__pUxI6Ljo6IKKHXKOZkQ7Og)(void* p, NI op) {
	tySequence__pUxI6Ljo6IKKHXKOZkQ7Og* a;
	NI T1_;
	a = (tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__Pi9a31vXpln9bINd05AMU7KQ)(void* p, NI op) {
	tySequence__Pi9a31vXpln9bINd05AMU7KQ* a;
	NI T1_;
	a = (tySequence__Pi9a31vXpln9bINd05AMU7KQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1, op);
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
static N_NIMCALL(void, Marker_tySequence__n1XPc9anZlEQHQuS14lnGwg)(void* p, NI op) {
	tySequence__n1XPc9anZlEQHQuS14lnGwg* a;
	NI T1_;
	a = (tySequence__n1XPc9anZlEQHQuS14lnGwg*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field2, op);
	nimGCvisit((void*)a->data[T1_].Field3, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__RrWZeIMfwjxuENvIG9aHB8g)(NI initialSize, tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* Result) {
	NI correctSizeX60gensym0_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym0_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*) newSeq((&NTI__pUxI6Ljo6IKKHXKOZkQ7Og_), ((NI) (correctSizeX60gensym0_))));
}
static N_INLINE(NI, rawGet__hi24HVDthGVUIUfuDpjqIQtables)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__aOI3jq5GpcZWNc9aNWt3Shw)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__hi24HVDthGVUIUfuDpjqIQtables(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__OnxKeNCBhh5CO1VtpeRCvQtables)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__K9c1MhW8jYPmeOjDdrH9ajyg)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* t, tySequence__pUxI6Ljo6IKKHXKOZkQ7Og** data, NimStringDesc* key, NI val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	(*data)->data[h].Field2 = val;
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__VYLD6MqB59amU6bk9ahC8zNw)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* t) {
	tySequence__pUxI6Ljo6IKKHXKOZkQ7Og* n;
	NI T1_;
	tySequence__pUxI6Ljo6IKKHXKOZkQ7Og* T2_;
	n = (tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*) newSeq((&NTI__pUxI6Ljo6IKKHXKOZkQ7Og_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					NI T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (NI)0;
					T20_ = n->data[i].Field2;
					n->data[i].Field2 = 0;
					rawInsert__K9c1MhW8jYPmeOjDdrH9ajyg(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__so4qfaUZuauODRq3tIG3Igtables)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___HfxZpUfki4UkuP38hbwROA)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* t, NimStringDesc* key, NI val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym19_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym19_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*) newSeq((&NTI__pUxI6Ljo6IKKHXKOZkQ7Og_), ((NI) (correctSizeX60gensym19_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__hi24HVDthGVUIUfuDpjqIQtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		(*t).data->data[index].Field2 = val;
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym22_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym22_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*) newSeq((&NTI__pUxI6Ljo6IKKHXKOZkQ7Og_), ((NI) (correctSizeX60gensym22_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__OnxKeNCBhh5CO1VtpeRCvQtables((*t));
			if (!T18_) goto LA19_;
			enlarge__VYLD6MqB59amU6bk9ahC8zNw(t);
			index = rawGetKnownHC__so4qfaUZuauODRq3tIG3Igtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ*)0;
		T21_ = t;
		rawInsert__K9c1MhW8jYPmeOjDdrH9ajyg(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__B9adUqknApMjE6ou13bpO8A)(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ t, NimStringDesc* key) {
	NI result;
	NI hcX60gensym16_;
	NI indexX60gensym16_;
	result = (NI)0;
	hcX60gensym16_ = (NI)0;
	indexX60gensym16_ = rawGet__hi24HVDthGVUIUfuDpjqIQtables(t, key, (&hcX60gensym16_));
	{
		if (!(((NI) 0) <= indexX60gensym16_)) goto LA3_;
		result = t.data->data[indexX60gensym16_].Field2;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGet__itGZk57e89aXuRjPxq6rj0w)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field2, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__RwllE9aq05N1XhihGDBODsw_2)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key) {
	NIM_BOOL result;
	NI hc;
	NI T1_;
	result = (NIM_BOOL)0;
	hc = (NI)0;
	T1_ = (NI)0;
	T1_ = rawGet__itGZk57e89aXuRjPxq6rj0w(t, key, (&hc));
	result = (((NI) 0) <= T1_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__RwllE9aq05N1XhihGDBODsw)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = hasKey__RwllE9aq05N1XhihGDBODsw_2(t, key);
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__LnXOcP7Zx2F1upIpB1Clbgtables)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__VboNggKz1Se4FM2R3n4ijQ)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* t, tySequence__n1XPc9anZlEQHQuS14lnGwg** data, NimStringDesc* key, tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ* val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field2; (*data)->data[h].Field2 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRef((void**) (&(*data)->data[h].Field3), val);
	(*data)->data[h].Field0 = hc;
	(*data)->data[h].Field1 = ((NI) -1);
	{
		if (!((*t).first < ((NI) 0))) goto LA4_;
		(*t).first = h;
	}
	LA4_: ;
	{
		if (!(((NI) 0) <= (*t).last)) goto LA8_;
		(*data)->data[(*t).last].Field1 = h;
	}
	LA8_: ;
	(*t).last = h;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__2kcw4Ru8xGPUeFOvZ7pH4A)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* t) {
	tySequence__n1XPc9anZlEQHQuS14lnGwg* n;
	NI T1_;
	NI h;
	tySequence__n1XPc9anZlEQHQuS14lnGwg* T2_;
	n = (tySequence__n1XPc9anZlEQHQuS14lnGwg*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__n1XPc9anZlEQHQuS14lnGwg*) newSeq((&NTI__n1XPc9anZlEQHQuS14lnGwg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	h = (*t).first;
	(*t).first = ((NI) -1);
	(*t).last = ((NI) -1);
	T2_ = (tySequence__n1XPc9anZlEQHQuS14lnGwg*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		while (1) {
			NI nxt;
			NI eh;
			if (!(((NI) 0) <= h)) goto LA4;
			nxt = n->data[h].Field1;
			eh = n->data[h].Field0;
			{
				NIM_BOOL T7_;
				NI j;
				NI T10_;
				tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* T15_;
				NimStringDesc* T16_;
				NimStringDesc* T17_;
				tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ* T18_;
				T7_ = (NIM_BOOL)0;
				T7_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
				if (!T7_) goto LA8_;
				T10_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
				j = (NI)(eh & T10_);
				{
					while (1) {
						NIM_BOOL T13_;
						NI T14_;
						T13_ = (NIM_BOOL)0;
						T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
						if (!T13_) goto LA12;
						T14_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
						j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T14_);
					} LA12: ;
				}
				T15_ = (tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw*)0;
				T15_ = t;
				T16_ = (NimStringDesc*)0;
				T16_ = n->data[h].Field2;
				asgnRef((void**) (&n->data[h].Field2), NIM_NIL);
				T17_ = (NimStringDesc*)0;
				T17_ = T16_;
				T18_ = (tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ*)0;
				T18_ = n->data[h].Field3;
				asgnRef((void**) (&n->data[h].Field3), NIM_NIL);
				rawInsert__VboNggKz1Se4FM2R3n4ijQ(T15_, (&(*t).data), T17_, T18_, n->data[h].Field0, j);
			}
			LA8_: ;
			h = nxt;
		} LA4: ;
	}
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGetKnownHC__tY28p9aS9a9bGacumBnaPxUkA)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field2, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___ZGs5MV3ViG3GBfnvvT9c9ctw)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* t, NimStringDesc* key, tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym162_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym162_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__n1XPc9anZlEQHQuS14lnGwg*) newSeq((&NTI__n1XPc9anZlEQHQuS14lnGwg_), ((NI) (correctSizeX60gensym162_))));
		(*t).first = ((NI) -1);
		(*t).last = ((NI) -1);
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__itGZk57e89aXuRjPxq6rj0w((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		asgnRef((void**) (&(*t).data->data[index].Field3), val);
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym165_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym165_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__n1XPc9anZlEQHQuS14lnGwg*) newSeq((&NTI__n1XPc9anZlEQHQuS14lnGwg_), ((NI) (correctSizeX60gensym165_))));
			(*t).first = ((NI) -1);
			(*t).last = ((NI) -1);
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__LnXOcP7Zx2F1upIpB1Clbgtables((*t));
			if (!T18_) goto LA19_;
			enlarge__2kcw4Ru8xGPUeFOvZ7pH4A(t);
			index = rawGetKnownHC__tY28p9aS9a9bGacumBnaPxUkA((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw*)0;
		T21_ = t;
		rawInsert__VboNggKz1Se4FM2R3n4ijQ(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
static N_INLINE(NI, rawGet__CvruCRMWa1vtU9c3SpP4CGAtables)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field2, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ**, X5BX5D___XsqiT9czg3Cv3zY9cWLZy9aFA)(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw* t, NimStringDesc* key) {
	tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ** result;
	NI hcX60gensym92_;
	NI indexX60gensym92_;
	result = (tyObject_ExampleGroupcolonObjectType___fmIjjJC59a002tPvpD7yKSQ**)0;
	hcX60gensym92_ = (NI)0;
	indexX60gensym92_ = rawGet__CvruCRMWa1vtU9c3SpP4CGAtables((*t), key, (&hcX60gensym92_));
	{
		if (!(((NI) 0) <= indexX60gensym92_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym92_].Field3;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, key);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, rawGet__c0Bfqh6kxMjXWHR6KDOOOgtables)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg t, NimStringDesc* key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__6PCYkKlCNhq9cnRLnqWKkwQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqStrings(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__dVd4oNuCsZqH5D6mll20ewtables)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__9bBxxIh3079aPlVlAaT5pLyQ)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg* t, tySequence__Pi9a31vXpln9bINd05AMU7KQ** data, NimStringDesc* key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val, NI hc, NI h) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1; (*data)->data[h].Field1 = copyStringRC1(key);
	if (T1_) nimGCunrefNoCycle(T1_);
	asgnRef((void**) (&(*data)->data[h].Field2), val);
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__wzNiMc4tqr9aMLlOORuPWEA)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg* t) {
	tySequence__Pi9a31vXpln9bINd05AMU7KQ* n;
	NI T1_;
	tySequence__Pi9a31vXpln9bINd05AMU7KQ* T2_;
	n = (tySequence__Pi9a31vXpln9bINd05AMU7KQ*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__Pi9a31vXpln9bINd05AMU7KQ*) newSeq((&NTI__Pi9a31vXpln9bINd05AMU7KQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__Pi9a31vXpln9bINd05AMU7KQ*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__9bHTqygodsMdJIfIXO86mVg* T17_;
					NimStringDesc* T18_;
					NimStringDesc* T19_;
					tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__9bHTqygodsMdJIfIXO86mVg*)0;
					T17_ = t;
					T18_ = (NimStringDesc*)0;
					T18_ = n->data[i].Field1;
					asgnRef((void**) (&n->data[i].Field1), NIM_NIL);
					T19_ = (NimStringDesc*)0;
					T19_ = T18_;
					T20_ = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__9bBxxIh3079aPlVlAaT5pLyQ(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__Ti3BvMBf79c7WKkqdHxz9arAtables)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg t, NimStringDesc* key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqStrings(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, mgetOrPut__0qPqS0Ahbl9crTMtdrZk6CQ)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg* t, NimStringDesc* key, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* val) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result;
	NI hc;
	NI index;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	{
		NI T3_;
		NI correctSizeX60gensym259_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym259_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__Pi9a31vXpln9bINd05AMU7KQ*) newSeq((&NTI__Pi9a31vXpln9bINd05AMU7KQ_), ((NI) (correctSizeX60gensym259_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__c0Bfqh6kxMjXWHR6KDOOOgtables((*t), key, (&hc));
	{
		tyObject_Table__9bHTqygodsMdJIfIXO86mVg* T20_;
		if (!(index < ((NI) 0))) goto LA8_;
		{
			NI T12_;
			NI correctSizeX60gensym264_;
			T12_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T12_ == ((NI) 0))) goto LA13_;
			correctSizeX60gensym264_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__Pi9a31vXpln9bINd05AMU7KQ*) newSeq((&NTI__Pi9a31vXpln9bINd05AMU7KQ_), ((NI) (correctSizeX60gensym264_))));
		}
		LA13_: ;
		{
			NIM_BOOL T17_;
			T17_ = (NIM_BOOL)0;
			T17_ = mustRehash__dVd4oNuCsZqH5D6mll20ewtables((*t));
			if (!T17_) goto LA18_;
			enlarge__wzNiMc4tqr9aMLlOORuPWEA(t);
			index = rawGetKnownHC__Ti3BvMBf79c7WKkqdHxz9arAtables((*t), key, hc);
		}
		LA18_: ;
		index = (NI)(((NI) -1) - index);
		T20_ = (tyObject_Table__9bHTqygodsMdJIfIXO86mVg*)0;
		T20_ = t;
		rawInsert__9bBxxIh3079aPlVlAaT5pLyQ(T20_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA8_: ;
	result = &(*t).data->data[index].Field2;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__dx37O9cdYBT1LvwGglU9akrw)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg t) {
	NI result;
	result = (NI)0;
	result = t.counter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**, X5BX5D___sd3f1kRPAXhIuKDwkllg9cQ)(tyObject_Table__9bHTqygodsMdJIfIXO86mVg* t, NimStringDesc* key) {
	tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** result;
	NI hcX60gensym22_;
	NI indexX60gensym22_;
	result = (tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA**)0;
	hcX60gensym22_ = (NI)0;
	indexX60gensym22_ = rawGet__c0Bfqh6kxMjXWHR6KDOOOgtables((*t), key, (&hcX60gensym22_));
	{
		if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
		result = &(*t).data->data[indexX60gensym22_].Field2;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T6_;
		NimStringDesc* T7_;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*)0;
		T6_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTI__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
		(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTI__t7nhKLvXTQS9cS8ByJU9bIag_);
		(*T6_).Sup.Sup.Sup.name = "KeyError";
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((key ? key->Sup.len : 0) + 15);
appendString(T7_, ((NimStringDesc*) &TM__4SoG2KRQy3oMm9aUzSLtGrA_7));
appendString(T7_, key);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.message), T7_);
		asgnRef((void**) (&(*T6_).Sup.Sup.Sup.parent), NIM_NIL);
		raiseExceptionEx((Exception*)T6_, "KeyError", "[]", "tables.nim", 262);
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tySequence__wAC0kXbVGkLoWP8vdi0sUw)(void* p, NI op) {
	tySequence__wAC0kXbVGkLoWP8vdi0sUw* a;
	NI T1_;
	a = (tySequence__wAC0kXbVGkLoWP8vdi0sUw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].Field1.keyword, op);
	nimGCvisit((void*)a->data[T1_].Field1.link, op);
	nimGCvisit((void*)a->data[T1_].Field1.linkTitle, op);
	nimGCvisit((void*)a->data[T1_].Field1.linkDesc, op);
	nimGCvisit((void*)a->data[T1_].Field2, op);
	}
}
N_LIB_PRIVATE N_NIMCALL(void, initTable__I9aPNnheGFL82i9cc5xQlxyA)(NI initialSize, tyObject_Table__XC01wkRgzAyOjTiapde7hQ* Result) {
	NI correctSizeX60gensym80_;
	unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
	(*Result).counter = 0;
	correctSizeX60gensym80_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) (initialSize)));
	(*Result).counter = ((NI) 0);
	unsureAsgnRef((void**) (&(*Result).data), (tySequence__wAC0kXbVGkLoWP8vdi0sUw*) newSeq((&NTI__wAC0kXbVGkLoWP8vdi0sUw_), ((NI) (correctSizeX60gensym80_))));
}
N_LIB_PRIVATE N_NIMCALL(NI, len__XkMbL52cqyBSUFesQIX9bTA)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t) {
	NI result;
	result = (NI)0;
	result = t.counter;
	return result;
}
static N_INLINE(NI, rawGet__amoK2sCC6NAXbAYzoteO2wtables)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg key, NI* hc) {
	NI result;
	NI h;
	NI T10_;
{	result = (NI)0;
	(*hc) = hash__qsZ1IgNQkpu0AbMu0eEzCQ(key);
	{
		if (!((*hc) == ((NI) 0))) goto LA3_;
		(*hc) = ((NI) 314159265);
	}
	LA3_: ;
	{
		NI T7_;
		T7_ = (t.data ? t.data->Sup.len : 0);
		if (!(T7_ == ((NI) 0))) goto LA8_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA8_: ;
	T10_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)((*hc) & T10_);
	{
		while (1) {
			NIM_BOOL T13_;
			NI T20_;
			T13_ = (NIM_BOOL)0;
			T13_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T13_) goto LA12;
			{
				NIM_BOOL T16_;
				T16_ = (NIM_BOOL)0;
				T16_ = (t.data->data[h].Field0 == (*hc));
				if (!(T16_)) goto LA17_;
				T16_ = eqeq___Z149cxs9a8jIB6voh7d344JA(t.data->data[h].Field1, key);
				LA17_: ;
				if (!T16_) goto LA18_;
				result = h;
				goto BeforeRet_;
			}
			LA18_: ;
			T20_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T20_);
		} LA12: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, mustRehash__Ry9aK9baQ3oNuMKsH9cMgz9bAAtables)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NI T2_;
	NI T4_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T2_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
	if (T1_) goto LA3_;
	T4_ = (t.data ? t.data->Sup.len : 0);
	T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
	LA3_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, rawInsert__5biQFmkRUjJPNto9cNutA9bw)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ* t, tySequence__wAC0kXbVGkLoWP8vdi0sUw** data, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg key, tySequence__5PunAJrNQYcB8dF0jau3pQ* val, NI hc, NI h) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	NimStringDesc* T4_;
	T1_ = (NimStringDesc*)0;
	T1_ = (*data)->data[h].Field1.keyword; (*data)->data[h].Field1.keyword = copyStringRC1(key.keyword);
	if (T1_) nimGCunrefNoCycle(T1_);
	T2_ = (NimStringDesc*)0;
	T2_ = (*data)->data[h].Field1.link; (*data)->data[h].Field1.link = copyStringRC1(key.link);
	if (T2_) nimGCunrefNoCycle(T2_);
	T3_ = (NimStringDesc*)0;
	T3_ = (*data)->data[h].Field1.linkTitle; (*data)->data[h].Field1.linkTitle = copyStringRC1(key.linkTitle);
	if (T3_) nimGCunrefNoCycle(T3_);
	T4_ = (NimStringDesc*)0;
	T4_ = (*data)->data[h].Field1.linkDesc; (*data)->data[h].Field1.linkDesc = copyStringRC1(key.linkDesc);
	if (T4_) nimGCunrefNoCycle(T4_);
	genericSeqAssign((&(*data)->data[h].Field2), val, (&NTI__5PunAJrNQYcB8dF0jau3pQ_));
	(*data)->data[h].Field0 = hc;
}
N_LIB_PRIVATE N_NIMCALL(void, enlarge__bYy9bKTH7krTyVnrGJtBKbg)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ* t) {
	tySequence__wAC0kXbVGkLoWP8vdi0sUw* n;
	NI T1_;
	tySequence__wAC0kXbVGkLoWP8vdi0sUw* T2_;
	n = (tySequence__wAC0kXbVGkLoWP8vdi0sUw*)0;
	T1_ = ((*t).data ? (*t).data->Sup.len : 0);
	n = (tySequence__wAC0kXbVGkLoWP8vdi0sUw*) newSeq((&NTI__wAC0kXbVGkLoWP8vdi0sUw_), ((NI) ((NI)(T1_ * ((NI) 2)))));
	T2_ = (tySequence__wAC0kXbVGkLoWP8vdi0sUw*)0;
	T2_ = (*t).data;
	unsureAsgnRef((void**) (&(*t).data), n);
	n = T2_;
	{
		NI i;
		NI colontmp_;
		NI T4_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T4_ = ((n ? n->Sup.len : 0)-1);
		colontmp_ = T4_;
		res = ((NI) 0);
		{
			while (1) {
				NI eh;
				if (!(res <= colontmp_)) goto LA6;
				i = res;
				eh = n->data[i].Field0;
				{
					NIM_BOOL T9_;
					NI j;
					NI T12_;
					tyObject_Table__XC01wkRgzAyOjTiapde7hQ* T17_;
					tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg T18_;
					tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg T19_;
					tySequence__5PunAJrNQYcB8dF0jau3pQ* T20_;
					T9_ = (NIM_BOOL)0;
					T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(eh);
					if (!T9_) goto LA10_;
					T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
					j = (NI)(eh & T12_);
					{
						while (1) {
							NIM_BOOL T15_;
							NI T16_;
							T15_ = (NIM_BOOL)0;
							T15_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables((*t).data->data[j].Field0);
							if (!T15_) goto LA14;
							T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
							j = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(j, T16_);
						} LA14: ;
					}
					T17_ = (tyObject_Table__XC01wkRgzAyOjTiapde7hQ*)0;
					T17_ = t;
					nimZeroMem((void*)(&T18_), sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg));
					T18_.keyword = n->data[i].Field1.keyword;
					T18_.link = n->data[i].Field1.link;
					T18_.linkTitle = n->data[i].Field1.linkTitle;
					T18_.linkDesc = n->data[i].Field1.linkDesc;
					unsureAsgnRef((void**)&n->data[i].Field1.keyword, NIM_NIL);
					unsureAsgnRef((void**)&n->data[i].Field1.link, NIM_NIL);
					unsureAsgnRef((void**)&n->data[i].Field1.linkTitle, NIM_NIL);
					unsureAsgnRef((void**)&n->data[i].Field1.linkDesc, NIM_NIL);
					nimZeroMem((void*)(&T19_), sizeof(tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg));
					T19_.keyword = T18_.keyword;
					T19_.link = T18_.link;
					T19_.linkTitle = T18_.linkTitle;
					T19_.linkDesc = T18_.linkDesc;
					T20_ = (tySequence__5PunAJrNQYcB8dF0jau3pQ*)0;
					T20_ = n->data[i].Field2;
					asgnRef((void**) (&n->data[i].Field2), NIM_NIL);
					rawInsert__5biQFmkRUjJPNto9cNutA9bw(T17_, (&(*t).data), T19_, T20_, eh, j);
				}
				LA10_: ;
				res += ((NI) 1);
			} LA6: ;
		}
	}
}
static N_INLINE(NI, rawGetKnownHC__Y4x6AL1DTZHSh9bv7PGnpCwtables)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ t, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg key, NI hc) {
	NI result;
	NI h;
	NI T6_;
{	result = (NI)0;
	{
		NI T3_;
		T3_ = (t.data ? t.data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		result = ((NI) -1);
		goto BeforeRet_;
	}
	LA4_: ;
	T6_ = ((t.data ? t.data->Sup.len : 0)-1);
	h = (NI)(hc & T6_);
	{
		while (1) {
			NIM_BOOL T9_;
			NI T16_;
			T9_ = (NIM_BOOL)0;
			T9_ = isFilled__5Qpmu5QqwDY0esVXn6wf7wtables(t.data->data[h].Field0);
			if (!T9_) goto LA8;
			{
				NIM_BOOL T12_;
				T12_ = (NIM_BOOL)0;
				T12_ = (t.data->data[h].Field0 == hc);
				if (!(T12_)) goto LA13_;
				T12_ = eqeq___Z149cxs9a8jIB6voh7d344JA(t.data->data[h].Field1, key);
				LA13_: ;
				if (!T12_) goto LA14_;
				result = h;
				goto BeforeRet_;
			}
			LA14_: ;
			T16_ = ((t.data ? t.data->Sup.len : 0)-1);
			h = nextTry__rkF6R1GhqjFh3qSAPaT2Cwtables(h, T16_);
		} LA8: ;
	}
	result = (NI)(((NI) -1) - h);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___7WMJi0xLR1wauzIPHncLMA)(tyObject_Table__XC01wkRgzAyOjTiapde7hQ* t, tyObject_IndexEntry__G9ccBDFWfr9aYnLgXTNGDHDg key, tySequence__5PunAJrNQYcB8dF0jau3pQ* val) {
	NI hc;
	NI index;
	{
		NI T3_;
		NI correctSizeX60gensym90_;
		T3_ = ((*t).data ? (*t).data->Sup.len : 0);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		correctSizeX60gensym90_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
		(*t).counter = ((NI) 0);
		unsureAsgnRef((void**) (&(*t).data), (tySequence__wAC0kXbVGkLoWP8vdi0sUw*) newSeq((&NTI__wAC0kXbVGkLoWP8vdi0sUw_), ((NI) (correctSizeX60gensym90_))));
	}
	LA4_: ;
	hc = (NI)0;
	index = rawGet__amoK2sCC6NAXbAYzoteO2wtables((*t), key, (&hc));
	{
		if (!(((NI) 0) <= index)) goto LA8_;
		genericSeqAssign((&(*t).data->data[index].Field2), val, (&NTI__5PunAJrNQYcB8dF0jau3pQ_));
	}
	goto LA6_;
	LA8_: ;
	{
		tyObject_Table__XC01wkRgzAyOjTiapde7hQ* T21_;
		{
			NI T13_;
			NI correctSizeX60gensym93_;
			T13_ = ((*t).data ? (*t).data->Sup.len : 0);
			if (!(T13_ == ((NI) 0))) goto LA14_;
			correctSizeX60gensym93_ = slotsNeeded__FcRgKUN9amY9amPIUGFlJjUgtables(((NI) 32));
			(*t).counter = ((NI) 0);
			unsureAsgnRef((void**) (&(*t).data), (tySequence__wAC0kXbVGkLoWP8vdi0sUw*) newSeq((&NTI__wAC0kXbVGkLoWP8vdi0sUw_), ((NI) (correctSizeX60gensym93_))));
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			T18_ = (NIM_BOOL)0;
			T18_ = mustRehash__Ry9aK9baQ3oNuMKsH9cMgz9bAAtables((*t));
			if (!T18_) goto LA19_;
			enlarge__bYy9bKTH7krTyVnrGJtBKbg(t);
			index = rawGetKnownHC__Y4x6AL1DTZHSh9bv7PGnpCwtables((*t), key, hc);
		}
		LA19_: ;
		index = (NI)(((NI) -1) - index);
		T21_ = (tyObject_Table__XC01wkRgzAyOjTiapde7hQ*)0;
		T21_ = t;
		rawInsert__5biQFmkRUjJPNto9cNutA9bw(T21_, (&(*t).data), key, val, hc, index);
		(*t).counter += ((NI) 1);
	}
	LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__50xJ7TGtI328TXv3REGRrw)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t) {
	NI result;
	result = (NI)0;
	result = (*t).counter;
	return result;
}
static N_INLINE(NIM_BOOL, isEmpty__5Qpmu5QqwDY0esVXn6wf7w_2tables)(NI hcode) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (hcode == ((NI) 0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, del__Dq59cjM9a0kzkpKdLycHH9bvQ)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	NI hc;
	NI i;
	NI mskX60gensym36_;
	NI T1_;
	hc = (NI)0;
	i = rawGet__KAHxhNAZHXtj35YPlFp3CQtables((*t), key, (&hc));
	T1_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
	mskX60gensym36_ = T1_;
	{
		if (!(((NI) 0) <= i)) goto LA4_;
		(*t).counter -= ((NI) 1);
		{
			{
				while (1) {
					NI jX60gensym36_;
					NI rX60gensym36_;
					jX60gensym36_ = i;
					rX60gensym36_ = jX60gensym36_;
					(*t).data->data[i].Field0 = ((NI) 0);
					nimZeroMem((void*)(&(*t).data->data[i].Field1), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					nimZeroMem((void*)(&(*t).data->data[i].Field2), sizeof(tyObject_ProfileInfo__le1imru0p6WwvUctTtOlIw));
					{
						while (1) {
							i = (NI)((NI)(i + ((NI) 1)) & mskX60gensym36_);
							{
								NIM_BOOL T13_;
								T13_ = (NIM_BOOL)0;
								T13_ = isEmpty__5Qpmu5QqwDY0esVXn6wf7w_2tables((*t).data->data[i].Field0);
								if (!T13_) goto LA14_;
								goto LA6;
							}
							LA14_: ;
							rX60gensym36_ = (NI)((*t).data->data[i].Field0 & mskX60gensym36_);
							{
								NIM_BOOL T18_;
								NIM_BOOL T19_;
								NIM_BOOL T20_;
								NIM_BOOL T23_;
								NIM_BOOL T26_;
								T18_ = (NIM_BOOL)0;
								T19_ = (NIM_BOOL)0;
								T20_ = (NIM_BOOL)0;
								T20_ = (rX60gensym36_ <= i);
								if (!(T20_)) goto LA21_;
								T20_ = (jX60gensym36_ < rX60gensym36_);
								LA21_: ;
								T19_ = T20_;
								if (T19_) goto LA22_;
								T23_ = (NIM_BOOL)0;
								T23_ = (jX60gensym36_ < rX60gensym36_);
								if (!(T23_)) goto LA24_;
								T23_ = (i < jX60gensym36_);
								LA24_: ;
								T19_ = T23_;
								LA22_: ;
								T18_ = T19_;
								if (T18_) goto LA25_;
								T26_ = (NIM_BOOL)0;
								T26_ = (i < jX60gensym36_);
								if (!(T26_)) goto LA27_;
								T26_ = (rX60gensym36_ <= i);
								LA27_: ;
								T18_ = T26_;
								LA25_: ;
								if (!!(T18_)) goto LA28_;
								goto LA9;
							}
							LA28_: ;
						}
					} LA9: ;
					(*t).data->data[jX60gensym36_] = (*t).data->data[i];
					nimZeroMem((void*)(&(*t).data->data[i]), sizeof(tyTuple__ucLo1ofiZatslecSftPI2A));
				}
			}
		} LA6: ;
	}
	LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, del__7dWwjjpYys1PrTSD9bCrMqA)(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
	del__Dq59cjM9a0kzkpKdLycHH9bvQ(t, key);
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_tablesDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_8_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_9_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_10_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_11_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_12_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_13_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_14_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_15_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_16_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_17_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_18_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_19_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_20_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_21_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_25_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_27_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_28_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_29_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_30_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_31_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_32_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_33_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_34_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_35_4[4];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_36_4[4];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_37_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_38_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_39_2[2];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_40_3[3];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_41_4[4];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_42_4[4];
static TNimNode* TM__4SoG2KRQy3oMm9aUzSLtGrA_43_3[3];
static TNimNode TM__4SoG2KRQy3oMm9aUzSLtGrA_0[149];

/* section: NIM_merge_TYPE_INIT3 */
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.size = sizeof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g);
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.align = NIM_ALIGNOF(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g);
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.kind = 18;
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.base = 0;
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[1].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[2].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[3].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_2_3[0];
NTI__aGv2fk9ceddvdC01ZJC2Q2g_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[0];
NTI__9chP3SzkaldXzawWQCDsqqg_.size = sizeof(tySequence__9chP3SzkaldXzawWQCDsqqg*);
NTI__9chP3SzkaldXzawWQCDsqqg_.align = NIM_ALIGNOF(tySequence__9chP3SzkaldXzawWQCDsqqg*);
NTI__9chP3SzkaldXzawWQCDsqqg_.kind = 24;
NTI__9chP3SzkaldXzawWQCDsqqg_.base = (&NTI__aGv2fk9ceddvdC01ZJC2Q2g_);
NTI__9chP3SzkaldXzawWQCDsqqg_.flags = 2;
NTI__9chP3SzkaldXzawWQCDsqqg_.marker = Marker_tySequence__9chP3SzkaldXzawWQCDsqqg;
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.size = sizeof(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA);
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.align = NIM_ALIGNOF(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA);
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.kind = 18;
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.base = 0;
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5];
NTI__xYhUhS7X82rKTqbT9bRfCnw_.size = sizeof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw);
NTI__xYhUhS7X82rKTqbT9bRfCnw_.align = NIM_ALIGNOF(tyTuple__xYhUhS7X82rKTqbT9bRfCnw);
NTI__xYhUhS7X82rKTqbT9bRfCnw_.kind = 18;
NTI__xYhUhS7X82rKTqbT9bRfCnw_.base = 0;
NTI__xYhUhS7X82rKTqbT9bRfCnw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].offset = offsetof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[7].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].offset = offsetof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[8].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].offset = offsetof(tyTuple__xYhUhS7X82rKTqbT9bRfCnw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[9].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_4_3[0];
NTI__xYhUhS7X82rKTqbT9bRfCnw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[6];
NTI__7lEisrXlQEzwtUKW5pzRCw_.size = sizeof(tySequence__7lEisrXlQEzwtUKW5pzRCw*);
NTI__7lEisrXlQEzwtUKW5pzRCw_.align = NIM_ALIGNOF(tySequence__7lEisrXlQEzwtUKW5pzRCw*);
NTI__7lEisrXlQEzwtUKW5pzRCw_.kind = 24;
NTI__7lEisrXlQEzwtUKW5pzRCw_.base = (&NTI__xYhUhS7X82rKTqbT9bRfCnw_);
NTI__7lEisrXlQEzwtUKW5pzRCw_.flags = 2;
NTI__7lEisrXlQEzwtUKW5pzRCw_.marker = Marker_tySequence__7lEisrXlQEzwtUKW5pzRCw;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].offset = offsetof(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].typ = (&NTI__7lEisrXlQEzwtUKW5pzRCw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[5].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].offset = offsetof(tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[10].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_3_2[0];
NTI__Ab4q9c36aMR4mtkEOIBzdzA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[4];
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.size = sizeof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q);
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.align = NIM_ALIGNOF(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q);
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.kind = 18;
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.base = 0;
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12];
NTI__ucLo1ofiZatslecSftPI2A_.size = sizeof(tyTuple__ucLo1ofiZatslecSftPI2A);
NTI__ucLo1ofiZatslecSftPI2A_.align = NIM_ALIGNOF(tyTuple__ucLo1ofiZatslecSftPI2A);
NTI__ucLo1ofiZatslecSftPI2A_.kind = 18;
NTI__ucLo1ofiZatslecSftPI2A_.base = 0;
NTI__ucLo1ofiZatslecSftPI2A_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].offset = offsetof(tyTuple__ucLo1ofiZatslecSftPI2A, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[14].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].offset = offsetof(tyTuple__ucLo1ofiZatslecSftPI2A, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].typ = (&NTI__WGx4rAexNXnczy1Avn646Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[15].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].offset = offsetof(tyTuple__ucLo1ofiZatslecSftPI2A, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].typ = (&NTI__le1imru0p6WwvUctTtOlIw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[16].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_6_3[0];
NTI__ucLo1ofiZatslecSftPI2A_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[13];
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.size = sizeof(tySequence__TXIV9cpS1nTKZLiCib9cPT4g*);
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.align = NIM_ALIGNOF(tySequence__TXIV9cpS1nTKZLiCib9cPT4g*);
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.kind = 24;
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.base = (&NTI__ucLo1ofiZatslecSftPI2A_);
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.flags = 2;
NTI__TXIV9cpS1nTKZLiCib9cPT4g_.marker = Marker_tySequence__TXIV9cpS1nTKZLiCib9cPT4g;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].offset = offsetof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].typ = (&NTI__TXIV9cpS1nTKZLiCib9cPT4g_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[12].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].offset = offsetof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[17].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_5_2[0];
NTI__l6AB9cIrSdEYtCGu5YO9b61Q_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[11];
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.size = sizeof(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*);
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.align = NIM_ALIGNOF(tyObject_Table__l6AB9cIrSdEYtCGu5YO9b61Q*);
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.kind = 22;
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.base = (&NTI__l6AB9cIrSdEYtCGu5YO9b61Q_);
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.flags = 2;
NTI__c9cu1Wn3L8QykVYwvBtxVTQ_.marker = Marker_tyRef__c9cu1Wn3L8QykVYwvBtxVTQ;
NTI__fdKWDDO1P17zvuQPReVgRA_.size = sizeof(tyObject_Table__fdKWDDO1P17zvuQPReVgRA);
NTI__fdKWDDO1P17zvuQPReVgRA_.align = NIM_ALIGNOF(tyObject_Table__fdKWDDO1P17zvuQPReVgRA);
NTI__fdKWDDO1P17zvuQPReVgRA_.kind = 18;
NTI__fdKWDDO1P17zvuQPReVgRA_.base = 0;
NTI__fdKWDDO1P17zvuQPReVgRA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_8_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19];
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.size = sizeof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q);
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.align = NIM_ALIGNOF(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q);
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.kind = 18;
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.base = 0;
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_9_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].offset = offsetof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[21].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_9_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].offset = offsetof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[22].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_9_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].offset = offsetof(tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].typ = (&NTI__48JTohSgTy339bRxHzUD8KA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[23].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_9_3[0];
NTI__1mtQ8sCEE7DbfIuQciv9b5Q_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[20];
NTI__fdmz6VkIf1ewwrssKYqRFg_.size = sizeof(tySequence__fdmz6VkIf1ewwrssKYqRFg*);
NTI__fdmz6VkIf1ewwrssKYqRFg_.align = NIM_ALIGNOF(tySequence__fdmz6VkIf1ewwrssKYqRFg*);
NTI__fdmz6VkIf1ewwrssKYqRFg_.kind = 24;
NTI__fdmz6VkIf1ewwrssKYqRFg_.base = (&NTI__1mtQ8sCEE7DbfIuQciv9b5Q_);
NTI__fdmz6VkIf1ewwrssKYqRFg_.flags = 2;
NTI__fdmz6VkIf1ewwrssKYqRFg_.marker = Marker_tySequence__fdmz6VkIf1ewwrssKYqRFg;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].offset = offsetof(tyObject_Table__fdKWDDO1P17zvuQPReVgRA, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].typ = (&NTI__fdmz6VkIf1ewwrssKYqRFg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[19].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_8_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].offset = offsetof(tyObject_Table__fdKWDDO1P17zvuQPReVgRA, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[24].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_8_2[0];
NTI__fdKWDDO1P17zvuQPReVgRA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[18];
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.size = sizeof(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ);
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.align = NIM_ALIGNOF(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ);
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.kind = 18;
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.base = 0;
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_10_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26];
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.size = sizeof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ);
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.align = NIM_ALIGNOF(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ);
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.kind = 18;
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.base = 0;
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_11_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].offset = offsetof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[28].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_11_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].offset = offsetof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[29].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_11_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].offset = offsetof(tyTuple__xDU9bZmv1ZbZkJDaATBekIQ, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].typ = (&NTI__sVg18TP9cLifHyygRe9cro9aA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[30].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_11_3[0];
NTI__xDU9bZmv1ZbZkJDaATBekIQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[27];
NTI__kxu4GK0onha2t9bo86mdVAg_.size = sizeof(tySequence__kxu4GK0onha2t9bo86mdVAg*);
NTI__kxu4GK0onha2t9bo86mdVAg_.align = NIM_ALIGNOF(tySequence__kxu4GK0onha2t9bo86mdVAg*);
NTI__kxu4GK0onha2t9bo86mdVAg_.kind = 24;
NTI__kxu4GK0onha2t9bo86mdVAg_.base = (&NTI__xDU9bZmv1ZbZkJDaATBekIQ_);
NTI__kxu4GK0onha2t9bo86mdVAg_.flags = 2;
NTI__kxu4GK0onha2t9bo86mdVAg_.marker = Marker_tySequence__kxu4GK0onha2t9bo86mdVAg;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].offset = offsetof(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].typ = (&NTI__kxu4GK0onha2t9bo86mdVAg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[26].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_10_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].offset = offsetof(tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[31].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_10_2[0];
NTI__e2Ciu0s1q49aVQ7ULXy7l9bQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[25];
NTI__IioUJGdqPI6xC7S7QF8MBw_.size = sizeof(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw);
NTI__IioUJGdqPI6xC7S7QF8MBw_.align = NIM_ALIGNOF(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw);
NTI__IioUJGdqPI6xC7S7QF8MBw_.kind = 18;
NTI__IioUJGdqPI6xC7S7QF8MBw_.base = 0;
NTI__IioUJGdqPI6xC7S7QF8MBw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_12_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33];
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.size = sizeof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g);
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.align = NIM_ALIGNOF(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g);
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.kind = 18;
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.base = 0;
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_13_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].offset = offsetof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[35].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_13_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].offset = offsetof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].typ = (&NTI__qtqsWM5aXmcpMIVmvq3kAA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[36].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_13_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].offset = offsetof(tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].typ = (&NTI__AgIT5feFR9a9aoVjv9cx2rOtg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[37].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_13_3[0];
NTI__EkGTYRWQ6y9cppXTlT8Xm5g_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[34];
NTI__Qr6E8eH7btq79cFKGaJfGLw_.size = sizeof(tySequence__Qr6E8eH7btq79cFKGaJfGLw*);
NTI__Qr6E8eH7btq79cFKGaJfGLw_.align = NIM_ALIGNOF(tySequence__Qr6E8eH7btq79cFKGaJfGLw*);
NTI__Qr6E8eH7btq79cFKGaJfGLw_.kind = 24;
NTI__Qr6E8eH7btq79cFKGaJfGLw_.base = (&NTI__EkGTYRWQ6y9cppXTlT8Xm5g_);
NTI__Qr6E8eH7btq79cFKGaJfGLw_.flags = 2;
NTI__Qr6E8eH7btq79cFKGaJfGLw_.marker = Marker_tySequence__Qr6E8eH7btq79cFKGaJfGLw;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].offset = offsetof(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].typ = (&NTI__Qr6E8eH7btq79cFKGaJfGLw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[33].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_12_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].offset = offsetof(tyObject_Table__IioUJGdqPI6xC7S7QF8MBw, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[38].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_12_2[0];
NTI__IioUJGdqPI6xC7S7QF8MBw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[32];
NTI__G1v8c16HePOldLeucwe05Q_.size = sizeof(tyObject_Table__G1v8c16HePOldLeucwe05Q);
NTI__G1v8c16HePOldLeucwe05Q_.align = NIM_ALIGNOF(tyObject_Table__G1v8c16HePOldLeucwe05Q);
NTI__G1v8c16HePOldLeucwe05Q_.kind = 18;
NTI__G1v8c16HePOldLeucwe05Q_.base = 0;
NTI__G1v8c16HePOldLeucwe05Q_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_14_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40];
NTI__OJFzEczluV8Jmo9bRpBfkzw_.size = sizeof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw);
NTI__OJFzEczluV8Jmo9bRpBfkzw_.align = NIM_ALIGNOF(tyTuple__OJFzEczluV8Jmo9bRpBfkzw);
NTI__OJFzEczluV8Jmo9bRpBfkzw_.kind = 18;
NTI__OJFzEczluV8Jmo9bRpBfkzw_.base = 0;
NTI__OJFzEczluV8Jmo9bRpBfkzw_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_15_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].offset = offsetof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[42].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_15_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].offset = offsetof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[43].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_15_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].offset = offsetof(tyTuple__OJFzEczluV8Jmo9bRpBfkzw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].typ = (&NTI__qtqsWM5aXmcpMIVmvq3kAA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[44].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_15_3[0];
NTI__OJFzEczluV8Jmo9bRpBfkzw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[41];
NTI__fIB1rTQ55aFonoft9a9bmljQ_.size = sizeof(tySequence__fIB1rTQ55aFonoft9a9bmljQ*);
NTI__fIB1rTQ55aFonoft9a9bmljQ_.align = NIM_ALIGNOF(tySequence__fIB1rTQ55aFonoft9a9bmljQ*);
NTI__fIB1rTQ55aFonoft9a9bmljQ_.kind = 24;
NTI__fIB1rTQ55aFonoft9a9bmljQ_.base = (&NTI__OJFzEczluV8Jmo9bRpBfkzw_);
NTI__fIB1rTQ55aFonoft9a9bmljQ_.flags = 2;
NTI__fIB1rTQ55aFonoft9a9bmljQ_.marker = Marker_tySequence__fIB1rTQ55aFonoft9a9bmljQ;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].offset = offsetof(tyObject_Table__G1v8c16HePOldLeucwe05Q, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].typ = (&NTI__fIB1rTQ55aFonoft9a9bmljQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[40].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_14_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].offset = offsetof(tyObject_Table__G1v8c16HePOldLeucwe05Q, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[45].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_14_2[0];
NTI__G1v8c16HePOldLeucwe05Q_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[39];
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.size = sizeof(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA);
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.align = NIM_ALIGNOF(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA);
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.kind = 18;
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.base = 0;
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_16_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47];
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.size = sizeof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw);
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.align = NIM_ALIGNOF(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw);
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.kind = 18;
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.base = 0;
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_17_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].offset = offsetof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[49].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_17_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].offset = offsetof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[50].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_17_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].offset = offsetof(tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].typ = (&NTI__fKfcLzXYiz5jNu3NH3Tv8Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[51].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_17_3[0];
NTI__2SGm9aGCXuo7XSQ9bqD29axXw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[48];
NTI__23SMqauuRsbDANhthj9bWlA_.size = sizeof(tySequence__23SMqauuRsbDANhthj9bWlA*);
NTI__23SMqauuRsbDANhthj9bWlA_.align = NIM_ALIGNOF(tySequence__23SMqauuRsbDANhthj9bWlA*);
NTI__23SMqauuRsbDANhthj9bWlA_.kind = 24;
NTI__23SMqauuRsbDANhthj9bWlA_.base = (&NTI__2SGm9aGCXuo7XSQ9bqD29axXw_);
NTI__23SMqauuRsbDANhthj9bWlA_.flags = 2;
NTI__23SMqauuRsbDANhthj9bWlA_.marker = Marker_tySequence__23SMqauuRsbDANhthj9bWlA;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].offset = offsetof(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].typ = (&NTI__23SMqauuRsbDANhthj9bWlA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[47].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_16_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].offset = offsetof(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[52].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_16_2[0];
NTI__0Y2brGGKD9bV6GJLXT9aUDgA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[46];
NTI__NttoEzoiq5CiphZe81oadg_.size = sizeof(tyObject_Table__NttoEzoiq5CiphZe81oadg);
NTI__NttoEzoiq5CiphZe81oadg_.align = NIM_ALIGNOF(tyObject_Table__NttoEzoiq5CiphZe81oadg);
NTI__NttoEzoiq5CiphZe81oadg_.kind = 18;
NTI__NttoEzoiq5CiphZe81oadg_.base = 0;
NTI__NttoEzoiq5CiphZe81oadg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_18_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54];
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.size = sizeof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg);
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.align = NIM_ALIGNOF(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg);
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.kind = 18;
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.base = 0;
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_19_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].offset = offsetof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[56].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_19_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].offset = offsetof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[57].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_19_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].offset = offsetof(tyTuple__F3gkSrMB1qp2Tvf9bixVXwg, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].typ = (&NTI__Aav8dQoMlCFnZRxA0IhTHQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[58].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_19_3[0];
NTI__F3gkSrMB1qp2Tvf9bixVXwg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[55];
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.size = sizeof(tySequence__squ9b9bUH4OLHf6cEMrt6hVA*);
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.align = NIM_ALIGNOF(tySequence__squ9b9bUH4OLHf6cEMrt6hVA*);
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.kind = 24;
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.base = (&NTI__F3gkSrMB1qp2Tvf9bixVXwg_);
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.flags = 2;
NTI__squ9b9bUH4OLHf6cEMrt6hVA_.marker = Marker_tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].offset = offsetof(tyObject_Table__NttoEzoiq5CiphZe81oadg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].typ = (&NTI__squ9b9bUH4OLHf6cEMrt6hVA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[54].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_18_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].offset = offsetof(tyObject_Table__NttoEzoiq5CiphZe81oadg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[59].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_18_2[0];
NTI__NttoEzoiq5CiphZe81oadg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[53];
NTI__nagDFX4QHx0s6Fvma9blmSg_.size = sizeof(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg);
NTI__nagDFX4QHx0s6Fvma9blmSg_.align = NIM_ALIGNOF(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg);
NTI__nagDFX4QHx0s6Fvma9blmSg_.kind = 18;
NTI__nagDFX4QHx0s6Fvma9blmSg_.base = 0;
NTI__nagDFX4QHx0s6Fvma9blmSg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_20_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61];
NTI__wcNatyuf8WOqAhGLhSvgiw_.size = sizeof(tyTuple__wcNatyuf8WOqAhGLhSvgiw);
NTI__wcNatyuf8WOqAhGLhSvgiw_.align = NIM_ALIGNOF(tyTuple__wcNatyuf8WOqAhGLhSvgiw);
NTI__wcNatyuf8WOqAhGLhSvgiw_.kind = 18;
NTI__wcNatyuf8WOqAhGLhSvgiw_.base = 0;
NTI__wcNatyuf8WOqAhGLhSvgiw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_21_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].offset = offsetof(tyTuple__wcNatyuf8WOqAhGLhSvgiw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[63].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_21_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].offset = offsetof(tyTuple__wcNatyuf8WOqAhGLhSvgiw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[64].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_21_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].offset = offsetof(tyTuple__wcNatyuf8WOqAhGLhSvgiw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].typ = (&NTI__VZdzO0Tlflp7WMN4gS8oPg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[65].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_21_3[0];
NTI__wcNatyuf8WOqAhGLhSvgiw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[62];
NTI__pHNq3oXj9av2sEUdqaqeZjw_.size = sizeof(tySequence__pHNq3oXj9av2sEUdqaqeZjw*);
NTI__pHNq3oXj9av2sEUdqaqeZjw_.align = NIM_ALIGNOF(tySequence__pHNq3oXj9av2sEUdqaqeZjw*);
NTI__pHNq3oXj9av2sEUdqaqeZjw_.kind = 24;
NTI__pHNq3oXj9av2sEUdqaqeZjw_.base = (&NTI__wcNatyuf8WOqAhGLhSvgiw_);
NTI__pHNq3oXj9av2sEUdqaqeZjw_.flags = 2;
NTI__pHNq3oXj9av2sEUdqaqeZjw_.marker = Marker_tySequence__pHNq3oXj9av2sEUdqaqeZjw;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].offset = offsetof(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].typ = (&NTI__pHNq3oXj9av2sEUdqaqeZjw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[61].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_20_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].offset = offsetof(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[66].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_20_2[0];
NTI__nagDFX4QHx0s6Fvma9blmSg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[60];
NTI__YGgHblKlCINajXDZno8UTQ_.size = sizeof(tyTuple__YGgHblKlCINajXDZno8UTQ);
NTI__YGgHblKlCINajXDZno8UTQ_.align = NIM_ALIGNOF(tyTuple__YGgHblKlCINajXDZno8UTQ);
NTI__YGgHblKlCINajXDZno8UTQ_.kind = 18;
NTI__YGgHblKlCINajXDZno8UTQ_.base = 0;
NTI__YGgHblKlCINajXDZno8UTQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].offset = offsetof(tyTuple__YGgHblKlCINajXDZno8UTQ, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[68].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].offset = offsetof(tyTuple__YGgHblKlCINajXDZno8UTQ, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[69].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].offset = offsetof(tyTuple__YGgHblKlCINajXDZno8UTQ, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].typ = (&NTI__AgIT5feFR9a9aoVjv9cx2rOtg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[70].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_22_3[0];
NTI__YGgHblKlCINajXDZno8UTQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[67];
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.size = sizeof(tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*);
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.align = NIM_ALIGNOF(tySequence__hLW2w9a9bDM1AHB8BIrU3BYw*);
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.kind = 24;
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.base = (&NTI__YGgHblKlCINajXDZno8UTQ_);
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.flags = 2;
NTI__hLW2w9a9bDM1AHB8BIrU3BYw_.marker = Marker_tySequence__hLW2w9a9bDM1AHB8BIrU3BYw;
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.size = sizeof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw);
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.align = NIM_ALIGNOF(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw);
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.kind = 18;
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.base = 0;
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].offset = offsetof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[72].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].offset = offsetof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[73].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].offset = offsetof(tyTuple__Wymbvuvlf49clEgp9bKoFN9bw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].typ = (&NTI__fKfcLzXYiz5jNu3NH3Tv8Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[74].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_23_3[0];
NTI__Wymbvuvlf49clEgp9bKoFN9bw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[71];
NTI__YuKuU17u5ApAIki23DK9bJw_.size = sizeof(tySequence__YuKuU17u5ApAIki23DK9bJw*);
NTI__YuKuU17u5ApAIki23DK9bJw_.align = NIM_ALIGNOF(tySequence__YuKuU17u5ApAIki23DK9bJw*);
NTI__YuKuU17u5ApAIki23DK9bJw_.kind = 24;
NTI__YuKuU17u5ApAIki23DK9bJw_.base = (&NTI__Wymbvuvlf49clEgp9bKoFN9bw_);
NTI__YuKuU17u5ApAIki23DK9bJw_.flags = 2;
NTI__YuKuU17u5ApAIki23DK9bJw_.marker = Marker_tySequence__YuKuU17u5ApAIki23DK9bJw;
NTI__ImmlCByLdDIzmbcHsV583w_.size = sizeof(tyTuple__ImmlCByLdDIzmbcHsV583w);
NTI__ImmlCByLdDIzmbcHsV583w_.align = NIM_ALIGNOF(tyTuple__ImmlCByLdDIzmbcHsV583w);
NTI__ImmlCByLdDIzmbcHsV583w_.kind = 18;
NTI__ImmlCByLdDIzmbcHsV583w_.base = 0;
NTI__ImmlCByLdDIzmbcHsV583w_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].offset = offsetof(tyTuple__ImmlCByLdDIzmbcHsV583w, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[76].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].offset = offsetof(tyTuple__ImmlCByLdDIzmbcHsV583w, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[77].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].offset = offsetof(tyTuple__ImmlCByLdDIzmbcHsV583w, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].typ = (&NTI__K9bspPztfoWajecnwjyHuYQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[78].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_24_3[0];
NTI__ImmlCByLdDIzmbcHsV583w_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[75];
NTI__ZySnRyYriVjDpNDRyzJyGg_.size = sizeof(tySequence__ZySnRyYriVjDpNDRyzJyGg*);
NTI__ZySnRyYriVjDpNDRyzJyGg_.align = NIM_ALIGNOF(tySequence__ZySnRyYriVjDpNDRyzJyGg*);
NTI__ZySnRyYriVjDpNDRyzJyGg_.kind = 24;
NTI__ZySnRyYriVjDpNDRyzJyGg_.base = (&NTI__ImmlCByLdDIzmbcHsV583w_);
NTI__ZySnRyYriVjDpNDRyzJyGg_.flags = 2;
NTI__ZySnRyYriVjDpNDRyzJyGg_.marker = Marker_tySequence__ZySnRyYriVjDpNDRyzJyGg;
NTI__8jHm6IGDGecciKpp2bTNxA_.size = sizeof(tyTuple__8jHm6IGDGecciKpp2bTNxA);
NTI__8jHm6IGDGecciKpp2bTNxA_.align = NIM_ALIGNOF(tyTuple__8jHm6IGDGecciKpp2bTNxA);
NTI__8jHm6IGDGecciKpp2bTNxA_.kind = 18;
NTI__8jHm6IGDGecciKpp2bTNxA_.base = 0;
NTI__8jHm6IGDGecciKpp2bTNxA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_25_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[80];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[80].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[80].offset = offsetof(tyTuple__8jHm6IGDGecciKpp2bTNxA, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[80].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[80].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_25_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[81];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[81].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[81].offset = offsetof(tyTuple__8jHm6IGDGecciKpp2bTNxA, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[81].typ = (&NTI__Aav8dQoMlCFnZRxA0IhTHQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[81].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_25_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[82];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[82].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[82].offset = offsetof(tyTuple__8jHm6IGDGecciKpp2bTNxA, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[82].typ = (&NTI__fKfcLzXYiz5jNu3NH3Tv8Q_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[82].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[79].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[79].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[79].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_25_3[0];
NTI__8jHm6IGDGecciKpp2bTNxA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[79];
NTI__s12F9c4cKfaapm8VzG9a1flQ_.size = sizeof(tySequence__s12F9c4cKfaapm8VzG9a1flQ*);
NTI__s12F9c4cKfaapm8VzG9a1flQ_.align = NIM_ALIGNOF(tySequence__s12F9c4cKfaapm8VzG9a1flQ*);
NTI__s12F9c4cKfaapm8VzG9a1flQ_.kind = 24;
NTI__s12F9c4cKfaapm8VzG9a1flQ_.base = (&NTI__8jHm6IGDGecciKpp2bTNxA_);
NTI__s12F9c4cKfaapm8VzG9a1flQ_.flags = 2;
NTI__s12F9c4cKfaapm8VzG9a1flQ_.marker = Marker_tySequence__s12F9c4cKfaapm8VzG9a1flQ;
NTI__gZ3EYQdz9coOB7ngN9a1cqwA_.size = sizeof(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA);
NTI__gZ3EYQdz9coOB7ngN9a1cqwA_.align = NIM_ALIGNOF(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA);
NTI__gZ3EYQdz9coOB7ngN9a1cqwA_.kind = 18;
NTI__gZ3EYQdz9coOB7ngN9a1cqwA_.base = 0;
NTI__gZ3EYQdz9coOB7ngN9a1cqwA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_27_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[84];
NTI__wROVfG5RQYpjEAhvO3LqdQ_.size = sizeof(tyTuple__wROVfG5RQYpjEAhvO3LqdQ);
NTI__wROVfG5RQYpjEAhvO3LqdQ_.align = NIM_ALIGNOF(tyTuple__wROVfG5RQYpjEAhvO3LqdQ);
NTI__wROVfG5RQYpjEAhvO3LqdQ_.kind = 18;
NTI__wROVfG5RQYpjEAhvO3LqdQ_.base = 0;
NTI__wROVfG5RQYpjEAhvO3LqdQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_28_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[86];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[86].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[86].offset = offsetof(tyTuple__wROVfG5RQYpjEAhvO3LqdQ, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[86].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[86].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_28_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[87];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[87].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[87].offset = offsetof(tyTuple__wROVfG5RQYpjEAhvO3LqdQ, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[87].typ = (&NTI__qtqsWM5aXmcpMIVmvq3kAA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[87].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_28_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[88];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[88].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[88].offset = offsetof(tyTuple__wROVfG5RQYpjEAhvO3LqdQ, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[88].typ = (&NTI__4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[88].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[85].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[85].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[85].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_28_3[0];
NTI__wROVfG5RQYpjEAhvO3LqdQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[85];
NTI__sII3pVVRkIdBZ2HDPdZddA_.size = sizeof(tySequence__sII3pVVRkIdBZ2HDPdZddA*);
NTI__sII3pVVRkIdBZ2HDPdZddA_.align = NIM_ALIGNOF(tySequence__sII3pVVRkIdBZ2HDPdZddA*);
NTI__sII3pVVRkIdBZ2HDPdZddA_.kind = 24;
NTI__sII3pVVRkIdBZ2HDPdZddA_.base = (&NTI__wROVfG5RQYpjEAhvO3LqdQ_);
NTI__sII3pVVRkIdBZ2HDPdZddA_.flags = 2;
NTI__sII3pVVRkIdBZ2HDPdZddA_.marker = Marker_tySequence__sII3pVVRkIdBZ2HDPdZddA;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[84].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[84].offset = offsetof(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[84].typ = (&NTI__sII3pVVRkIdBZ2HDPdZddA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[84].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_27_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[89];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[89].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[89].offset = offsetof(tyObject_Table__gZ3EYQdz9coOB7ngN9a1cqwA, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[89].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[89].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[83].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[83].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[83].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_27_2[0];
NTI__gZ3EYQdz9coOB7ngN9a1cqwA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[83];
NTI__chlLjy9bvnFM9b9bSZfiIkyGg_.size = sizeof(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg);
NTI__chlLjy9bvnFM9b9bSZfiIkyGg_.align = NIM_ALIGNOF(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg);
NTI__chlLjy9bvnFM9b9bSZfiIkyGg_.kind = 18;
NTI__chlLjy9bvnFM9b9bSZfiIkyGg_.base = 0;
NTI__chlLjy9bvnFM9b9bSZfiIkyGg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_29_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[91];
NTI__XOVT24GHXwqiEj5GCsEGCA_.size = sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA);
NTI__XOVT24GHXwqiEj5GCsEGCA_.align = NIM_ALIGNOF(tyTuple__XOVT24GHXwqiEj5GCsEGCA);
NTI__XOVT24GHXwqiEj5GCsEGCA_.kind = 18;
NTI__XOVT24GHXwqiEj5GCsEGCA_.base = 0;
NTI__XOVT24GHXwqiEj5GCsEGCA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_30_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[93];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[93].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[93].offset = offsetof(tyTuple__XOVT24GHXwqiEj5GCsEGCA, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[93].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[93].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_30_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[94];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[94].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[94].offset = offsetof(tyTuple__XOVT24GHXwqiEj5GCsEGCA, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[94].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[94].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[92].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[92].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[92].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_30_2[0];
NTI__XOVT24GHXwqiEj5GCsEGCA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[92];
NTI__jwzrUFjG9akTIJTBBFvvqxw_.size = sizeof(tySequence__jwzrUFjG9akTIJTBBFvvqxw*);
NTI__jwzrUFjG9akTIJTBBFvvqxw_.align = NIM_ALIGNOF(tySequence__jwzrUFjG9akTIJTBBFvvqxw*);
NTI__jwzrUFjG9akTIJTBBFvvqxw_.kind = 24;
NTI__jwzrUFjG9akTIJTBBFvvqxw_.base = (&NTI__XOVT24GHXwqiEj5GCsEGCA_);
NTI__jwzrUFjG9akTIJTBBFvvqxw_.flags = 2;
NTI__jwzrUFjG9akTIJTBBFvvqxw_.marker = Marker_tySequence__jwzrUFjG9akTIJTBBFvvqxw;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[91].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[91].offset = offsetof(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[91].typ = (&NTI__jwzrUFjG9akTIJTBBFvvqxw_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[91].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_29_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[95];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[95].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[95].offset = offsetof(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[95].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[95].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_29_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[96];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[96].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[96].offset = offsetof(tyObject_CountTable__chlLjy9bvnFM9b9bSZfiIkyGg, isSorted);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[96].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[96].name = "isSorted";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[90].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[90].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[90].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_29_3[0];
NTI__chlLjy9bvnFM9b9bSZfiIkyGg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[90];
NTI__tUMxxU9cRgLolsrW9b7IBGsQ_.size = sizeof(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ);
NTI__tUMxxU9cRgLolsrW9b7IBGsQ_.align = NIM_ALIGNOF(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ);
NTI__tUMxxU9cRgLolsrW9b7IBGsQ_.kind = 18;
NTI__tUMxxU9cRgLolsrW9b7IBGsQ_.base = 0;
NTI__tUMxxU9cRgLolsrW9b7IBGsQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_31_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[98];
NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_.size = sizeof(tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg);
NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_.align = NIM_ALIGNOF(tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg);
NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_.kind = 18;
NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_.base = 0;
NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_.flags = 3;
TM__4SoG2KRQy3oMm9aUzSLtGrA_32_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[100];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[100].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[100].offset = offsetof(tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[100].typ = (&NTI__qtqsWM5aXmcpMIVmvq3kAA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[100].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_32_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[101];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[101].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[101].offset = offsetof(tyTuple__tA7Q8IrfOKH7Mn89cK9cBAIg, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[101].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[101].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[99].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[99].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[99].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_32_2[0];
NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[99];
NTI__XUL1TrMU0tgXmaMFCIYgFQ_.size = sizeof(tySequence__XUL1TrMU0tgXmaMFCIYgFQ*);
NTI__XUL1TrMU0tgXmaMFCIYgFQ_.align = NIM_ALIGNOF(tySequence__XUL1TrMU0tgXmaMFCIYgFQ*);
NTI__XUL1TrMU0tgXmaMFCIYgFQ_.kind = 24;
NTI__XUL1TrMU0tgXmaMFCIYgFQ_.base = (&NTI__tA7Q8IrfOKH7Mn89cK9cBAIg_);
NTI__XUL1TrMU0tgXmaMFCIYgFQ_.flags = 2;
NTI__XUL1TrMU0tgXmaMFCIYgFQ_.marker = Marker_tySequence__XUL1TrMU0tgXmaMFCIYgFQ;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[98].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[98].offset = offsetof(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[98].typ = (&NTI__XUL1TrMU0tgXmaMFCIYgFQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[98].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_31_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[102];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[102].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[102].offset = offsetof(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[102].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[102].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_31_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[103];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[103].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[103].offset = offsetof(tyObject_CountTable__tUMxxU9cRgLolsrW9b7IBGsQ, isSorted);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[103].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[103].name = "isSorted";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[97].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[97].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[97].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_31_3[0];
NTI__tUMxxU9cRgLolsrW9b7IBGsQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[97];
NTI__6nOsw5R7jH72bux7HSST9bg_.size = sizeof(tyObject_Table__6nOsw5R7jH72bux7HSST9bg);
NTI__6nOsw5R7jH72bux7HSST9bg_.align = NIM_ALIGNOF(tyObject_Table__6nOsw5R7jH72bux7HSST9bg);
NTI__6nOsw5R7jH72bux7HSST9bg_.kind = 18;
NTI__6nOsw5R7jH72bux7HSST9bg_.base = 0;
NTI__6nOsw5R7jH72bux7HSST9bg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_33_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[105];
NTI__4keOEuB8uAwYehpErwqI9ag_.size = sizeof(tyTuple__4keOEuB8uAwYehpErwqI9ag);
NTI__4keOEuB8uAwYehpErwqI9ag_.align = NIM_ALIGNOF(tyTuple__4keOEuB8uAwYehpErwqI9ag);
NTI__4keOEuB8uAwYehpErwqI9ag_.kind = 18;
NTI__4keOEuB8uAwYehpErwqI9ag_.base = 0;
NTI__4keOEuB8uAwYehpErwqI9ag_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_34_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[107];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[107].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[107].offset = offsetof(tyTuple__4keOEuB8uAwYehpErwqI9ag, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[107].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[107].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_34_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[108];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[108].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[108].offset = offsetof(tyTuple__4keOEuB8uAwYehpErwqI9ag, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[108].typ = (&NTI__qtqsWM5aXmcpMIVmvq3kAA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[108].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_34_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[109];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[109].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[109].offset = offsetof(tyTuple__4keOEuB8uAwYehpErwqI9ag, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[109].typ = (&NTI__Iz0jrTw3w7v6sMzjrqs0nA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[109].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[106].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[106].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[106].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_34_3[0];
NTI__4keOEuB8uAwYehpErwqI9ag_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[106];
NTI__diqJJ1bWuFP7M6rQDS9cBLQ_.size = sizeof(tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*);
NTI__diqJJ1bWuFP7M6rQDS9cBLQ_.align = NIM_ALIGNOF(tySequence__diqJJ1bWuFP7M6rQDS9cBLQ*);
NTI__diqJJ1bWuFP7M6rQDS9cBLQ_.kind = 24;
NTI__diqJJ1bWuFP7M6rQDS9cBLQ_.base = (&NTI__4keOEuB8uAwYehpErwqI9ag_);
NTI__diqJJ1bWuFP7M6rQDS9cBLQ_.flags = 2;
NTI__diqJJ1bWuFP7M6rQDS9cBLQ_.marker = Marker_tySequence__diqJJ1bWuFP7M6rQDS9cBLQ;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[105].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[105].offset = offsetof(tyObject_Table__6nOsw5R7jH72bux7HSST9bg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[105].typ = (&NTI__diqJJ1bWuFP7M6rQDS9cBLQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[105].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_33_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[110];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[110].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[110].offset = offsetof(tyObject_Table__6nOsw5R7jH72bux7HSST9bg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[110].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[110].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[104].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[104].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[104].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_33_2[0];
NTI__6nOsw5R7jH72bux7HSST9bg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[104];
NTI__ZZvSdVkA2s2sIyifu4cpkg_.size = sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg);
NTI__ZZvSdVkA2s2sIyifu4cpkg_.align = NIM_ALIGNOF(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg);
NTI__ZZvSdVkA2s2sIyifu4cpkg_.kind = 18;
NTI__ZZvSdVkA2s2sIyifu4cpkg_.base = 0;
NTI__ZZvSdVkA2s2sIyifu4cpkg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_35_4[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[112];
NTI__awOivLjlO76sGdHY7nQUjQ_.size = sizeof(tyTuple__awOivLjlO76sGdHY7nQUjQ);
NTI__awOivLjlO76sGdHY7nQUjQ_.align = NIM_ALIGNOF(tyTuple__awOivLjlO76sGdHY7nQUjQ);
NTI__awOivLjlO76sGdHY7nQUjQ_.kind = 18;
NTI__awOivLjlO76sGdHY7nQUjQ_.base = 0;
NTI__awOivLjlO76sGdHY7nQUjQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_36_4[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[114];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[114].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[114].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[114].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[114].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_36_4[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[115];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[115].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[115].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[115].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[115].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_36_4[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[116];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[116].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[116].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[116].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[116].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_36_4[3] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[117];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[117].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[117].offset = offsetof(tyTuple__awOivLjlO76sGdHY7nQUjQ, Field3);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[117].typ = (&NTI__zfzzuQ8txrdZAYK0WGWpHg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[117].name = "Field3";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[113].len = 4; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[113].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[113].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_36_4[0];
NTI__awOivLjlO76sGdHY7nQUjQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[113];
NTI__MlAD6nAPq9bHKla9cWiIZP0g_.size = sizeof(tySequence__MlAD6nAPq9bHKla9cWiIZP0g*);
NTI__MlAD6nAPq9bHKla9cWiIZP0g_.align = NIM_ALIGNOF(tySequence__MlAD6nAPq9bHKla9cWiIZP0g*);
NTI__MlAD6nAPq9bHKla9cWiIZP0g_.kind = 24;
NTI__MlAD6nAPq9bHKla9cWiIZP0g_.base = (&NTI__awOivLjlO76sGdHY7nQUjQ_);
NTI__MlAD6nAPq9bHKla9cWiIZP0g_.flags = 2;
NTI__MlAD6nAPq9bHKla9cWiIZP0g_.marker = Marker_tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[112].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[112].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[112].typ = (&NTI__MlAD6nAPq9bHKla9cWiIZP0g_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[112].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_35_4[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[118];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[118].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[118].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[118].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[118].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_35_4[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[119];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[119].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[119].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, first);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[119].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[119].name = "first";
TM__4SoG2KRQy3oMm9aUzSLtGrA_35_4[3] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[120];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[120].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[120].offset = offsetof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg, last);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[120].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[120].name = "last";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[111].len = 4; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[111].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[111].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_35_4[0];
NTI__ZZvSdVkA2s2sIyifu4cpkg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[111];
NTI__i55W8RrwGKsG9cl0sAKxgkQ_.size = sizeof(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ);
NTI__i55W8RrwGKsG9cl0sAKxgkQ_.align = NIM_ALIGNOF(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ);
NTI__i55W8RrwGKsG9cl0sAKxgkQ_.kind = 18;
NTI__i55W8RrwGKsG9cl0sAKxgkQ_.base = 0;
NTI__i55W8RrwGKsG9cl0sAKxgkQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_37_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[122];
NTI__sr3s7uVHpu9cEbbDnCSg8yQ_.size = sizeof(tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ);
NTI__sr3s7uVHpu9cEbbDnCSg8yQ_.align = NIM_ALIGNOF(tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ);
NTI__sr3s7uVHpu9cEbbDnCSg8yQ_.kind = 18;
NTI__sr3s7uVHpu9cEbbDnCSg8yQ_.base = 0;
NTI__sr3s7uVHpu9cEbbDnCSg8yQ_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_38_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[124];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[124].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[124].offset = offsetof(tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[124].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[124].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_38_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[125];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[125].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[125].offset = offsetof(tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[125].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[125].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_38_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[126];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[126].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[126].offset = offsetof(tyTuple__sr3s7uVHpu9cEbbDnCSg8yQ, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[126].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[126].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[123].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[123].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[123].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_38_3[0];
NTI__sr3s7uVHpu9cEbbDnCSg8yQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[123];
NTI__pUxI6Ljo6IKKHXKOZkQ7Og_.size = sizeof(tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*);
NTI__pUxI6Ljo6IKKHXKOZkQ7Og_.align = NIM_ALIGNOF(tySequence__pUxI6Ljo6IKKHXKOZkQ7Og*);
NTI__pUxI6Ljo6IKKHXKOZkQ7Og_.kind = 24;
NTI__pUxI6Ljo6IKKHXKOZkQ7Og_.base = (&NTI__sr3s7uVHpu9cEbbDnCSg8yQ_);
NTI__pUxI6Ljo6IKKHXKOZkQ7Og_.flags = 2;
NTI__pUxI6Ljo6IKKHXKOZkQ7Og_.marker = Marker_tySequence__pUxI6Ljo6IKKHXKOZkQ7Og;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[122].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[122].offset = offsetof(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[122].typ = (&NTI__pUxI6Ljo6IKKHXKOZkQ7Og_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[122].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_37_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[127];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[127].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[127].offset = offsetof(tyObject_Table__i55W8RrwGKsG9cl0sAKxgkQ, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[127].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[127].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[121].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[121].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[121].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_37_2[0];
NTI__i55W8RrwGKsG9cl0sAKxgkQ_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[121];
NTI__9bHTqygodsMdJIfIXO86mVg_.size = sizeof(tyObject_Table__9bHTqygodsMdJIfIXO86mVg);
NTI__9bHTqygodsMdJIfIXO86mVg_.align = NIM_ALIGNOF(tyObject_Table__9bHTqygodsMdJIfIXO86mVg);
NTI__9bHTqygodsMdJIfIXO86mVg_.kind = 18;
NTI__9bHTqygodsMdJIfIXO86mVg_.base = 0;
NTI__9bHTqygodsMdJIfIXO86mVg_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_39_2[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[129];
NTI__a1MVSYzFHR69aYce0XHk20g_.size = sizeof(tyTuple__a1MVSYzFHR69aYce0XHk20g);
NTI__a1MVSYzFHR69aYce0XHk20g_.align = NIM_ALIGNOF(tyTuple__a1MVSYzFHR69aYce0XHk20g);
NTI__a1MVSYzFHR69aYce0XHk20g_.kind = 18;
NTI__a1MVSYzFHR69aYce0XHk20g_.base = 0;
NTI__a1MVSYzFHR69aYce0XHk20g_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_40_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[131];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[131].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[131].offset = offsetof(tyTuple__a1MVSYzFHR69aYce0XHk20g, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[131].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[131].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_40_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[132];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[132].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[132].offset = offsetof(tyTuple__a1MVSYzFHR69aYce0XHk20g, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[132].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[132].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_40_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[133];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[133].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[133].offset = offsetof(tyTuple__a1MVSYzFHR69aYce0XHk20g, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[133].typ = (&NTI__4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[133].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[130].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[130].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[130].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_40_3[0];
NTI__a1MVSYzFHR69aYce0XHk20g_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[130];
NTI__Pi9a31vXpln9bINd05AMU7KQ_.size = sizeof(tySequence__Pi9a31vXpln9bINd05AMU7KQ*);
NTI__Pi9a31vXpln9bINd05AMU7KQ_.align = NIM_ALIGNOF(tySequence__Pi9a31vXpln9bINd05AMU7KQ*);
NTI__Pi9a31vXpln9bINd05AMU7KQ_.kind = 24;
NTI__Pi9a31vXpln9bINd05AMU7KQ_.base = (&NTI__a1MVSYzFHR69aYce0XHk20g_);
NTI__Pi9a31vXpln9bINd05AMU7KQ_.flags = 2;
NTI__Pi9a31vXpln9bINd05AMU7KQ_.marker = Marker_tySequence__Pi9a31vXpln9bINd05AMU7KQ;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[129].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[129].offset = offsetof(tyObject_Table__9bHTqygodsMdJIfIXO86mVg, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[129].typ = (&NTI__Pi9a31vXpln9bINd05AMU7KQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[129].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_39_2[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[134];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[134].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[134].offset = offsetof(tyObject_Table__9bHTqygodsMdJIfIXO86mVg, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[134].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[134].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[128].len = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[128].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[128].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_39_2[0];
NTI__9bHTqygodsMdJIfIXO86mVg_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[128];
NTI__82OdS5RTON4FvDz04E3cFw_.size = sizeof(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw);
NTI__82OdS5RTON4FvDz04E3cFw_.align = NIM_ALIGNOF(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw);
NTI__82OdS5RTON4FvDz04E3cFw_.kind = 18;
NTI__82OdS5RTON4FvDz04E3cFw_.base = 0;
NTI__82OdS5RTON4FvDz04E3cFw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_41_4[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[136];
NTI__FK7aTjjzjZq5t6qUNlGUDA_.size = sizeof(tyTuple__FK7aTjjzjZq5t6qUNlGUDA);
NTI__FK7aTjjzjZq5t6qUNlGUDA_.align = NIM_ALIGNOF(tyTuple__FK7aTjjzjZq5t6qUNlGUDA);
NTI__FK7aTjjzjZq5t6qUNlGUDA_.kind = 18;
NTI__FK7aTjjzjZq5t6qUNlGUDA_.base = 0;
NTI__FK7aTjjzjZq5t6qUNlGUDA_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_42_4[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[138];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[138].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[138].offset = offsetof(tyTuple__FK7aTjjzjZq5t6qUNlGUDA, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[138].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[138].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_42_4[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[139];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[139].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[139].offset = offsetof(tyTuple__FK7aTjjzjZq5t6qUNlGUDA, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[139].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[139].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_42_4[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[140];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[140].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[140].offset = offsetof(tyTuple__FK7aTjjzjZq5t6qUNlGUDA, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[140].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[140].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_42_4[3] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[141];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[141].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[141].offset = offsetof(tyTuple__FK7aTjjzjZq5t6qUNlGUDA, Field3);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[141].typ = (&NTI__12SjKZyLpJKBYPLZVcoGLA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[141].name = "Field3";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[137].len = 4; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[137].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[137].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_42_4[0];
NTI__FK7aTjjzjZq5t6qUNlGUDA_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[137];
NTI__n1XPc9anZlEQHQuS14lnGwg_.size = sizeof(tySequence__n1XPc9anZlEQHQuS14lnGwg*);
NTI__n1XPc9anZlEQHQuS14lnGwg_.align = NIM_ALIGNOF(tySequence__n1XPc9anZlEQHQuS14lnGwg*);
NTI__n1XPc9anZlEQHQuS14lnGwg_.kind = 24;
NTI__n1XPc9anZlEQHQuS14lnGwg_.base = (&NTI__FK7aTjjzjZq5t6qUNlGUDA_);
NTI__n1XPc9anZlEQHQuS14lnGwg_.flags = 2;
NTI__n1XPc9anZlEQHQuS14lnGwg_.marker = Marker_tySequence__n1XPc9anZlEQHQuS14lnGwg;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[136].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[136].offset = offsetof(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw, data);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[136].typ = (&NTI__n1XPc9anZlEQHQuS14lnGwg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[136].name = "data";
TM__4SoG2KRQy3oMm9aUzSLtGrA_41_4[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[142];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[142].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[142].offset = offsetof(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw, counter);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[142].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[142].name = "counter";
TM__4SoG2KRQy3oMm9aUzSLtGrA_41_4[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[143];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[143].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[143].offset = offsetof(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw, first);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[143].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[143].name = "first";
TM__4SoG2KRQy3oMm9aUzSLtGrA_41_4[3] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[144];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[144].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[144].offset = offsetof(tyObject_OrderedTable__82OdS5RTON4FvDz04E3cFw, last);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[144].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[144].name = "last";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[135].len = 4; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[135].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[135].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_41_4[0];
NTI__82OdS5RTON4FvDz04E3cFw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[135];
NTI__A9cRoiotm9actU8lLMnN9bYcw_.size = sizeof(tyTuple__A9cRoiotm9actU8lLMnN9bYcw);
NTI__A9cRoiotm9actU8lLMnN9bYcw_.align = NIM_ALIGNOF(tyTuple__A9cRoiotm9actU8lLMnN9bYcw);
NTI__A9cRoiotm9actU8lLMnN9bYcw_.kind = 18;
NTI__A9cRoiotm9actU8lLMnN9bYcw_.base = 0;
NTI__A9cRoiotm9actU8lLMnN9bYcw_.flags = 2;
TM__4SoG2KRQy3oMm9aUzSLtGrA_43_3[0] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[146];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[146].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[146].offset = offsetof(tyTuple__A9cRoiotm9actU8lLMnN9bYcw, Field0);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[146].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[146].name = "Field0";
TM__4SoG2KRQy3oMm9aUzSLtGrA_43_3[1] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[147];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[147].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[147].offset = offsetof(tyTuple__A9cRoiotm9actU8lLMnN9bYcw, Field1);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[147].typ = (&NTI__G9ccBDFWfr9aYnLgXTNGDHDg_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[147].name = "Field1";
TM__4SoG2KRQy3oMm9aUzSLtGrA_43_3[2] = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[148];
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[148].kind = 1;
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[148].offset = offsetof(tyTuple__A9cRoiotm9actU8lLMnN9bYcw, Field2);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[148].typ = (&NTI__5PunAJrNQYcB8dF0jau3pQ_);
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[148].name = "Field2";
TM__4SoG2KRQy3oMm9aUzSLtGrA_0[145].len = 3; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[145].kind = 2; TM__4SoG2KRQy3oMm9aUzSLtGrA_0[145].sons = &TM__4SoG2KRQy3oMm9aUzSLtGrA_43_3[0];
NTI__A9cRoiotm9actU8lLMnN9bYcw_.node = &TM__4SoG2KRQy3oMm9aUzSLtGrA_0[145];
NTI__wAC0kXbVGkLoWP8vdi0sUw_.size = sizeof(tySequence__wAC0kXbVGkLoWP8vdi0sUw*);
NTI__wAC0kXbVGkLoWP8vdi0sUw_.align = NIM_ALIGNOF(tySequence__wAC0kXbVGkLoWP8vdi0sUw*);
NTI__wAC0kXbVGkLoWP8vdi0sUw_.kind = 24;
NTI__wAC0kXbVGkLoWP8vdi0sUw_.base = (&NTI__A9cRoiotm9actU8lLMnN9bYcw_);
NTI__wAC0kXbVGkLoWP8vdi0sUw_.flags = 2;
NTI__wAC0kXbVGkLoWP8vdi0sUw_.marker = Marker_tySequence__wAC0kXbVGkLoWP8vdi0sUw;
}

